Beispiel #1
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;
                        }
                    }
                }
            }
        }
 public virtual void UpdateSubscriptionOnMailboxTable(IMailboxSession session, PushNotificationSubscriptionOption subscriptionOption)
 {
     session.Mailbox.Load(new PropertyDefinition[]
     {
         MailboxSchema.PushNotificationSubscriptionType
     });
     session.Mailbox[MailboxSchema.PushNotificationSubscriptionType] = new byte[]
     {
         (byte)subscriptionOption
     };
     session.Mailbox.Save();
     session.Mailbox.Load();
 }
 public static bool IsBackgroundSyncEnabled(PushNotificationSubscriptionOption subscriptionOption)
 {
     return((subscriptionOption & PushNotificationSubscriptionOption.BackgroundSync) == PushNotificationSubscriptionOption.BackgroundSync);
 }
 public static bool IsSuppressNotificationsWhenOofEnabled(PushNotificationSubscriptionOption subscriptionOption)
 {
     return((subscriptionOption & PushNotificationSubscriptionOption.SuppressNotificationsWhenOof) == PushNotificationSubscriptionOption.SuppressNotificationsWhenOof);
 }
 public static bool IsEmailSubscriptionEnabled(PushNotificationSubscriptionOption subscriptionOption)
 {
     return((subscriptionOption & PushNotificationSubscriptionOption.Email) == PushNotificationSubscriptionOption.Email);
 }
 public static bool IsSubscriptionDisabled(PushNotificationSubscriptionOption subscriptionOption)
 {
     return(subscriptionOption == PushNotificationSubscriptionOption.NoSubscription);
 }