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)); }
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>(); } }