[{"data":1,"prerenderedAt":77},["ShallowReactive",2],{"docs:\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Components.Emulators.EmulatorSaveAddRequest":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":74,"section":76},"type","EmulatorSaveAddRequest","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","Class",{"firstSeen":16,"isBaseline":17,"declarationFirstSeen":16},"14.1",false,"public sealed class Unbroken.LaunchBox.Plugins.Components.Emulators.EmulatorSaveAddRequest","public sealed class EmulatorSaveAddRequest","\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.Emulators.EmulatorSaveAddRequest\">\u003Cspan style=\"color:#4EC9B0\">EmulatorSaveAddRequest\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","\n            \u003Cdiv class=\"api-summary\">Provides the context for adding a save file to an emulator.\u003C\u002Fdiv>\n        ",true,[],[],[26,34,44,54,64],{"availability":27,"id":28,"name":5,"label":5,"kind":29,"summary":30,"signature":31,"displaySignature":31,"signatureHtml":32,"anchor":33,"documentation":30,"documented":17},{"firstSeen":16,"isBaseline":17,"declarationFirstSeen":16},"M:Unbroken.LaunchBox.Plugins.Components.Emulators.EmulatorSaveAddRequest.#ctor","Constructor","","public EmulatorSaveAddRequest()","\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\"> EmulatorSaveAddRequest\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">()\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","member-da7081e2bd425a4e6ce3",{"availability":35,"id":36,"name":37,"label":37,"kind":38,"summary":39,"signature":40,"displaySignature":40,"signatureHtml":41,"anchor":42,"documentation":43,"documented":22},{"firstSeen":16,"isBaseline":17,"declarationFirstSeen":16},"P:Unbroken.LaunchBox.Plugins.Components.Emulators.EmulatorSaveAddRequest.DestinationFileLocation","DestinationFileLocation","Property","Gets or sets the exact file, folder, or memory card to restore into, or null to let the plugin choose.","public string? DestinationFileLocation { get; set; }","\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\">DestinationFileLocation\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\">set\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">; }\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","member-7329b198ca985e9f04b5","\n            \u003Cdiv class=\"api-summary\">Gets or sets the exact file, folder, or memory card to restore into, or \u003Ccode>null\u003C\u002Fcode> to let the plugin choose.\u003C\u002Fdiv>\n            \u003Ch4>Remarks\u003C\u002Fh4>\n            LaunchBox sets this when it puts back a save that a failed restore replaced, using the \u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Data.GameSaveBase#member-cf1b28e4b13a0b529ff0\" title=\"Unbroken.LaunchBox.Plugins.Data.GameSaveBase.FileLocation\">GameSaveBase.FileLocation\u003C\u002Fa>\n            the plugin passed to \u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Components.Emulators.EmulatorSaveAddRequest#member-48ac7f212497a85597e6\" title=\"Unbroken.LaunchBox.Plugins.Components.Emulators.EmulatorSaveAddRequest.ShouldReplaceSaveFunc\">EmulatorSaveAddRequest.ShouldReplaceSaveFunc\u003C\u002Fa>. When it is set, write only to that location.\n            \n        ",{"availability":45,"id":46,"name":47,"label":47,"kind":38,"summary":48,"signature":49,"displaySignature":50,"signatureHtml":51,"anchor":52,"documentation":53,"documented":22},{"firstSeen":16,"isBaseline":17,"declarationFirstSeen":16},"P:Unbroken.LaunchBox.Plugins.Components.Emulators.EmulatorSaveAddRequest.Emulator","Emulator","Gets or sets the configured emulator to restore the save into.","public required Unbroken.LaunchBox.Plugins.Data.IEmulator Emulator { get; set; }","public required IEmulator Emulator { get; set; }","\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\"> required\u003C\u002Fspan>\u003Cspan style=\"color:#9CDCFE\"> \u003C\u002Fspan>\u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Data.IEmulator\" title=\"Unbroken.LaunchBox.Plugins.Data.IEmulator\">\u003Cspan style=\"color:#9CDCFE\">IEmulator\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#9CDCFE\"> Emulator\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\">set\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">; }\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","member-cd4912ebb94506f9c983","\n            \u003Cdiv class=\"api-summary\">Gets or sets the configured emulator to restore the save into.\u003C\u002Fdiv>\n            \u003Ch4>Remarks\u003C\u002Fh4>\n            LaunchBox always supplies this. It is the emulator that created the save when LaunchBox can identify it, and otherwise the\n            emulator assigned to the save&#39;s game or additional application. Restore into this emulator&#39;s save locations, using\n            \u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Data.GameSaveBase#member-d80861aa1179f9462ed9\" title=\"Unbroken.LaunchBox.Plugins.Data.GameSaveBase.EmulatorCore\">GameSaveBase.EmulatorCore\u003C\u002Fa> from \u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Components.Emulators.EmulatorSaveAddRequest#member-c5ba67ffcd4eff56defc\" title=\"Unbroken.LaunchBox.Plugins.Components.Emulators.EmulatorSaveAddRequest.SaveToAdd\">EmulatorSaveAddRequest.SaveToAdd\u003C\u002Fa> when the emulator separates saves by core.\n            \n        ",{"availability":55,"id":56,"name":57,"label":57,"kind":38,"summary":58,"signature":59,"displaySignature":60,"signatureHtml":61,"anchor":62,"documentation":63,"documented":22},{"firstSeen":16,"isBaseline":17,"declarationFirstSeen":16},"P:Unbroken.LaunchBox.Plugins.Components.Emulators.EmulatorSaveAddRequest.SaveToAdd","SaveToAdd","Gets or sets the save to add.","public required Unbroken.LaunchBox.Plugins.Data.GameSaveBase SaveToAdd { get; set; }","public required GameSaveBase SaveToAdd { get; set; }","\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\"> required\u003C\u002Fspan>\u003Cspan style=\"color:#9CDCFE\"> \u003C\u002Fspan>\u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Data.GameSaveBase\" title=\"Unbroken.LaunchBox.Plugins.Data.GameSaveBase\">\u003Cspan style=\"color:#9CDCFE\">GameSaveBase\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#9CDCFE\"> SaveToAdd\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\">set\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">; }\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","member-c5ba67ffcd4eff56defc","\n            \u003Cdiv class=\"api-summary\">Gets or sets the save to add.\u003C\u002Fdiv>\n        ",{"availability":65,"id":66,"name":67,"label":67,"kind":38,"summary":68,"signature":69,"displaySignature":70,"signatureHtml":71,"anchor":72,"documentation":73,"documented":22},{"firstSeen":16,"isBaseline":17,"declarationFirstSeen":16},"P:Unbroken.LaunchBox.Plugins.Components.Emulators.EmulatorSaveAddRequest.ShouldReplaceSaveFunc","ShouldReplaceSaveFunc","Gets or sets the callback used to confirm and back up the existing save that the add would replace.","public required System.Func\u003CUnbroken.LaunchBox.Plugins.Data.GameSaveBase, bool> ShouldReplaceSaveFunc { get; set; }","public required Func\u003CGameSaveBase, bool> ShouldReplaceSaveFunc { get; set; }","\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\"> required\u003C\u002Fspan>\u003Cspan style=\"color:#9CDCFE\"> \u003C\u002Fspan>\u003Ca href=\"https:\u002F\u002Flearn.microsoft.com\u002Fdotnet\u002Fapi\u002Fsystem.func-2\" title=\"System.Func (Microsoft Learn)\">\u003Cspan style=\"color:#9CDCFE\">Func\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#D4D4D4\">&#x3C;\u003C\u002Fspan>\u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Data.GameSaveBase\" title=\"Unbroken.LaunchBox.Plugins.Data.GameSaveBase\">\u003Cspan style=\"color:#9CDCFE\">GameSaveBase\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan style=\"color:#D4D4D4\">, \u003C\u002Fspan>\u003Cspan style=\"color:#569CD6\">bool\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">> \u003C\u002Fspan>\u003Cspan style=\"color:#9CDCFE\">ShouldReplaceSaveFunc\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\">set\u003C\u002Fspan>\u003Cspan style=\"color:#D4D4D4\">; }\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","member-48ac7f212497a85597e6","\n            \u003Cdiv class=\"api-summary\">Gets or sets the callback used to confirm and back up the existing save that the add would replace.\u003C\u002Fdiv>\n            \u003Ch4>Remarks\u003C\u002Fh4>\n            LaunchBox always supplies this callback. Call it before replacing existing save data, and do not call it when nothing would be\n            replaced. Pass a new \u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Data.GameSaveState\" title=\"Unbroken.LaunchBox.Plugins.Data.GameSaveState\">GameSaveState\u003C\u002Fa> or \u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Data.GameSaveGame\" title=\"Unbroken.LaunchBox.Plugins.Data.GameSaveGame\">GameSaveGame\u003C\u002Fa> that describes the data about to be replaced:\n            \u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Data.GameSaveBase#member-48237d752c21c9c92c00\" title=\"Unbroken.LaunchBox.Plugins.Data.GameSaveBase.GameId\">GameSaveBase.GameId\u003C\u002Fa> and \u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Data.GameSaveBase#member-0960ba15982d3c24e466\" title=\"Unbroken.LaunchBox.Plugins.Data.GameSaveBase.AdditionalApplicationId\">GameSaveBase.AdditionalApplicationId\u003C\u002Fa>; \u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Data.GameSaveBase#member-cf1b28e4b13a0b529ff0\" title=\"Unbroken.LaunchBox.Plugins.Data.GameSaveBase.FileLocation\">GameSaveBase.FileLocation\u003C\u002Fa>\n            set to the file or folder that will be replaced, or to the memory card for saves stored inside a container;\n            \u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Data.GameSaveState#member-47e4b22a1f65d14b2b61\" title=\"Unbroken.LaunchBox.Plugins.Data.GameSaveState.Slot\">GameSaveState.Slot\u003C\u002Fa> for save states; \u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Data.GameSaveBase#member-495e129b9b7e0de369c7\" title=\"Unbroken.LaunchBox.Plugins.Data.GameSaveBase.SaveGroupId\">GameSaveBase.SaveGroupId\u003C\u002Fa> for saves stored inside a container; and\n            \u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Data.GameSaveBase#member-8886a2e427e35018b59a\" title=\"Unbroken.LaunchBox.Plugins.Data.GameSaveBase.EmulatorFileName\">GameSaveBase.EmulatorFileName\u003C\u002Fa> and \u003Ca href=\"\u002Fplugins\u002Freference\u002FUnbroken.LaunchBox.Plugins.Data.GameSaveBase#member-d80861aa1179f9462ed9\" title=\"Unbroken.LaunchBox.Plugins.Data.GameSaveBase.EmulatorCore\">GameSaveBase.EmulatorCore\u003C\u002Fa> when known. LaunchBox asks the user, backs\n            up that data, and returns \u003Ccode>true\u003C\u002Fcode> only when the user agreed and the backup succeeded. When it returns\n            \u003Ccode>false\u003C\u002Fcode>, write nothing and return a failed result.\n            \n        ",{"currentRelease":16,"currentReleaseState":75},"stable","plugins",1794763752361]