public AuthManOptions AddUserAuth <TUserMan, TUser>() where TUserMan : IUserMan <TUser> { Authenticators.Add(typeof(TUserMan)); return(this); }
public AuthManOptions AddAuth <T>() where T : IAuthenticate { Authenticators.Add(typeof(T)); return(this); }
public static void Load() { InitializeDefaults(); if (!File.Exists(SettingsFile)) { return; } using (BinaryReader binReader = new BinaryReader(File.OpenRead(SettingsFile))) { string fileHeader = ""; for (int i = 0; i < 9; i++) { fileHeader += binReader.ReadChar(); } if (fileHeader != "WINBMACFG") { return; } int fileVersion = binReader.ReadInt32(); if (fileVersion > 4) { System.Windows.MessageBox.Show("The settings database was created with a newer version of WinBMA. We were unable to load your settings.", "Error", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Error); return; } int numOfAuths = binReader.ReadInt32(); for (int i = 0; i < numOfAuths; i++) { string name = binReader.ReadString(); string serial = binReader.ReadString(); bool? isRestorable = null; AuthAPI.Security.EncryptionProvider.EncryptionType encType = AuthAPI.Security.EncryptionProvider.EncryptionType.None; int tokenLen = 20; if (fileVersion > 2) { isRestorable = binReader.ReadBoolean(); encType = (AuthAPI.Security.EncryptionProvider.EncryptionType)binReader.ReadByte(); tokenLen = binReader.ReadInt32(); } byte[] token = binReader.ReadBytes(tokenLen); Authenticators.Add(new AuthAPI.Authenticator(name, serial, token, isRestorable, encType)); } if (fileVersion < 3) { for (int i = 0; i < 2; i++) { DateTime storedLastSync = DateTime.FromBinary(binReader.ReadInt64()); Int64 storedOffset = binReader.ReadInt64(); if (storedLastSync > _lastSyncTime) { _lastSyncTime = storedLastSync; _timeOffset = storedOffset; } } } else { _lastSyncTime = DateTime.FromBinary(binReader.ReadInt64()); _timeOffset = binReader.ReadInt64(); } if (fileVersion == 1) { return; } SelectedAuthenticatorIndex = binReader.ReadInt32(); if (fileVersion == 2) { return; } _autoSync = binReader.ReadBoolean(); _alwaysOnTop = binReader.ReadBoolean(); _autoCopyToClipboard = binReader.ReadBoolean(); _theme = binReader.ReadString(); _checkForUpdates = binReader.ReadBoolean(); _lastUpdateCheck = DateTime.FromBinary(binReader.ReadInt64()); if (fileVersion == 3) { return; } _hotkeyEnabled = binReader.ReadBoolean(); _hotkeyModifiers = (Utilities.SystemHotKey.ModifierKeys)binReader.ReadByte(); _hotkey = (Utilities.Keys)binReader.ReadInt32(); } }