예제 #1
0
 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);
     }
 }
예제 #2
0
 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))
 {
 }