public static bool MatchConnectionState(ADSessionInfo info1, ADSessionInfo info2, bool ignoreLocatorFlags) { bool valueOrDefault; TimeSpan?timeout = info1.Timeout; TimeSpan?nullable = info2.Timeout; if (timeout.HasValue != nullable.HasValue) { valueOrDefault = false; } else { if (!timeout.HasValue) { valueOrDefault = true; } else { valueOrDefault = timeout.GetValueOrDefault() == nullable.GetValueOrDefault(); } } if (!valueOrDefault || info1.AuthType != info2.AuthType) { return(false); } else { return(ADSessionOptions.MatchConnectionState(info1.Options, info2.Options, ignoreLocatorFlags)); } }
internal ADSessionInfo() { this._defaultPortNumber = LdapConstants.LDAP_PORT; this._timeout = null; this._authType = AuthType.Negotiate; this._options = new ADSessionOptions(); this._appendedPort = null; this._options.ReferralChasing = new ReferralChasingOptions?(ReferralChasingOptions.None); this._options.AutoReconnect = new bool?(true); }
public ADSessionOptions Copy() { ADSessionOptions aDSessionOption = new ADSessionOptions(); foreach (DictionaryEntry _option in this._options) { aDSessionOption._options.Add(_option.Key, _option.Value); } return(aDSessionOption); }
public void CopyValuesTo(ADSessionOptions targetSessionOption) { bool?autoReconnect = this.AutoReconnect; if (autoReconnect.HasValue) { targetSessionOption.AutoReconnect = this.AutoReconnect; } ADLocatorFlags?locatorFlag = this.LocatorFlag; if (locatorFlag.HasValue) { ADLocatorFlags?nullable = targetSessionOption.LocatorFlag; ADLocatorFlags?locatorFlag1 = this.LocatorFlag; ADLocatorFlags?nullable1 = this.LocatorFlag; targetSessionOption.LocatorFlag = new ADLocatorFlags?(nullable.GetValueOrDefault(locatorFlag1.Value) | nullable1.Value); } ReferralChasingOptions?referralChasing = this.ReferralChasing; if (referralChasing.HasValue) { targetSessionOption.ReferralChasing = this.ReferralChasing; } }
public static bool MatchConnectionState(ADSessionOptions info1, ADSessionOptions info2, bool ignoreLocatorFlags) { bool hasValue; bool flag; if (info1 != null || info2 != null) { if (info1 == null || info2 == null) { return false; } else { ReferralChasingOptions? referralChasing = info1.ReferralChasing; ReferralChasingOptions? nullable = info2.ReferralChasing; if (referralChasing.GetValueOrDefault() != nullable.GetValueOrDefault()) { hasValue = false; } else { hasValue = referralChasing.HasValue == nullable.HasValue; } if (hasValue) { bool? autoReconnect = info1.AutoReconnect; bool? autoReconnect1 = info2.AutoReconnect; if (autoReconnect.GetValueOrDefault() != autoReconnect1.GetValueOrDefault()) { flag = false; } else { flag = autoReconnect.HasValue == autoReconnect1.HasValue; } if (flag) { if (ignoreLocatorFlags) { return true; } else { ADLocatorFlags? locatorFlag = info1.LocatorFlag; ADLocatorFlags? locatorFlag1 = info2.LocatorFlag; if (locatorFlag.GetValueOrDefault() != locatorFlag1.GetValueOrDefault()) { return false; } else { return locatorFlag.HasValue == locatorFlag1.HasValue; } } } } return false; } } else { return true; } }
public void CopyValuesTo(ADSessionOptions targetSessionOption) { bool? autoReconnect = this.AutoReconnect; if (autoReconnect.HasValue) { targetSessionOption.AutoReconnect = this.AutoReconnect; } ADLocatorFlags? locatorFlag = this.LocatorFlag; if (locatorFlag.HasValue) { ADLocatorFlags? nullable = targetSessionOption.LocatorFlag; ADLocatorFlags? locatorFlag1 = this.LocatorFlag; ADLocatorFlags? nullable1 = this.LocatorFlag; targetSessionOption.LocatorFlag = new ADLocatorFlags?(nullable.GetValueOrDefault(locatorFlag1.Value) | nullable1.Value); } ReferralChasingOptions? referralChasing = this.ReferralChasing; if (referralChasing.HasValue) { targetSessionOption.ReferralChasing = this.ReferralChasing; } }
public ADSessionOptions Copy() { ADSessionOptions aDSessionOption = new ADSessionOptions(); foreach (DictionaryEntry _option in this._options) { aDSessionOption._options.Add(_option.Key, _option.Value); } return aDSessionOption; }
public static bool MatchConnectionState(ADSessionOptions info1, ADSessionOptions info2, bool ignoreLocatorFlags) { bool hasValue; bool flag; if (info1 != null || info2 != null) { if (info1 == null || info2 == null) { return(false); } else { ReferralChasingOptions?referralChasing = info1.ReferralChasing; ReferralChasingOptions?nullable = info2.ReferralChasing; if (referralChasing.GetValueOrDefault() != nullable.GetValueOrDefault()) { hasValue = false; } else { hasValue = referralChasing.HasValue == nullable.HasValue; } if (hasValue) { bool?autoReconnect = info1.AutoReconnect; bool?autoReconnect1 = info2.AutoReconnect; if (autoReconnect.GetValueOrDefault() != autoReconnect1.GetValueOrDefault()) { flag = false; } else { flag = autoReconnect.HasValue == autoReconnect1.HasValue; } if (flag) { if (ignoreLocatorFlags) { return(true); } else { ADLocatorFlags?locatorFlag = info1.LocatorFlag; ADLocatorFlags?locatorFlag1 = info2.LocatorFlag; if (locatorFlag.GetValueOrDefault() != locatorFlag1.GetValueOrDefault()) { return(false); } else { return(locatorFlag.HasValue == locatorFlag1.HasValue); } } } } return(false); } } else { return(true); } }