public CommandSettings(IObjectData data) : base(data) { // prepare settings int initialSetupLevel = Defaults.InitialSetupLevel; TraceLevel logLevel = Defaults.LogLevel; CultureInfo culture = null; bool noLogo = Defaults.NoLogo; CredentialSettings[] credentials = null; SystemSettingsSwitcherSettings systemSettingsSwitcher = null; GUISettings gui = null; ProxySettings proxy = null; if (data != null) { // get settings from data initialSetupLevel = data.GetInt32Value(SettingNames.InitialSetupLevel, Defaults.InitialSetupLevel); logLevel = (TraceLevel)data.GetEnumValue(SettingNames.LogLevel, logLevel, typeof(TraceLevel)); culture = data.GetValue(SettingNames.Culture, culture, ExtractCultureInfoValue); noLogo = data.GetBooleanValue(SettingNames.NoLogo, noLogo); credentials = data.GetObjectArrayValue(SettingNames.Credentials, credentials, CreateCredentialSettings); systemSettingsSwitcher = data.GetObjectValue(SettingNames.SystemSettingsSwitcher, systemSettingsSwitcher, this.CreateSystemSettingsSwitcherSettings); proxy = data.GetObjectValue(SettingNames.Proxy, proxy, this.CreateProxySettings); gui = data.GetObjectValue(SettingNames.GUI, gui, this.CreateGUISettings); } if (systemSettingsSwitcher == null) { // SystemSettingsSwitcher cannot be null systemSettingsSwitcher = CreateSystemSettingsSwitcherSettings(null); } if (proxy == null) { // Proxy cannot be null proxy = CreateProxySettings(null); } if (gui == null) { // GUI cannot be null gui = CreateGUISettings(null); } // set settings try { // may throw ArgumentException for an invalid value this.InitialSetupLevel = initialSetupLevel; this.LogLevel = logLevel; this.Culture = culture; this.NoLogo = noLogo; this.Credentials = credentials; this.SystemSettingsSwitcher = systemSettingsSwitcher; this.Proxy = proxy; this.GUI = gui; } catch (Exception exception) { throw new FormatException(exception.Message); } return; }
public GUISettings(GUISettings src) : base(src) { // argument checks if (src == null) { throw new ArgumentNullException(nameof(src)); } // clone members this.Start = src.Start; this.ResumeTryCount = src.ResumeTryCount; this.ResumeDelay = src.ResumeDelay; this.ResumeInterval = src.ResumeInterval; return; }
public CommandSettings(CommandSettings src) : base(src) { // argument checks if (src == null) { throw new ArgumentNullException(nameof(src)); } // clone members this.InitialSetupLevel = src.InitialSetupLevel; this.LogLevel = src.LogLevel; this.Culture = src.Culture; this.NoLogo = src.NoLogo; this.Credentials = Clone(src.Credentials); this.SystemSettingsSwitcher = Clone(src.SystemSettingsSwitcher); this.Proxy = Clone(src.Proxy); this.GUI = Clone(src.GUI); return; }