// Token: 0x06001806 RID: 6150 RVA: 0x0008D4FC File Offset: 0x0008B6FC public Dictionary <string, StoreObjectId> Upgrade(Dictionary <string, FolderNode> folders, string synckeyIn, DeviceIdentity deviceIdentityIn, uint version, out Dictionary <string, StoreObjectType> contentTypeTable) { if (synckeyIn == null) { AirSyncDiagnostics.TraceDebug(ExTraceGlobals.TiUpgradeTracer, this, "Input to TiFolderSyncUpgrade.Upgrade is null: field synckeyIn"); throw new ArgumentNullException("synckeyIn"); } if (deviceIdentityIn == null) { AirSyncDiagnostics.TraceDebug(ExTraceGlobals.TiUpgradeTracer, this, "Input to TiFolderSyncUpgrade.Upgrade is null: field deviceIdentityIn"); throw new ArgumentNullException("deviceIdentityIn"); } this.deviceIdentity = deviceIdentityIn; this.folderIdMappingSyncState = null; Dictionary <string, StoreObjectId> dictionary = new Dictionary <string, StoreObjectId>(); try { this.LoadE12SyncState(); this.folderHierarchySync = this.syncState.GetFolderHierarchySync(); FolderSyncUpgrade folderSyncUpgrade = new FolderSyncUpgrade(this.mailboxSession.GetDefaultFolderId(DefaultFolderType.Root)); dictionary = folderSyncUpgrade.Upgrade(this.folderHierarchySync, this.syncState, folders, out contentTypeTable); string text = synckeyIn; int num = text.LastIndexOf("}"); if (num >= 0) { text = text.Substring(num + 1, text.Length - num - 1); } if (text.Length > 0) { int data = int.Parse(text, CultureInfo.InvariantCulture); this.syncState[CustomStateDatumType.SyncKey] = new Int32Data(data); } this.UpdateMapping(dictionary); AirSyncSyncStateTypeFactory.EnsureSyncStateTypesRegistered(); this.syncState[CustomStateDatumType.AirSyncProtocolVersion] = new Int32Data((int)version); this.folderIdMappingSyncState.Commit(); if (folders != null) { this.syncState.Commit(); } contentTypeTable["EmailSyncFile"] = StoreObjectType.Folder; contentTypeTable["ContactsSyncFile"] = StoreObjectType.ContactsFolder; contentTypeTable["CalendarSyncFile"] = StoreObjectType.CalendarFolder; contentTypeTable["TasksSyncFile"] = StoreObjectType.TasksFolder; } finally { if (this.syncState != null) { this.syncState.Dispose(); } } return(dictionary); }
internal CustomSyncStateInfo() { AirSyncSyncStateTypeFactory.EnsureSyncStateTypesRegistered(); }