protected override IConfigurable PrepareDataObject() { CommonLoggingHelper.SyncLogSession.SetBlackBoxCapacity(NewSubscription.IncreasedBlackBoxCapacity); AutoProvisionProgress autoProvisionProgress = delegate(LocalizedString activity, LocalizedString statusDescription) { if (base.IsVerboseOn) { base.WriteVerbose(Strings.AutoProvisionDebug(activity, statusDescription)); } ExProgressRecord record = new ExProgressRecord(0, activity, statusDescription); base.WriteProgress(record); CommonLoggingHelper.SyncLogSession.LogVerbose((TSLID)1271UL, Strings.AutoProvisionDebug(activity, statusDescription), new object[0]); }; IAutoProvision[] array = this.ClientsToUse(); if (array.Length == 0) { base.WriteDebugInfoAndError(new LocalizedException(Strings.AutoProvisionNoProtocols), ErrorCategory.InvalidArgument, null); } Dictionary <Authority, bool> connectiveAuthority = NewSubscription.CheckConnectivity(array, autoProvisionProgress); PimSubscriptionProxy pimSubscriptionProxy; DiscoverSettingsResult discoverSettingsResult = NewSubscription.DiscoverSettings(array, false, connectiveAuthority, autoProvisionProgress, CommonLoggingHelper.SyncLogSession, out pimSubscriptionProxy); if (pimSubscriptionProxy == null && discoverSettingsResult != DiscoverSettingsResult.AuthenticationError && (this.Force == true || base.ShouldContinue(Strings.InsecureConfirmation))) { CommonLoggingHelper.SyncLogSession.LogVerbose((TSLID)1272UL, "Checking for in-secure option.", new object[0]); NewSubscription.DiscoverSettings(array, true, connectiveAuthority, autoProvisionProgress, CommonLoggingHelper.SyncLogSession, out pimSubscriptionProxy); } if (pimSubscriptionProxy == null) { base.WriteDebugInfoAndError(new AutoProvisionFailedException(), ErrorCategory.InvalidArgument, null); } pimSubscriptionProxy.CreationType = SubscriptionCreationType.Auto; this.DataObject = pimSubscriptionProxy; autoProvisionProgress(Strings.AutoProvisionComplete, Strings.AutoProvisionCreate); base.WriteDebugInfo(); return(base.PrepareDataObject()); }
internal static DiscoverSettingsResult DiscoverSettings(IAutoProvision[] clients, bool testOnlyInsecure, Dictionary <Authority, bool> connectiveAuthority, AutoProvisionProgress provisionProgressCallback, SyncLogSession syncLogSession, out PimSubscriptionProxy subscription) { subscription = null; bool flag = false; foreach (IAutoProvision autoProvision in clients) { DiscoverSettingsResult discoverSettingsResult = autoProvision.DiscoverSetting(syncLogSession, testOnlyInsecure, connectiveAuthority, provisionProgressCallback, out subscription); if (discoverSettingsResult == DiscoverSettingsResult.Succeeded) { return(discoverSettingsResult); } if (discoverSettingsResult == DiscoverSettingsResult.AuthenticationError) { syncLogSession.LogDebugging((TSLID)1264UL, "Found an authentication error when trying to discover settings.", new object[0]); flag = true; } } if (flag) { return(DiscoverSettingsResult.AuthenticationError); } return(DiscoverSettingsResult.SettingsNotFound); }