protected override void SaveTo(IObjectData data, bool omitDefault) { // argument checks Debug.Assert(data != null); // state checks Debug.Assert(this.MainListener != null); // this.AdditionalListeners can be null Debug.Assert(0 < this.RetryCount); // save settings data.SetObjectValue(SettingNames.MainListener, this.MainListener, false, omitDefault, Defaults.IsDefaultMainListener(this.MainListener)); data.SetObjectArrayValue(SettingNames.AdditionalListeners, this.AdditionalListeners, omitDefault, Defaults.IsDefaultAdditionalListeners(this.AdditionalListeners)); data.SetInt32Value(SettingNames.RetryCount, this.RetryCount, omitDefault, this.RetryCount == Defaults.RetryCount); return; }
protected override void SaveTo(IObjectData data, bool omitDefault) { // argument checks Debug.Assert(data != null); // save settings data.SetInt32Value(SettingNames.InitialSetupLevel, this.InitialSetupLevel, omitDefault, this.InitialSetupLevel == Defaults.InitialSetupLevel); data.SetEnumValue(SettingNames.LogLevel, this.LogLevel, omitDefault, this.LogLevel == Defaults.LogLevel); data.SetValue(SettingNames.Culture, this.Culture, CreateCultureInfoValue, omitDefault, Defaults.IsDefaultCulture(this.Culture)); data.SetBooleanValue(SettingNames.NoLogo, this.NoLogo, omitDefault, this.NoLogo == Defaults.NoLogo); // Credentials: Note that only persistent credentials are saved. IEnumerable <CredentialSettings> persistentCredentials = GetPersistentCredentials(); data.SetObjectArrayValue(SettingNames.Credentials, persistentCredentials, omitDefault, Defaults.IsDefaultCredentials(persistentCredentials)); // SystemSettingsSwitcher: overwrite mode, not omittable (that is, isDefault should be false) data.SetObjectValue(SettingNames.SystemSettingsSwitcher, this.SystemSettingsSwitcher, true, omitDefault, false); // Proxy: replace mode, not omittable (that is, isDefault should be false) data.SetObjectValue(SettingNames.Proxy, this.Proxy, false, omitDefault, false); // GUI: overwrite mode, not omittable (that is, isDefault should be false) data.SetObjectValue(SettingNames.GUI, this.GUI, true, omitDefault, false); return; }