[{"data":1,"prerenderedAt":60},["ShallowReactive",2],{"docs:\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Services.Profiles.IPlayerProfileManager":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":57,"section":59},"type","IPlayerProfileManager","Unbroken.LaunchBox.Plugins.Services.Profiles","\u002Fplugins\u002Fnamespaces\u002FUnbroken.LaunchBox.Plugins.Services.Profiles",[9,12],{"title":10,"url":11},"Services","\u002Fplugins\u002Fnamespaces\u002FUnbroken.LaunchBox.Plugins.Services",{"title":13,"url":7},"Profiles","Interface",{"firstSeen":16,"isBaseline":17,"declarationFirstSeen":16},"14.1",false,"public interface Unbroken.LaunchBox.Plugins.Services.Profiles.IPlayerProfileManager","public interface IPlayerProfileManager","\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\"> interface\u003C\u002Fspan>\u003Cspan style=\"color:#4EC9B0\"> \u003C\u002Fspan>\u003Cspan title=\"Unbroken.LaunchBox.Plugins.Services.Profiles.IPlayerProfileManager\">\u003Cspan style=\"color:#4EC9B0\">IPlayerProfileManager\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","\n            \u003Cdiv class=\"api-summary\">Provides the configured player&#39;s profile from any installed profile provider, independently of achievement support.\u003C\u002Fdiv>\n            \u003Ch4>Remarks\u003C\u002Fh4>Request this service by declaring a public constructor with an \u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Services.Profiles.IPlayerProfileManager\" title=\"Unbroken.LaunchBox.Plugins.Services.Profiles.IPlayerProfileManager\">IPlayerProfileManager\u003C\u002Fa> parameter and call asynchronously after activation. Reads never sign in, change accounts, or expose credentials or provider instances. Caller cancellation throws \u003Ca href=\"https:\u002F\u002Flearn.microsoft.com\u002Fdotnet\u002Fapi\u002Fsystem.operationcanceledexception\" title=\"System.OperationCanceledException\">OperationCanceledException\u003C\u002Fa>; retrieval problems are reported in results. Recent player activity is separate from the profile.\n        ",true,[],[],[26,37,47],{"availability":27,"id":28,"name":29,"label":29,"kind":30,"summary":31,"signature":32,"displaySignature":33,"signatureHtml":34,"anchor":35,"documentation":36,"documented":22},{"firstSeen":16,"isBaseline":17,"declarationFirstSeen":16},"M:Unbroken.LaunchBox.Plugins.Services.Profiles.IPlayerProfileManager.GetAsync(System.String,System.Threading.CancellationToken)","GetAsync","Method","Reads the configured player's profile, reusing a recent host observation after confirming the selected account.","System.Threading.Tasks.Task\u003CUnbroken.LaunchBox.Plugins.Services.PluginServiceResult\u003CUnbroken.LaunchBox.Plugins.Capabilities.Profiles.PlayerProfile>> GetAsync(string sourceId, System.Threading.CancellationToken cancellationToken)","Task\u003CPluginServiceResult\u003CPlayerProfile>> GetAsync(\n    string sourceId,\n    CancellationToken cancellationToken\n)","\u003Cpre class=\"shiki dark-plus\" style=\"background-color:#1E1E1E;color:#D4D4D4\" tabindex=\"0\" aria-label=\"C# code\">\u003Ccode>\u003Cspan class=\"line\">\u003Ca href=\"https:\u002F\u002Flearn.microsoft.com\u002Fdotnet\u002Fapi\u002Fsystem.threading.tasks.task-1\" title=\"System.Threading.Tasks.Task (Microsoft Learn)\">\u003Cspan style=\"color:#4EC9B0\">Task\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#D4D4D4\">&#x3C;\u003C\u002Fspan>\u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Services.PluginServiceResult-1\" title=\"Unbroken.LaunchBox.Plugins.Services.PluginServiceResult\">\u003Cspan style=\"color:#4EC9B0\">PluginServiceResult\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#D4D4D4\">&#x3C;\u003C\u002Fspan>\u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Capabilities.Profiles.PlayerProfile\" title=\"Unbroken.LaunchBox.Plugins.Capabilities.Profiles.PlayerProfile\">\u003Cspan style=\"color:#4EC9B0\">PlayerProfile\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#D4D4D4\">>> \u003C\u002Fspan>\u003Cspan style=\"color:#DCDCAA\">GetAsync\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">(\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#569CD6\">    string\u003C\u002Fspan>\u003Cspan style=\"color:#9CDCFE\"> sourceId\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#4EC9B0\">    \u003C\u002Fspan>\u003Ca href=\"https:\u002F\u002Flearn.microsoft.com\u002Fdotnet\u002Fapi\u002Fsystem.threading.cancellationtoken\" title=\"System.Threading.CancellationToken (Microsoft Learn)\">\u003Cspan style=\"color:#4EC9B0\">CancellationToken\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#9CDCFE\"> cancellationToken\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#D4D4D4\">)\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","member-bdfff94ef0015a7740a4","\n            \u003Cdiv class=\"api-summary\">Reads the configured player&#39;s profile, reusing a recent host observation after confirming the selected account.\u003C\u002Fdiv>\n            \u003Cdl>\u003Cdt class=\"version-row\">\u003Cspan>\u003Ccode>sourceId\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Fdt>\u003Cdd>The profile source identity.\u003C\u002Fdd>\u003C\u002Fdl>\n            \u003Cdl>\u003Cdt class=\"version-row\">\u003Cspan>\u003Ccode>cancellationToken\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Fdt>\u003Cdd>Cancels retrieval.\u003C\u002Fdd>\u003C\u002Fdl>\n            \u003Ch4>Returns\u003C\u002Fh4>The existing \u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Capabilities.Profiles.PlayerProfile\" title=\"Unbroken.LaunchBox.Plugins.Capabilities.Profiles.PlayerProfile\">PlayerProfile\u003C\u002Fa> payload and explicit retrieval state. Account resolution and an expired cache can require provider requests. Saved data can be returned when the provider is unavailable or retrieval fails for the same confirmed account.\n        ",{"availability":38,"id":39,"name":40,"label":40,"kind":30,"summary":41,"signature":42,"displaySignature":43,"signatureHtml":44,"anchor":45,"documentation":46,"documented":22},{"firstSeen":16,"isBaseline":17,"declarationFirstSeen":16},"M:Unbroken.LaunchBox.Plugins.Services.Profiles.IPlayerProfileManager.GetSourcesAsync(System.Threading.CancellationToken)","GetSourcesAsync","Lists registered profile sources without querying accounts or making network requests.","System.Threading.Tasks.Task\u003CSystem.Collections.Generic.IReadOnlyList\u003CUnbroken.LaunchBox.Plugins.Services.PluginSourceInfo>> GetSourcesAsync(System.Threading.CancellationToken cancellationToken)","Task\u003CIReadOnlyList\u003CPluginSourceInfo>> GetSourcesAsync(\n    CancellationToken cancellationToken\n)","\u003Cpre class=\"shiki dark-plus\" style=\"background-color:#1E1E1E;color:#D4D4D4\" tabindex=\"0\" aria-label=\"C# code\">\u003Ccode>\u003Cspan class=\"line\">\u003Ca href=\"https:\u002F\u002Flearn.microsoft.com\u002Fdotnet\u002Fapi\u002Fsystem.threading.tasks.task-1\" title=\"System.Threading.Tasks.Task (Microsoft Learn)\">\u003Cspan style=\"color:#4EC9B0\">Task\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#D4D4D4\">&#x3C;\u003C\u002Fspan>\u003Ca href=\"https:\u002F\u002Flearn.microsoft.com\u002Fdotnet\u002Fapi\u002Fsystem.collections.generic.ireadonlylist-1\" title=\"System.Collections.Generic.IReadOnlyList (Microsoft Learn)\">\u003Cspan style=\"color:#4EC9B0\">IReadOnlyList\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#D4D4D4\">&#x3C;\u003C\u002Fspan>\u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Services.PluginSourceInfo\" title=\"Unbroken.LaunchBox.Plugins.Services.PluginSourceInfo\">\u003Cspan style=\"color:#4EC9B0\">PluginSourceInfo\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#D4D4D4\">>> \u003C\u002Fspan>\u003Cspan style=\"color:#DCDCAA\">GetSourcesAsync\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">(\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#4EC9B0\">    \u003C\u002Fspan>\u003Ca href=\"https:\u002F\u002Flearn.microsoft.com\u002Fdotnet\u002Fapi\u002Fsystem.threading.cancellationtoken\" title=\"System.Threading.CancellationToken (Microsoft Learn)\">\u003Cspan style=\"color:#4EC9B0\">CancellationToken\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#9CDCFE\"> cancellationToken\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#D4D4D4\">)\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","member-50fd200142dfaf025d54","\n            \u003Cdiv class=\"api-summary\">Lists registered profile sources without querying accounts or making network requests.\u003C\u002Fdiv>\n            \u003Cdl>\u003Cdt class=\"version-row\">\u003Cspan>\u003Ccode>cancellationToken\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Fdt>\u003Cdd>Cancels the operation.\u003C\u002Fdd>\u003C\u002Fdl>\n            \u003Ch4>Returns\u003C\u002Fh4>One entry per source, including disabled or conflicting sources marked unavailable. Removed sources are omitted; saved profiles can still be read by a known source ID.\n        ",{"availability":48,"id":49,"name":50,"label":50,"kind":30,"summary":51,"signature":52,"displaySignature":53,"signatureHtml":54,"anchor":55,"documentation":56,"documented":22},{"firstSeen":16,"isBaseline":17,"declarationFirstSeen":16},"M:Unbroken.LaunchBox.Plugins.Services.Profiles.IPlayerProfileManager.RefreshAsync(System.String,System.Threading.CancellationToken)","RefreshAsync","Refreshes the configured player's profile, bypassing the host's recent observation cache.","System.Threading.Tasks.Task\u003CUnbroken.LaunchBox.Plugins.Services.PluginServiceResult\u003CUnbroken.LaunchBox.Plugins.Capabilities.Profiles.PlayerProfile>> RefreshAsync(string sourceId, System.Threading.CancellationToken cancellationToken)","Task\u003CPluginServiceResult\u003CPlayerProfile>> RefreshAsync(\n    string sourceId,\n    CancellationToken cancellationToken\n)","\u003Cpre class=\"shiki dark-plus\" style=\"background-color:#1E1E1E;color:#D4D4D4\" tabindex=\"0\" aria-label=\"C# code\">\u003Ccode>\u003Cspan class=\"line\">\u003Ca href=\"https:\u002F\u002Flearn.microsoft.com\u002Fdotnet\u002Fapi\u002Fsystem.threading.tasks.task-1\" title=\"System.Threading.Tasks.Task (Microsoft Learn)\">\u003Cspan style=\"color:#4EC9B0\">Task\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#D4D4D4\">&#x3C;\u003C\u002Fspan>\u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Services.PluginServiceResult-1\" title=\"Unbroken.LaunchBox.Plugins.Services.PluginServiceResult\">\u003Cspan style=\"color:#4EC9B0\">PluginServiceResult\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#D4D4D4\">&#x3C;\u003C\u002Fspan>\u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Capabilities.Profiles.PlayerProfile\" title=\"Unbroken.LaunchBox.Plugins.Capabilities.Profiles.PlayerProfile\">\u003Cspan style=\"color:#4EC9B0\">PlayerProfile\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#D4D4D4\">>> \u003C\u002Fspan>\u003Cspan style=\"color:#DCDCAA\">RefreshAsync\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">(\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#569CD6\">    string\u003C\u002Fspan>\u003Cspan style=\"color:#9CDCFE\"> sourceId\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#4EC9B0\">    \u003C\u002Fspan>\u003Ca href=\"https:\u002F\u002Flearn.microsoft.com\u002Fdotnet\u002Fapi\u002Fsystem.threading.cancellationtoken\" title=\"System.Threading.CancellationToken (Microsoft Learn)\">\u003Cspan style=\"color:#4EC9B0\">CancellationToken\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#9CDCFE\"> cancellationToken\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#D4D4D4\">)\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","member-5ae6b7e8b1636d8d2f8b","\n            \u003Cdiv class=\"api-summary\">Refreshes the configured player&#39;s profile, bypassing the host&#39;s recent observation cache.\u003C\u002Fdiv>\n            \u003Cdl>\u003Cdt class=\"version-row\">\u003Cspan>\u003Ccode>sourceId\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Fdt>\u003Cdd>The profile source identity.\u003C\u002Fdd>\u003C\u002Fdl>\n            \u003Cdl>\u003Cdt class=\"version-row\">\u003Cspan>\u003Ccode>cancellationToken\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Fdt>\u003Cdd>Cancels retrieval.\u003C\u002Fdd>\u003C\u002Fdl>\n            \u003Ch4>Returns\u003C\u002Fh4>The refreshed profile or an explicit unavailable, unconfigured, incomplete, or failed result. A confirmed account change retires the previous profile even if fetching the replacement fails.\n        ",{"currentRelease":16,"currentReleaseState":58},"stable","plugins",1794763757996]