[{"data":1,"prerenderedAt":149},["ShallowReactive",2],{"docs:\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Components.Emulators.IEmulatorSaveCapability":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":146,"section":148},"type","IEmulatorSaveCapability","Unbroken.LaunchBox.Plugins.Components.Emulators","\u002Fplugins\u002Fnamespaces\u002FUnbroken.LaunchBox.Plugins.Components.Emulators",[9,12],{"title":10,"url":11},"Components","\u002Fplugins\u002Fnamespaces\u002FUnbroken.LaunchBox.Plugins.Components",{"title":13,"url":7},"Emulators","Interface",{"firstSeen":16,"isBaseline":17,"declarationFirstSeen":16},"14.1",false,"public interface Unbroken.LaunchBox.Plugins.Components.Emulators.IEmulatorSaveCapability","public interface IEmulatorSaveCapability","\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.Components.Emulators.IEmulatorSaveCapability\">\u003Cspan style=\"color:#4EC9B0\">IEmulatorSaveCapability\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","\n            \u003Cdiv class=\"api-summary\">Discovers, adds, removes, groups, and backs up save files owned by an external emulator.\u003C\u002Fdiv>\n        ",true,[],[],[26,37,47,57,67,77,87,96,106,116,126,136],{"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.Components.Emulators.IEmulatorSaveCapability.AddSaveFile(Unbroken.LaunchBox.Plugins.Components.Emulators.EmulatorSaveAddRequest)","AddSaveFile","Method","Adds a save file to the emulator for a game.","Unbroken.LaunchBox.Plugins.Components.Emulators.EmulatorSaveAddResult AddSaveFile(Unbroken.LaunchBox.Plugins.Components.Emulators.EmulatorSaveAddRequest request)","EmulatorSaveAddResult AddSaveFile(EmulatorSaveAddRequest request)","\u003Cpre class=\"shiki dark-plus\" style=\"background-color:#1E1E1E;color:#D4D4D4\" tabindex=\"0\" aria-label=\"C# code\">\u003Ccode>\u003Cspan class=\"line\">\u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Components.Emulators.EmulatorSaveAddResult\" title=\"Unbroken.LaunchBox.Plugins.Components.Emulators.EmulatorSaveAddResult\">\u003Cspan style=\"color:#4EC9B0\">EmulatorSaveAddResult\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#DCDCAA\"> AddSaveFile\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">(\u003C\u002Fspan>\u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Components.Emulators.EmulatorSaveAddRequest\" title=\"Unbroken.LaunchBox.Plugins.Components.Emulators.EmulatorSaveAddRequest\">\u003Cspan style=\"color:#4EC9B0\">EmulatorSaveAddRequest\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#9CDCFE\"> request\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">)\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","member-dd565467f95993563b23","\n            \u003Cdiv class=\"api-summary\">Adds a save file to the emulator for a game.\u003C\u002Fdiv>\n            \u003Ch4>Remarks\u003C\u002Fh4>\n            Before replacing existing save data, call \u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Components.Emulators.EmulatorSaveAddRequest#member-48ac7f212497a85597e6\" title=\"Unbroken.LaunchBox.Plugins.Components.Emulators.EmulatorSaveAddRequest.ShouldReplaceSaveFunc\">EmulatorSaveAddRequest.ShouldReplaceSaveFunc\u003C\u002Fa> with the save that would be\n            replaced, and write nothing when it returns \u003Ccode>false\u003C\u002Fcode>.\n            \n            \u003Cdl>\u003Cdt class=\"version-row\">\u003Cspan>\u003Ccode>request\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Fdt>\u003Cdd>\n            The save to restore, including its source file, target slot, and the emulator file name and core that created it, and the\n            configured emulator in \u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Components.Emulators.EmulatorSaveAddRequest#member-cd4912ebb94506f9c983\" title=\"Unbroken.LaunchBox.Plugins.Components.Emulators.EmulatorSaveAddRequest.Emulator\">EmulatorSaveAddRequest.Emulator\u003C\u002Fa> to restore into.\n            \u003C\u002Fdd>\u003C\u002Fdl>\n            \u003Ch4>Returns\u003C\u002Fh4>The add-save result.\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.Components.Emulators.IEmulatorSaveCapability.GetCompanionSaveFiles(System.String)","GetCompanionSaveFiles","Gets additional files that must be handled with a primary save file.","System.Collections.Generic.IReadOnlyList\u003Cstring> GetCompanionSaveFiles(string primaryFilePath)","IReadOnlyList\u003Cstring> GetCompanionSaveFiles(string primaryFilePath)","\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.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>\u003Cspan style=\"color:#569CD6\">string\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">> \u003C\u002Fspan>\u003Cspan style=\"color:#DCDCAA\">GetCompanionSaveFiles\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">(\u003C\u002Fspan>\u003Cspan style=\"color:#569CD6\">string\u003C\u002Fspan>\u003Cspan style=\"color:#9CDCFE\"> primaryFilePath\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">)\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","member-483dd43db1be854bf687","\n            \u003Cdiv class=\"api-summary\">Gets additional files that must be handled with a primary save file.\u003C\u002Fdiv>\n            \u003Cdl>\u003Cdt class=\"version-row\">\u003Cspan>\u003Ccode>primaryFilePath\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Fdt>\u003Cdd>The primary save-file path.\u003C\u002Fdd>\u003C\u002Fdl>\n            \u003Ch4>Returns\u003C\u002Fh4>The companion save-file paths.\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.Components.Emulators.IEmulatorSaveCapability.GetPotentialSaveSlots","GetPotentialSaveSlots","Gets the save-slot identifiers and display labels supported by the emulator.","System.Collections.Generic.IReadOnlyDictionary\u003Cint, string> GetPotentialSaveSlots()","IReadOnlyDictionary\u003Cint, string> GetPotentialSaveSlots()","\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.collections.generic.ireadonlydictionary-2\" title=\"System.Collections.Generic.IReadOnlyDictionary (Microsoft Learn)\">\u003Cspan style=\"color:#4EC9B0\">IReadOnlyDictionary\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#D4D4D4\">&#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#569CD6\">int\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">, \u003C\u002Fspan>\u003Cspan style=\"color:#569CD6\">string\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">> \u003C\u002Fspan>\u003Cspan style=\"color:#DCDCAA\">GetPotentialSaveSlots\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">()\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","member-4d8e1396d0860b7626d0","\n            \u003Cdiv class=\"api-summary\">Gets the save-slot identifiers and display labels supported by the emulator.\u003C\u002Fdiv>\n            \u003Ch4>Returns\u003C\u002Fh4>A mapping from slot number to display label.\n        ",{"availability":58,"id":59,"name":60,"label":60,"kind":30,"summary":61,"signature":62,"displaySignature":63,"signatureHtml":64,"anchor":65,"documentation":66,"documented":22},{"firstSeen":16,"isBaseline":17,"declarationFirstSeen":16},"M:Unbroken.LaunchBox.Plugins.Components.Emulators.IEmulatorSaveCapability.GetSaves(Unbroken.LaunchBox.Plugins.Components.Emulators.EmulatorSaveDiscoveryRequest)","GetSaves","Gets the save files associated with a game and emulator.","Unbroken.LaunchBox.Plugins.Components.Emulators.EmulatorSaveDiscoveryResult GetSaves(Unbroken.LaunchBox.Plugins.Components.Emulators.EmulatorSaveDiscoveryRequest request)","EmulatorSaveDiscoveryResult GetSaves(EmulatorSaveDiscoveryRequest request)","\u003Cpre class=\"shiki dark-plus\" style=\"background-color:#1E1E1E;color:#D4D4D4\" tabindex=\"0\" aria-label=\"C# code\">\u003Ccode>\u003Cspan class=\"line\">\u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Components.Emulators.EmulatorSaveDiscoveryResult\" title=\"Unbroken.LaunchBox.Plugins.Components.Emulators.EmulatorSaveDiscoveryResult\">\u003Cspan style=\"color:#4EC9B0\">EmulatorSaveDiscoveryResult\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#DCDCAA\"> GetSaves\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">(\u003C\u002Fspan>\u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Components.Emulators.EmulatorSaveDiscoveryRequest\" title=\"Unbroken.LaunchBox.Plugins.Components.Emulators.EmulatorSaveDiscoveryRequest\">\u003Cspan style=\"color:#4EC9B0\">EmulatorSaveDiscoveryRequest\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#9CDCFE\"> request\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">)\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","member-c5fe0fbc09dd8b1c55cb","\n            \u003Cdiv class=\"api-summary\">Gets the save files associated with a game and emulator.\u003C\u002Fdiv>\n            \u003Cdl>\u003Cdt class=\"version-row\">\u003Cspan>\u003Ccode>request\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Fdt>\u003Cdd>\n            The games, additional applications, and configured emulator to scan. When\n            \u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Components.Emulators.EmulatorSaveDiscoveryRequest#member-a5e907337a78c6a61d17\" title=\"Unbroken.LaunchBox.Plugins.Components.Emulators.EmulatorSaveDiscoveryRequest.CommandLine\">EmulatorSaveDiscoveryRequest.CommandLine\u003C\u002Fa> is set, it is the command line used for the play session\n            and takes precedence over the games&#39; own command lines.\n            \u003C\u002Fdd>\u003C\u002Fdl>\n            \u003Ch4>Returns\u003C\u002Fh4>The save-discovery result.\n        ",{"availability":68,"id":69,"name":70,"label":70,"kind":30,"summary":71,"signature":72,"displaySignature":73,"signatureHtml":74,"anchor":75,"documentation":76,"documented":22},{"firstSeen":16,"isBaseline":17,"declarationFirstSeen":16},"M:Unbroken.LaunchBox.Plugins.Components.Emulators.IEmulatorSaveCapability.IsSaveActive(Unbroken.LaunchBox.Plugins.Data.GameSaveBase,System.String)","IsSaveActive","Determines whether a save is the emulator's active copy.","bool IsSaveActive(Unbroken.LaunchBox.Plugins.Data.GameSaveBase save, string emulatorApplicationPath)","bool IsSaveActive(GameSaveBase save, string emulatorApplicationPath)","\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\">bool\u003C\u002Fspan>\u003Cspan style=\"color:#DCDCAA\"> IsSaveActive\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">(\u003C\u002Fspan>\u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Data.GameSaveBase\" title=\"Unbroken.LaunchBox.Plugins.Data.GameSaveBase\">\u003Cspan style=\"color:#4EC9B0\">GameSaveBase\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#9CDCFE\"> save\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">, \u003C\u002Fspan>\u003Cspan style=\"color:#569CD6\">string\u003C\u002Fspan>\u003Cspan style=\"color:#9CDCFE\"> emulatorApplicationPath\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">)\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","member-abf3f3df1d6dbbf63f77","\n            \u003Cdiv class=\"api-summary\">Determines whether a save is the emulator&#39;s active copy.\u003C\u002Fdiv>\n            \u003Cdl>\u003Cdt class=\"version-row\">\u003Cspan>\u003Ccode>save\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Fdt>\u003Cdd>The save to inspect.\u003C\u002Fdd>\u003C\u002Fdl>\n            \u003Cdl>\u003Cdt class=\"version-row\">\u003Cspan>\u003Ccode>emulatorApplicationPath\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Fdt>\u003Cdd>The path to the emulator executable.\u003C\u002Fdd>\u003C\u002Fdl>\n            \u003Ch4>Returns\u003C\u002Fh4>\u003Ccode>true\u003C\u002Fcode> when the save is active.\n        ",{"availability":78,"id":79,"name":80,"label":80,"kind":30,"summary":81,"signature":82,"displaySignature":83,"signatureHtml":84,"anchor":85,"documentation":86,"documented":22},{"firstSeen":16,"isBaseline":17,"declarationFirstSeen":16},"M:Unbroken.LaunchBox.Plugins.Components.Emulators.IEmulatorSaveCapability.IsSaveContainer(Unbroken.LaunchBox.Plugins.Data.GameSaveBase)","IsSaveContainer","Determines whether a save represents a container whose contents must be handled together.","bool IsSaveContainer(Unbroken.LaunchBox.Plugins.Data.GameSaveBase save)","bool IsSaveContainer(GameSaveBase save)","\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\">bool\u003C\u002Fspan>\u003Cspan style=\"color:#DCDCAA\"> IsSaveContainer\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">(\u003C\u002Fspan>\u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Data.GameSaveBase\" title=\"Unbroken.LaunchBox.Plugins.Data.GameSaveBase\">\u003Cspan style=\"color:#4EC9B0\">GameSaveBase\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#9CDCFE\"> save\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">)\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","member-04403fcc8ff719997b6a","\n            \u003Cdiv class=\"api-summary\">Determines whether a save represents a container whose contents must be handled together.\u003C\u002Fdiv>\n            \u003Cdl>\u003Cdt class=\"version-row\">\u003Cspan>\u003Ccode>save\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Fdt>\u003Cdd>The save to inspect.\u003C\u002Fdd>\u003C\u002Fdl>\n            \u003Ch4>Returns\u003C\u002Fh4>\u003Ccode>true\u003C\u002Fcode> when the save is a container.\n        ",{"availability":88,"id":89,"name":90,"label":90,"kind":30,"summary":91,"signature":92,"displaySignature":92,"signatureHtml":93,"anchor":94,"documentation":95,"documented":22},{"firstSeen":16,"isBaseline":17,"declarationFirstSeen":16},"M:Unbroken.LaunchBox.Plugins.Components.Emulators.IEmulatorSaveCapability.IsSecondarySaveFile(System.String)","IsSecondarySaveFile","Determines whether a path is a secondary file belonging to another primary save.","bool IsSecondarySaveFile(string filePath)","\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\">bool\u003C\u002Fspan>\u003Cspan style=\"color:#DCDCAA\"> IsSecondarySaveFile\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">(\u003C\u002Fspan>\u003Cspan style=\"color:#569CD6\">string\u003C\u002Fspan>\u003Cspan style=\"color:#9CDCFE\"> filePath\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">)\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","member-c98c473c77eae2465dae","\n            \u003Cdiv class=\"api-summary\">Determines whether a path is a secondary file belonging to another primary save.\u003C\u002Fdiv>\n            \u003Cdl>\u003Cdt class=\"version-row\">\u003Cspan>\u003Ccode>filePath\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Fdt>\u003Cdd>The file path to inspect.\u003C\u002Fdd>\u003C\u002Fdl>\n            \u003Ch4>Returns\u003C\u002Fh4>\u003Ccode>true\u003C\u002Fcode> when the path is a secondary save file.\n        ",{"availability":97,"id":98,"name":99,"label":99,"kind":30,"summary":100,"signature":101,"displaySignature":102,"signatureHtml":103,"anchor":104,"documentation":105,"documented":22},{"firstSeen":16,"isBaseline":17,"declarationFirstSeen":16},"M:Unbroken.LaunchBox.Plugins.Components.Emulators.IEmulatorSaveCapability.RemoveSave(Unbroken.LaunchBox.Plugins.Data.GameSaveBase)","RemoveSave","Removes a save from the emulator.","Unbroken.LaunchBox.Plugins.PluginResponse RemoveSave(Unbroken.LaunchBox.Plugins.Data.GameSaveBase save)","PluginResponse RemoveSave(GameSaveBase save)","\u003Cpre class=\"shiki dark-plus\" style=\"background-color:#1E1E1E;color:#D4D4D4\" tabindex=\"0\" aria-label=\"C# code\">\u003Ccode>\u003Cspan class=\"line\">\u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.PluginResponse\" title=\"Unbroken.LaunchBox.Plugins.PluginResponse\">\u003Cspan style=\"color:#4EC9B0\">PluginResponse\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#DCDCAA\"> RemoveSave\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">(\u003C\u002Fspan>\u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Data.GameSaveBase\" title=\"Unbroken.LaunchBox.Plugins.Data.GameSaveBase\">\u003Cspan style=\"color:#4EC9B0\">GameSaveBase\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#9CDCFE\"> save\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">)\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","member-3b366350bc3004f2bcf2","\n            \u003Cdiv class=\"api-summary\">Removes a save from the emulator.\u003C\u002Fdiv>\n            \u003Cdl>\u003Cdt class=\"version-row\">\u003Cspan>\u003Ccode>save\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Fdt>\u003Cdd>The save to remove.\u003C\u002Fdd>\u003C\u002Fdl>\n            \u003Ch4>Returns\u003C\u002Fh4>Whether the save was removed successfully.\n        ",{"availability":107,"id":108,"name":109,"label":109,"kind":30,"summary":110,"signature":111,"displaySignature":112,"signatureHtml":113,"anchor":114,"documentation":115,"documented":22},{"firstSeen":16,"isBaseline":17,"declarationFirstSeen":16},"M:Unbroken.LaunchBox.Plugins.Components.Emulators.IEmulatorSaveCapability.TryBackupSave(Unbroken.LaunchBox.Plugins.Data.GameSaveBase,System.String,System.String,System.String@)","TryBackupSave","Attempts to copy a save and related files into a backup folder.","bool TryBackupSave(Unbroken.LaunchBox.Plugins.Data.GameSaveBase save, string emulatorApplicationPath, string destinationFolder, out string? error)","bool TryBackupSave(\n    GameSaveBase save,\n    string emulatorApplicationPath,\n    string destinationFolder,\n    out string? error\n)","\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\">bool\u003C\u002Fspan>\u003Cspan style=\"color:#DCDCAA\"> TryBackupSave\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">(\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#4EC9B0\">    \u003C\u002Fspan>\u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Data.GameSaveBase\" title=\"Unbroken.LaunchBox.Plugins.Data.GameSaveBase\">\u003Cspan style=\"color:#4EC9B0\">GameSaveBase\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#9CDCFE\"> save\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\"> emulatorApplicationPath\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\"> destinationFolder\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#569CD6\">    out\u003C\u002Fspan>\u003Cspan style=\"color:#569CD6\"> string\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">? \u003C\u002Fspan>\u003Cspan style=\"color:#9CDCFE\">error\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#D4D4D4\">)\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","member-8fdd5822905e696531ef","\n            \u003Cdiv class=\"api-summary\">Attempts to copy a save and related files into a backup folder.\u003C\u002Fdiv>\n            \u003Cdl>\u003Cdt class=\"version-row\">\u003Cspan>\u003Ccode>save\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Fdt>\u003Cdd>The save to back up.\u003C\u002Fdd>\u003C\u002Fdl>\n            \u003Cdl>\u003Cdt class=\"version-row\">\u003Cspan>\u003Ccode>emulatorApplicationPath\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Fdt>\u003Cdd>The path to the emulator executable.\u003C\u002Fdd>\u003C\u002Fdl>\n            \u003Cdl>\u003Cdt class=\"version-row\">\u003Cspan>\u003Ccode>destinationFolder\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Fdt>\u003Cdd>The destination folder for the backup.\u003C\u002Fdd>\u003C\u002Fdl>\n            \u003Cdl>\u003Cdt class=\"version-row\">\u003Cspan>\u003Ccode>error\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Fdt>\u003Cdd>An error message when the backup fails.\u003C\u002Fdd>\u003C\u002Fdl>\n            \u003Ch4>Returns\u003C\u002Fh4>\u003Ccode>true\u003C\u002Fcode> when the backup was created.\n        ",{"availability":117,"id":118,"name":119,"label":119,"kind":30,"summary":120,"signature":121,"displaySignature":122,"signatureHtml":123,"anchor":124,"documentation":125,"documented":22},{"firstSeen":16,"isBaseline":17,"declarationFirstSeen":16},"M:Unbroken.LaunchBox.Plugins.Components.Emulators.IEmulatorSaveCapability.TryComputeSaveSignature(Unbroken.LaunchBox.Plugins.Data.GameSaveBase,System.String,System.String@)","TryComputeSaveSignature","Attempts to compute a stable signature for a save's current contents.","bool TryComputeSaveSignature(Unbroken.LaunchBox.Plugins.Data.GameSaveBase save, string emulatorApplicationPath, out string? signature)","bool TryComputeSaveSignature(\n    GameSaveBase save,\n    string emulatorApplicationPath,\n    out string? signature\n)","\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\">bool\u003C\u002Fspan>\u003Cspan style=\"color:#DCDCAA\"> TryComputeSaveSignature\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">(\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#4EC9B0\">    \u003C\u002Fspan>\u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Data.GameSaveBase\" title=\"Unbroken.LaunchBox.Plugins.Data.GameSaveBase\">\u003Cspan style=\"color:#4EC9B0\">GameSaveBase\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#9CDCFE\"> save\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\"> emulatorApplicationPath\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#569CD6\">    out\u003C\u002Fspan>\u003Cspan style=\"color:#569CD6\"> string\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">? \u003C\u002Fspan>\u003Cspan style=\"color:#9CDCFE\">signature\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#D4D4D4\">)\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","member-76c47e7af41002054944","\n            \u003Cdiv class=\"api-summary\">Attempts to compute a stable signature for a save&#39;s current contents.\u003C\u002Fdiv>\n            \u003Cdl>\u003Cdt class=\"version-row\">\u003Cspan>\u003Ccode>save\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Fdt>\u003Cdd>The save to inspect.\u003C\u002Fdd>\u003C\u002Fdl>\n            \u003Cdl>\u003Cdt class=\"version-row\">\u003Cspan>\u003Ccode>emulatorApplicationPath\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Fdt>\u003Cdd>The path to the emulator executable.\u003C\u002Fdd>\u003C\u002Fdl>\n            \u003Cdl>\u003Cdt class=\"version-row\">\u003Cspan>\u003Ccode>signature\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Fdt>\u003Cdd>The computed signature when successful.\u003C\u002Fdd>\u003C\u002Fdl>\n            \u003Ch4>Returns\u003C\u002Fh4>\u003Ccode>true\u003C\u002Fcode> when a signature was computed.\n        ",{"availability":127,"id":128,"name":129,"label":129,"kind":30,"summary":130,"signature":131,"displaySignature":132,"signatureHtml":133,"anchor":134,"documentation":135,"documented":22},{"firstSeen":16,"isBaseline":17,"declarationFirstSeen":16},"M:Unbroken.LaunchBox.Plugins.Components.Emulators.IEmulatorSaveCapability.TryGetSaveGroupInfo(Unbroken.LaunchBox.Plugins.Data.GameSaveBase,System.String,System.String@,System.String@)","TryGetSaveGroupInfo","Attempts to resolve grouping information for a primary save file.","bool TryGetSaveGroupInfo(Unbroken.LaunchBox.Plugins.Data.GameSaveBase save, string primaryFilePath, out string? saveGroupId, out string? saveGroupName)","bool TryGetSaveGroupInfo(\n    GameSaveBase save,\n    string primaryFilePath,\n    out string? saveGroupId,\n    out string? saveGroupName\n)","\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\">bool\u003C\u002Fspan>\u003Cspan style=\"color:#DCDCAA\"> TryGetSaveGroupInfo\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">(\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#4EC9B0\">    \u003C\u002Fspan>\u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Data.GameSaveBase\" title=\"Unbroken.LaunchBox.Plugins.Data.GameSaveBase\">\u003Cspan style=\"color:#4EC9B0\">GameSaveBase\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#9CDCFE\"> save\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\"> primaryFilePath\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#569CD6\">    out\u003C\u002Fspan>\u003Cspan style=\"color:#569CD6\"> string\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">? \u003C\u002Fspan>\u003Cspan style=\"color:#9CDCFE\">saveGroupId\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#569CD6\">    out\u003C\u002Fspan>\u003Cspan style=\"color:#569CD6\"> string\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">? \u003C\u002Fspan>\u003Cspan style=\"color:#9CDCFE\">saveGroupName\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#D4D4D4\">)\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","member-87400932155c9cb6ca19","\n            \u003Cdiv class=\"api-summary\">Attempts to resolve grouping information for a primary save file.\u003C\u002Fdiv>\n            \u003Cdl>\u003Cdt class=\"version-row\">\u003Cspan>\u003Ccode>save\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Fdt>\u003Cdd>The save to inspect.\u003C\u002Fdd>\u003C\u002Fdl>\n            \u003Cdl>\u003Cdt class=\"version-row\">\u003Cspan>\u003Ccode>primaryFilePath\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Fdt>\u003Cdd>The primary save-file path.\u003C\u002Fdd>\u003C\u002Fdl>\n            \u003Cdl>\u003Cdt class=\"version-row\">\u003Cspan>\u003Ccode>saveGroupId\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Fdt>\u003Cdd>The stable group identifier when successful.\u003C\u002Fdd>\u003C\u002Fdl>\n            \u003Cdl>\u003Cdt class=\"version-row\">\u003Cspan>\u003Ccode>saveGroupName\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Fdt>\u003Cdd>The display name for the group when successful.\u003C\u002Fdd>\u003C\u002Fdl>\n            \u003Ch4>Returns\u003C\u002Fh4>\u003Ccode>true\u003C\u002Fcode> when grouping information was resolved.\n        ",{"availability":137,"id":138,"name":139,"label":139,"kind":30,"summary":140,"signature":141,"displaySignature":142,"signatureHtml":143,"anchor":144,"documentation":145,"documented":22},{"firstSeen":16,"isBaseline":17,"declarationFirstSeen":16},"M:Unbroken.LaunchBox.Plugins.Components.Emulators.IEmulatorSaveCapability.UseSaveGroupIdForPersistedMatch(Unbroken.LaunchBox.Plugins.Data.GameSaveBase)","UseSaveGroupIdForPersistedMatch","Determines whether persisted matching should use the save's group identifier.","bool UseSaveGroupIdForPersistedMatch(Unbroken.LaunchBox.Plugins.Data.GameSaveBase save)","bool UseSaveGroupIdForPersistedMatch(GameSaveBase save)","\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\">bool\u003C\u002Fspan>\u003Cspan style=\"color:#DCDCAA\"> UseSaveGroupIdForPersistedMatch\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">(\u003C\u002Fspan>\u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Data.GameSaveBase\" title=\"Unbroken.LaunchBox.Plugins.Data.GameSaveBase\">\u003Cspan style=\"color:#4EC9B0\">GameSaveBase\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#9CDCFE\"> save\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">)\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","member-4846d87d28d6aa5cd559","\n            \u003Cdiv class=\"api-summary\">Determines whether persisted matching should use the save&#39;s group identifier.\u003C\u002Fdiv>\n            \u003Cdl>\u003Cdt class=\"version-row\">\u003Cspan>\u003Ccode>save\u003C\u002Fcode>\u003C\u002Fspan>\u003C\u002Fdt>\u003Cdd>The save to inspect.\u003C\u002Fdd>\u003C\u002Fdl>\n            \u003Ch4>Returns\u003C\u002Fh4>\u003Ccode>true\u003C\u002Fcode> when persisted matching should use the group identifier.\n        ",{"currentRelease":16,"currentReleaseState":147},"stable","plugins",1794763752363]