public FolderHierarchySync GetFolderHierarchySync(ChangeTrackingDelegate changeTrackingDelegate)
        {
            base.CheckDisposed("GetFolderHierarchySync");
            this.syncLogger.Information <int>(ExTraceGlobals.SyncTracer, (long)this.GetHashCode(), "FolderHierarchySyncState::GetFolderHierarchySync. Hashcode = {0}", this.GetHashCode());
            MailboxSession mailboxSession = base.StoreObject.Session as MailboxSession;

            if (mailboxSession == null)
            {
                throw new NotSupportedException();
            }
            return(new FolderHierarchySync(mailboxSession, this, changeTrackingDelegate));
        }
Esempio n. 2
0
 public FolderHierarchySync(MailboxSession storeSession, IFolderHierarchySyncState syncState, ChangeTrackingDelegate changeTrackingDelegate)
 {
     ExTraceGlobals.SyncTracer.Information <int>((long)this.GetHashCode(), "FolderHierarchySync::Constructor. HashCode = {0}.", this.GetHashCode());
     if (storeSession == null)
     {
         throw new ArgumentNullException("storeSession");
     }
     if (syncState == null)
     {
         throw new ArgumentNullException("syncState");
     }
     this.changeTrackingDelegate = changeTrackingDelegate;
     this.storeSession           = storeSession;
     this.syncState = syncState;
     if (this.ClientState == null)
     {
         this.ClientState = new Dictionary <StoreObjectId, FolderStateEntry>();
     }
     if (this.ServerManifest == null)
     {
         this.ServerManifest = new Dictionary <StoreObjectId, FolderManifestEntry>();
     }
 }