@@ -207,7 +207,7 @@ public static void RenameProfileFile(ProfileFileInfo profileFileInfo, string new
207207
208208 if ( switchProfile )
209209 {
210- SwitchProfile ( newProfileFileInfo , false ) ;
210+ Switch ( newProfileFileInfo , false ) ;
211211 LoadedProfileFileChanged ( LoadedProfileFile ) ;
212212 }
213213
@@ -223,7 +223,7 @@ public static void DeleteProfileFile(ProfileFileInfo profileFileInfo)
223223 {
224224 if ( LoadedProfileFile != null && LoadedProfileFile . Equals ( profileFileInfo ) )
225225 {
226- SwitchProfile ( ProfileFiles . FirstOrDefault ( x => ! x . Equals ( profileFileInfo ) ) ) ;
226+ Switch ( ProfileFiles . FirstOrDefault ( x => ! x . Equals ( profileFileInfo ) ) ) ;
227227 LoadedProfileFileChanged ( LoadedProfileFile ) ;
228228 }
229229
@@ -271,7 +271,7 @@ public static void EnableEncryption(ProfileFileInfo profileFileInfo, SecureStrin
271271 // Switch profile, if it was previously loaded
272272 if ( switchProfile )
273273 {
274- SwitchProfile ( newProfileFileInfo , false ) ;
274+ Switch ( newProfileFileInfo , false ) ;
275275 LoadedProfileFileChanged ( LoadedProfileFile ) ;
276276 }
277277
@@ -322,7 +322,7 @@ public static void ChangeMasterPassword(ProfileFileInfo profileFileInfo, SecureS
322322 // Switch profile, if it was previously loaded
323323 if ( switchProfile )
324324 {
325- SwitchProfile ( newProfileFileInfo , false ) ;
325+ Switch ( newProfileFileInfo , false ) ;
326326 LoadedProfileFileChanged ( LoadedProfileFile ) ;
327327 }
328328
@@ -363,7 +363,7 @@ public static void DisableEncryption(ProfileFileInfo profileFileInfo, SecureStri
363363 // Switch profile, if it was previously loaded
364364 if ( switchProfile )
365365 {
366- SwitchProfile ( newProfileFileInfo , false ) ;
366+ Switch ( newProfileFileInfo , false ) ;
367367 LoadedProfileFileChanged ( LoadedProfileFile ) ;
368368 }
369369
@@ -446,12 +446,28 @@ public static void Save()
446446 ProfilesChanged = false ;
447447 }
448448
449- public static void SwitchProfile ( ProfileFileInfo info , bool saveLoadedProfiles = true )
449+ /// <summary>
450+ /// Method to unload the currently loaded profile file.
451+ /// </summary>
452+ /// <param name="saveLoadedProfiles">Save loaded profile file (default is true)</param>
453+ public static void Unload ( bool saveLoadedProfiles = true )
450454 {
451455 if ( saveLoadedProfiles && LoadedProfileFile != null && ProfilesChanged )
452456 Save ( ) ;
453457
458+ LoadedProfileFile = null ;
459+
454460 Reset ( ) ;
461+ }
462+
463+ /// <summary>
464+ /// Method to switch to another profile file.
465+ /// </summary>
466+ /// <param name="info">New <see cref="ProfileFileInfo"/> to load.</param>
467+ /// <param name="saveLoadedProfiles">Save loaded profile file (defualt is true)</param>
468+ public static void Switch ( ProfileFileInfo info , bool saveLoadedProfiles = true )
469+ {
470+ Unload ( saveLoadedProfiles ) ;
455471
456472 Load ( info ) ;
457473 }
0 commit comments