Exemple #1
0
        // Token: 0x0600142A RID: 5162 RVA: 0x00074718 File Offset: 0x00072918
        private bool TryGetInboxFolderIdFromCache(Guid mailboxGuid, out byte[] inboxId)
        {
            inboxId = null;
            CachedState cachedState = AssistantsService.CachedObjectsList.GetCachedState(mailboxGuid);
            bool        result;

            using (new PushNotificationDataHandler.CachedStateReadLock(cachedState))
            {
                MailboxData mailboxData = cachedState.State[9] as MailboxData;
                if (mailboxData == null)
                {
                    result = false;
                }
                else
                {
                    inboxId = mailboxData.InboxFolderId;
                    result  = true;
                }
            }
            return(result);
        }
Exemple #2
0
        // Token: 0x0600141D RID: 5149 RVA: 0x000741BC File Offset: 0x000723BC
        internal void UpdateSubscriptionData(Guid mailboxGuid, PushNotificationSubscription subscriptionContract)
        {
            PushNotificationSubscriptionOption subscriptionOption = subscriptionContract.GetSubscriptionOption();

            this.subscribedMailboxes.AddOrUpdate(mailboxGuid, (byte)subscriptionOption, (Guid key, byte oldValue) => (byte)subscriptionOption);
            if (subscriptionContract.InboxUnreadCount != null && subscriptionContract.InboxUnreadCount > 0L)
            {
                CachedState cachedState = AssistantsService.CachedObjectsList.GetCachedState(mailboxGuid);
                using (new PushNotificationDataHandler.CachedStateReadLock(cachedState))
                {
                    MailboxData mailboxData = (MailboxData)cachedState.State[9];
                    if (mailboxData != null)
                    {
                        using (new PushNotificationDataHandler.CachedStateUpgradeWriteLock(cachedState))
                        {
                            mailboxData.InboxUnreadCount = subscriptionContract.InboxUnreadCount.Value;
                        }
                    }
                }
            }
        }