[{"data":1,"prerenderedAt":86},["ShallowReactive",2],{"docs:\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Components.GameData.GameDataSourceDescriptor":3},{"kind":4,"title":5,"namespace":6,"namespaceUrl":7,"trail":8,"typeKind":14,"availability":15,"signature":18,"displaySignature":19,"signatureHtml":20,"documentation":21,"documented":22,"bases":23,"inheritedMembers":24,"members":25,"release":83,"section":85},"type","GameDataSourceDescriptor","Unbroken.LaunchBox.Plugins.Components.GameData","\u002Fplugins\u002Fnamespaces\u002FUnbroken.LaunchBox.Plugins.Components.GameData",[9,12],{"title":10,"url":11},"Components","\u002Fplugins\u002Fnamespaces\u002FUnbroken.LaunchBox.Plugins.Components",{"title":13,"url":7},"GameData","Class",{"firstSeen":16,"isBaseline":17,"declarationFirstSeen":16},"14.1",false,"public sealed class Unbroken.LaunchBox.Plugins.Components.GameData.GameDataSourceDescriptor","public sealed class GameDataSourceDescriptor","\u003Cpre class=\"shiki dark-plus\" style=\"background-color:#1E1E1E;color:#D4D4D4\" tabindex=\"0\" aria-label=\"C# code\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#569CD6\">public\u003C\u002Fspan>\u003Cspan style=\"color:#569CD6\"> sealed\u003C\u002Fspan>\u003Cspan style=\"color:#569CD6\"> class\u003C\u002Fspan>\u003Cspan style=\"color:#4EC9B0\"> \u003C\u002Fspan>\u003Cspan title=\"Unbroken.LaunchBox.Plugins.Components.GameData.GameDataSourceDescriptor\">\u003Cspan style=\"color:#4EC9B0\">GameDataSourceDescriptor\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","\n            \u003Cdiv class=\"api-summary\">Names a logical source; replacement implementations must preserve its game ID conventions.\u003C\u002Fdiv>\n        ",true,[],[],[26,36,47,56,65,74],{"availability":27,"id":28,"name":5,"label":5,"kind":29,"summary":30,"signature":31,"displaySignature":32,"signatureHtml":33,"anchor":34,"documentation":35,"documented":22},{"firstSeen":16,"isBaseline":17,"declarationFirstSeen":16},"M:Unbroken.LaunchBox.Plugins.Components.GameData.GameDataSourceDescriptor.#ctor(System.String,Unbroken.LaunchBox.Plugins.Models.Localization.PluginText)","Constructor","Creates source metadata without performing I\u002FO.","public GameDataSourceDescriptor(string sourceId, Unbroken.LaunchBox.Plugins.Models.Localization.PluginText displayName)","public GameDataSourceDescriptor(string sourceId, PluginText displayName)","\u003Cpre class=\"shiki dark-plus\" style=\"background-color:#1E1E1E;color:#D4D4D4\" tabindex=\"0\" aria-label=\"C# code\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#569CD6\">public\u003C\u002Fspan>\u003Cspan style=\"color:#DCDCAA\"> GameDataSourceDescriptor\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">(\u003C\u002Fspan>\u003Cspan style=\"color:#569CD6\">string\u003C\u002Fspan>\u003Cspan style=\"color:#9CDCFE\"> sourceId\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">, \u003C\u002Fspan>\u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Models.Localization.PluginText\" title=\"Unbroken.LaunchBox.Plugins.Models.Localization.PluginText\">\u003Cspan style=\"color:#9CDCFE\">PluginText\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#9CDCFE\"> displayName\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">)\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","member-1a1d6731a39caa80cc34","\n            \u003Cdiv class=\"api-summary\">Creates source metadata without performing I\u002FO.\u003C\u002Fdiv>\n            \u003Cdl>\u003Cdt class=\"version-row\">\u003Cspan>\u003Ccode>sourceId\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Fdt>\u003Cdd>Canonical lowercase ID, at most 128 ASCII letters, digits, dots, underscores, or hyphens; starts with a letter or digit.\u003C\u002Fdd>\u003C\u002Fdl>\n            \u003Cdl>\u003Cdt class=\"version-row\">\u003Cspan>\u003Ccode>displayName\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Fdt>\u003Cdd>Plugin-owned translatable name.\u003C\u002Fdd>\u003C\u002Fdl>\n        ",{"availability":37,"id":38,"name":39,"label":39,"kind":40,"summary":41,"signature":42,"displaySignature":43,"signatureHtml":44,"anchor":45,"documentation":46,"documented":22},{"firstSeen":16,"isBaseline":17,"declarationFirstSeen":16},"P:Unbroken.LaunchBox.Plugins.Components.GameData.GameDataSourceDescriptor.DisplayName","DisplayName","Property","Gets the translatable name.","public Unbroken.LaunchBox.Plugins.Models.Localization.PluginText DisplayName { get; }","public PluginText DisplayName { get; }","\u003Cpre class=\"shiki dark-plus\" style=\"background-color:#1E1E1E;color:#D4D4D4\" tabindex=\"0\" aria-label=\"C# code\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#569CD6\">public\u003C\u002Fspan>\u003Cspan style=\"color:#9CDCFE\"> \u003C\u002Fspan>\u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Models.Localization.PluginText\" title=\"Unbroken.LaunchBox.Plugins.Models.Localization.PluginText\">\u003Cspan style=\"color:#9CDCFE\">PluginText\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#9CDCFE\"> DisplayName\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\"> { \u003C\u002Fspan>\u003Cspan style=\"color:#9CDCFE\">get\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">; }\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","member-2eda6ba3d6200cbcdcc9","\n            \u003Cdiv class=\"api-summary\">Gets the translatable name.\u003C\u002Fdiv>\n        ",{"availability":48,"id":49,"name":50,"label":50,"kind":40,"summary":51,"signature":52,"displaySignature":52,"signatureHtml":53,"anchor":54,"documentation":55,"documented":22},{"firstSeen":16,"isBaseline":17,"declarationFirstSeen":16},"P:Unbroken.LaunchBox.Plugins.Components.GameData.GameDataSourceDescriptor.GameIdNamespace","GameIdNamespace","Gets or initializes the namespace whose external identifier values are also this source's local game IDs.","public string? GameIdNamespace { get; init; }","\u003Cpre class=\"shiki dark-plus\" style=\"background-color:#1E1E1E;color:#D4D4D4\" tabindex=\"0\" aria-label=\"C# code\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#569CD6\">public\u003C\u002Fspan>\u003Cspan style=\"color:#569CD6\"> string\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">? \u003C\u002Fspan>\u003Cspan style=\"color:#9CDCFE\">GameIdNamespace\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\"> { \u003C\u002Fspan>\u003Cspan style=\"color:#9CDCFE\">get\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">; \u003C\u002Fspan>\u003Cspan style=\"color:#9CDCFE\">init\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">; }\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","member-cffc86f697eb3c3ebbd1","\n            \u003Cdiv class=\"api-summary\">Gets or initializes the namespace whose external identifier values are also this source&#39;s local game IDs.\u003C\u002Fdiv>\n            \u003Ch4>Remarks\u003C\u002Fh4>\n            Optional; omission preserves the conventional storefront.&lt;source ID&gt; association. Namespaces are compared ordinally.\n            LaunchBox supplies storefront identities as storefront.&lt;logical storefront ID&gt;, and Games Database IDs as gamesdb.\n            Storefront import uses this source&#39;s metadata and media capabilities only when the resolved namespace matches\n            storefront.&lt;IStorefrontProvider.StorefrontId&gt;. Set this property explicitly when SourceId differs from StorefrontId\n            and the source accepts that storefront&#39;s game IDs. Other namespaces are not called with storefront-local IDs.\n            Declaring a namespace enables exact ID-based retrieval without title matching; it does not assign library ownership.\n            \n        ",{"availability":57,"id":58,"name":59,"label":59,"kind":40,"summary":60,"signature":61,"displaySignature":61,"signatureHtml":62,"anchor":63,"documentation":64,"documented":22},{"firstSeen":16,"isBaseline":17,"declarationFirstSeen":16},"P:Unbroken.LaunchBox.Plugins.Components.GameData.GameDataSourceDescriptor.IconResourceId","IconResourceId","Gets or initializes an optional package image resource ID.","public string? IconResourceId { get; init; }","\u003Cpre class=\"shiki dark-plus\" style=\"background-color:#1E1E1E;color:#D4D4D4\" tabindex=\"0\" aria-label=\"C# code\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#569CD6\">public\u003C\u002Fspan>\u003Cspan style=\"color:#569CD6\"> string\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">? \u003C\u002Fspan>\u003Cspan style=\"color:#9CDCFE\">IconResourceId\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\"> { \u003C\u002Fspan>\u003Cspan style=\"color:#9CDCFE\">get\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">; \u003C\u002Fspan>\u003Cspan style=\"color:#9CDCFE\">init\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">; }\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","member-607d6f367c3391cd97c9","\n            \u003Cdiv class=\"api-summary\">Gets or initializes an optional package image resource ID.\u003C\u002Fdiv>\n        ",{"availability":66,"id":67,"name":68,"label":68,"kind":40,"summary":69,"signature":70,"displaySignature":70,"signatureHtml":71,"anchor":72,"documentation":73,"documented":22},{"firstSeen":16,"isBaseline":17,"declarationFirstSeen":16},"P:Unbroken.LaunchBox.Plugins.Components.GameData.GameDataSourceDescriptor.MaximumBatchSize","MaximumBatchSize","Gets or initializes the maximum game IDs requested in one metadata or media callback. Defaults to 100; the host may use smaller batches.","public int MaximumBatchSize { get; init; }","\u003Cpre class=\"shiki dark-plus\" style=\"background-color:#1E1E1E;color:#D4D4D4\" tabindex=\"0\" aria-label=\"C# code\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#569CD6\">public\u003C\u002Fspan>\u003Cspan style=\"color:#569CD6\"> int\u003C\u002Fspan>\u003Cspan style=\"color:#9CDCFE\"> MaximumBatchSize\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\"> { \u003C\u002Fspan>\u003Cspan style=\"color:#9CDCFE\">get\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">; \u003C\u002Fspan>\u003Cspan style=\"color:#9CDCFE\">init\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">; }\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","member-b8334ef3beaf3973b2fc","\n            \u003Cdiv class=\"api-summary\">Gets or initializes the maximum game IDs requested in one metadata or media callback. Defaults to 100; the host may use smaller batches.\u003C\u002Fdiv>\n            \u003Ch4>Remarks\u003C\u002Fh4>Use 1 for a service that retrieves one game at a time so each callback remains within the host timeout. Must be positive.\n        ",{"availability":75,"id":76,"name":77,"label":77,"kind":40,"summary":78,"signature":79,"displaySignature":79,"signatureHtml":80,"anchor":81,"documentation":82,"documented":22},{"firstSeen":16,"isBaseline":17,"declarationFirstSeen":16},"P:Unbroken.LaunchBox.Plugins.Components.GameData.GameDataSourceDescriptor.SourceId","SourceId","Gets the implementation-independent source ID.","public string SourceId { get; }","\u003Cpre class=\"shiki dark-plus\" style=\"background-color:#1E1E1E;color:#D4D4D4\" tabindex=\"0\" aria-label=\"C# code\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#569CD6\">public\u003C\u002Fspan>\u003Cspan style=\"color:#569CD6\"> string\u003C\u002Fspan>\u003Cspan style=\"color:#9CDCFE\"> SourceId\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\"> { \u003C\u002Fspan>\u003Cspan style=\"color:#9CDCFE\">get\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">; }\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","member-45f7ebdb21708f3be31f","\n            \u003Cdiv class=\"api-summary\">Gets the implementation-independent source ID.\u003C\u002Fdiv>\n            \u003Ch4>Remarks\u003C\u002Fh4>Capabilities sharing this logical source ID must use the same source-local game-ID namespace. A component exposing different game-ID namespaces must distinguish their logical source identities; sharing a component instance alone does not establish interchangeable IDs.\n        ",{"currentRelease":16,"currentReleaseState":84},"stable","plugins",1794763752364]