protected ConnectedAccountsNotificationManagerBase(Guid userMailboxGuid, Guid userMdbGuid, string userMailboxServerFQDN, IConnectedAccountsConfiguration configuration, ISyncNowNotificationClient notificationClient, Func <TimerCallback, object, TimeSpan, TimeSpan, IGuardedTimer> createGuardedTimer) { SyncUtilities.ThrowIfGuidEmpty("userMailboxGuid", userMailboxGuid); SyncUtilities.ThrowIfGuidEmpty("userMdbGuid", userMdbGuid); SyncUtilities.ThrowIfArgumentNullOrEmpty("userMailboxServerFQDN", userMailboxServerFQDN); SyncUtilities.ThrowIfArgumentNull("configuration", configuration); SyncUtilities.ThrowIfArgumentNull("notificationClient", notificationClient); SyncUtilities.ThrowIfArgumentNull("createGuardedTimer", createGuardedTimer); this.configuration = configuration; this.notificationClient = notificationClient; this.userMailboxGuid = userMailboxGuid; this.userMdbGuid = userMdbGuid; this.userMailboxServerFQDN = userMailboxServerFQDN; if (this.configuration.PeriodicSyncNowEnabled) { ExTraceGlobals.ConnectedAccountsTracer.TraceDebug <Guid, TimeSpan>((long)this.GetHashCode(), "ConnectedAccountsNotificationManager::Setting up periodicSyncNowTimer for User:{0}, PeriodicSyncNowInterval:{1}", this.userMdbGuid, this.configuration.PeriodicSyncNowInterval); this.periodicSyncNowTimer = createGuardedTimer(new TimerCallback(this.SendPeriodicSyncNowRequest), null, this.configuration.PeriodicSyncNowInterval, this.configuration.PeriodicSyncNowInterval); } }
private MrsConnectedAccountsNotificationManager(Guid userMailboxGuid, Guid userMdbGuid, string userMailboxServerFQDN, ISyncNowNotificationClient notificationClient) : base(userMailboxGuid, userMdbGuid, userMailboxServerFQDN, ConnectedAccountsConfiguration.Instance, notificationClient) { }
protected ConnectedAccountsNotificationManagerBase(Guid userMailboxGuid, Guid userMdbGuid, string userMailboxServerFQDN, IConnectedAccountsConfiguration configuration, ISyncNowNotificationClient notificationClient) : this(userMailboxGuid, userMdbGuid, userMailboxServerFQDN, configuration, notificationClient, new Func <TimerCallback, object, TimeSpan, TimeSpan, IGuardedTimer>(ConnectedAccountsNotificationManagerBase.CreateGuardedTimer)) { }