示例#1
0
        public void DeserializeData(BinaryReader reader, ComponentDataPool componentDataPool)
        {
            GenericDictionaryData <DerivedData <ISyncItemId>, ISyncItemId, FolderTree.FolderInfo> genericDictionaryData = new GenericDictionaryData <DerivedData <ISyncItemId>, ISyncItemId, FolderTree.FolderInfo>();

            genericDictionaryData.DeserializeData(reader, componentDataPool);
            this.folderTree = genericDictionaryData.Data;
        }
        public void DeserializeData(BinaryReader reader, ComponentDataPool componentDataPool)
        {
            GenericDictionaryData <DerivedData <RecipientInfoCacheSyncItemId>, RecipientInfoCacheSyncItemId, Int64Data, long> genericDictionaryData = new GenericDictionaryData <DerivedData <RecipientInfoCacheSyncItemId>, RecipientInfoCacheSyncItemId, Int64Data, long>();

            genericDictionaryData.DeserializeData(reader, componentDataPool);
            this.cacheEntryIdToLastUpdateTime = genericDictionaryData.Data;
            DateTimeData dateTimeData = new DateTimeData();

            dateTimeData.DeserializeData(reader, componentDataPool);
            this.lastModifiedTime = dateTimeData.Data;
        }
示例#3
0
        // Token: 0x060015CA RID: 5578 RVA: 0x00080E1C File Offset: 0x0007F01C
        protected void Load(string base64SyncData)
        {
            byte[] array = SyncCalendarSyncStateBase.ConvertBase64SyncStateData(base64SyncData);
            ExTraceGlobals.MethodEnterExitTracer.TraceDebug((long)this.GetHashCode(), "SyncCalendarSyncStateBase.Load called.");
            GenericDictionaryData <StringData, string, DerivedData <ICustomSerializableBuilder> > genericDictionaryData = null;

            try
            {
                if (array != null && array.Length > 0)
                {
                    using (MemoryStream memoryStream = new MemoryStream(array))
                    {
                        using (MemoryStream memoryStream2 = new MemoryStream())
                        {
                            using (BinaryReader binaryReader = new BinaryReader(memoryStream2))
                            {
                                ComponentDataPool componentDataPool = new ComponentDataPool();
                                byte[]            transferBuffer    = new byte[71680];
                                SerializationHelper.Decompress(memoryStream, memoryStream2, transferBuffer);
                                memoryStream2.Seek(0L, SeekOrigin.Begin);
                                GenericDictionaryData <StringData, string, DerivedData <ICustomSerializableBuilder> > genericDictionaryData2 = new GenericDictionaryData <StringData, string, DerivedData <ICustomSerializableBuilder> >();
                                genericDictionaryData2.DeserializeData(binaryReader, componentDataPool);
                                genericDictionaryData = genericDictionaryData2;
                            }
                        }
                    }
                    if (genericDictionaryData == null)
                    {
                        throw new CorruptSyncStateException("No SyncStateDictionaryData", null);
                    }
                }
                else
                {
                    genericDictionaryData = new GenericDictionaryData <StringData, string, DerivedData <ICustomSerializableBuilder> >(new Dictionary <string, DerivedData <ICustomSerializableBuilder> >());
                    this.InitializeSyncState(genericDictionaryData.Data);
                }
                this.VerifySyncState(genericDictionaryData.Data);
            }
            catch (CustomSerializationException innerException)
            {
                throw new CorruptSyncStateException("SyncCalendarSyncStateBase.Load caught", innerException);
            }
            catch (ArgumentException innerException2)
            {
                throw new CorruptSyncStateException("SyncCalendarSyncStateBase.Load caught", innerException2);
            }
            catch (EndOfStreamException innerException3)
            {
                throw new CorruptSyncStateException("SyncCalendarSyncStateBase.Load caught", innerException3);
            }
            this.syncStateTable = genericDictionaryData;
            ExTraceGlobals.MethodEnterExitTracer.TraceDebug((long)this.GetHashCode(), "SyncCalendarSyncStateBase.Load successful.");
        }
示例#4
0
 internal void DeserializeData(BinaryReader reader, ComponentDataPool componentDataPool)
 {
     lock (this.instanceLock)
     {
         DateTimeData dateTimeDataInstance = componentDataPool.GetDateTimeDataInstance();
         dateTimeDataInstance.DeserializeData(reader, componentDataPool);
         this.LastCleanTime = dateTimeDataInstance.Data;
         GenericDictionaryData <StringData, string, MeetingOrganizerEntryData, MeetingOrganizerEntry> genericDictionaryData = new GenericDictionaryData <StringData, string, MeetingOrganizerEntryData, MeetingOrganizerEntry>();
         genericDictionaryData.DeserializeData(reader, componentDataPool);
         this.map     = genericDictionaryData.Data;
         this.IsDirty = false;
         if (this.LastCleanTime - (ExDateTime)TimeProvider.UtcNow > MeetingOrganizerInfo.AllowedClockSkew)
         {
             throw new CorruptSyncStateException(new LocalizedString("DeviceBehavior.DeserializeData"), null);
         }
         this.CleanIfNecessary();
     }
 }
示例#5
0
        // Token: 0x060008E7 RID: 2279 RVA: 0x00035378 File Offset: 0x00033578
        public virtual void DeserializeData(BinaryReader reader, ComponentDataPool componentDataPool)
        {
            if (componentDataPool.ExternalVersion < 1)
            {
                GenericDictionaryData <StringData, string, StoreObjectIdData, StoreObjectId> genericDictionaryData = new GenericDictionaryData <StringData, string, StoreObjectIdData, StoreObjectId>();
                genericDictionaryData.DeserializeData(reader, componentDataPool);
                Dictionary <string, StoreObjectId> data = genericDictionaryData.Data;
                this.syncIdToMailboxIdTable = new Dictionary <string, ISyncItemId>(data.Count);
                using (Dictionary <string, StoreObjectId> .Enumerator enumerator = data.GetEnumerator())
                {
                    while (enumerator.MoveNext())
                    {
                        KeyValuePair <string, StoreObjectId> keyValuePair = enumerator.Current;
                        this.syncIdToMailboxIdTable[keyValuePair.Key] = MailboxSyncItemId.CreateForNewItem(keyValuePair.Value);
                    }
                    goto IL_92;
                }
            }
            GenericDictionaryData <StringData, string, DerivedData <ISyncItemId>, ISyncItemId> genericDictionaryData2 = new GenericDictionaryData <StringData, string, DerivedData <ISyncItemId>, ISyncItemId>();

            genericDictionaryData2.DeserializeData(reader, componentDataPool);
            this.syncIdToMailboxIdTable = genericDictionaryData2.Data;
IL_92:
            this.mailboxIdToSyncIdTable = new Dictionary <ISyncItemId, string>(this.syncIdToMailboxIdTable.Count);
            foreach (KeyValuePair <string, ISyncItemId> keyValuePair2 in this.syncIdToMailboxIdTable)
            {
                this.mailboxIdToSyncIdTable.Add(keyValuePair2.Value, keyValuePair2.Key);
            }
            GenericListData <StringData, string> genericListData = new GenericListData <StringData, string>();

            genericListData.DeserializeData(reader, componentDataPool);
            this.deletedItems = genericListData.Data;
            genericListData.DeserializeData(reader, componentDataPool);
            this.addedItems    = genericListData.Data;
            this.uniqueCounter = reader.ReadInt64();
        }