Esempio n. 1
0
 // Token: 0x060015DB RID: 5595 RVA: 0x0007B110 File Offset: 0x00079310
 protected override void OnObjectModified(IMapiEvent mapiEvent, IMailboxSession itemStore, IStoreObject item, List <KeyValuePair <string, object> > customDataToLog)
 {
     ExTraceGlobals.GeneralTracer.TraceDebug((long)this.GetHashCode(), "EventTimeBasedInboxReminderProcessor.OnObjectModified");
     if (item != null)
     {
         ExTraceGlobals.GeneralTracer.TraceDebug((long)this.GetHashCode(), "EventTimeBasedInboxReminderProcessor.OnObjectModified - item exists");
         if (!(item is ICalendarItem))
         {
             return;
         }
         ICalendarItem calendarItem = (ICalendarItem)item;
         if (calendarItem.GlobalObjectId == null)
         {
             base.Log.LogEntry(itemStore, "EventTimeBasedInboxReminder.OnObjectModified - Calendar item missing GOID", new object[0]);
             return;
         }
         base.Log.LogEntry(itemStore, "EventTimeBasedInboxReminder.OnObjectModified - Start Time:{0}, End Time:{1}", new object[]
         {
             calendarItem.StartTime.UniversalTime,
             calendarItem.EndTime.UniversalTime
         });
         this.DeleteReminderMessages(itemStore, calendarItem, customDataToLog);
         this.CreateReminderMessages(itemStore, calendarItem, customDataToLog);
     }
 }
        // Token: 0x060013D9 RID: 5081 RVA: 0x000738DC File Offset: 0x00071ADC
        private int ResolveUnseenEmailCount(IMapiEvent mapiEvent, List <PushNotificationServerSubscription> subscriptions)
        {
            int result;

            if (!PushNotificationMapiEventAnalyzer.IsIpmFolderContentChangeEvent(mapiEvent))
            {
                long num  = this.assistantCache.ReadEmailWatermarkFromCache(mapiEvent.MailboxGuid);
                long num2 = (subscriptions[0].InboxUnreadCount != null) ? subscriptions[0].InboxUnreadCount.Value : num;
                if (num <= num2)
                {
                    result = 1;
                    this.assistantCache.UpdateEmailWatermarkToCache(mapiEvent.MailboxGuid, num - 1L);
                }
                else
                {
                    result = (int)(num - num2);
                    this.assistantCache.UpdateEmailWatermarkToCache(mapiEvent.MailboxGuid, num2);
                }
            }
            else
            {
                long num2 = this.assistantCache.ReadEmailWatermarkFromCache(mapiEvent.MailboxGuid);
                long num  = mapiEvent.UnreadItemCount;
                if (num <= num2)
                {
                    result = 1;
                    this.assistantCache.UpdateEmailWatermarkToCache(mapiEvent.MailboxGuid, num - 1L);
                }
                else
                {
                    result = (int)(num - num2);
                }
            }
            return(result);
        }
        // Token: 0x060015CE RID: 5582 RVA: 0x0007AC28 File Offset: 0x00078E28
        public override bool IsEventInteresting(IMapiEvent mapiEvent)
        {
            bool flag  = mapiEvent.ItemType == ObjectType.MAPI_MESSAGE;
            bool flag2 = !base.IsNonIPMFolder(mapiEvent.ExtendedEventFlags);
            bool flag3 = base.IsModernRemindersModified(mapiEvent.ExtendedEventFlags);
            bool flag4 = this.IsTypeInteresting(mapiEvent.ObjectClass);
            bool flag5 = Globals.IsEventOfType(mapiEvent, MapiEventTypeFlags.ObjectModified) && flag3 && flag4;
            bool flag6 = Globals.IsEventOfType(mapiEvent, MapiEventTypeFlags.ObjectMoved) && flag3 && flag4;
            bool flag7 = Globals.IsEventOfType(mapiEvent, MapiEventTypeFlags.ObjectDeleted) && flag3 && flag4;
            bool flag8 = Globals.IsEventOfType(mapiEvent, MapiEventTypeFlags.ObjectCreated) && flag4 && this.IsCreateInteresting;
            bool flag9 = flag5 || flag6 || flag7 || flag8;

            ExTraceGlobals.GeneralTracer.TraceDebug((long)this.GetHashCode(), "ModernReminderProcessor.IsEventInteresting - relevantPropertyChange={0}, modified={1}, moved={2}, deleted={3}, created={4}, relevantOperation={5}, relevantItemType={6}, relevantFolder={7}", new object[]
            {
                flag3,
                flag5,
                flag6,
                flag7,
                flag8,
                flag9,
                flag,
                flag2
            });
            return(flag && flag2 && flag9);
        }
 // Token: 0x06001659 RID: 5721 RVA: 0x0007DEAC File Offset: 0x0007C0AC
 protected override void OnObjectModified(IMapiEvent mapiEvent, IMailboxSession itemStore, IStoreObject item, List <KeyValuePair <string, object> > customDataToLog)
 {
     ExTraceGlobals.GeneralTracer.TraceDebug((long)this.GetHashCode(), "ToDoModernReminderProcessor.OnObjectModified");
     if (item != null)
     {
         ExTraceGlobals.GeneralTracer.TraceDebug((long)this.GetHashCode(), "ToDoModernReminderProcessor.OnObjectModified - item exists");
         IToDoItem toDoItem = (IToDoItem)item;
         Reminders <ModernReminder> reminders = toDoItem.ModernReminders;
         if (reminders != null)
         {
             ExTraceGlobals.GeneralTracer.TraceDebug((long)this.GetHashCode(), "ToDoModernReminderProcessor.OnObjectModified - Reminders exist -> schedule reminder");
             int numRemindersScheduled = 0;
             customDataToLog.Add(new KeyValuePair <string, object>("ToDoRemSchd.Latency", base.ExecuteAndMeasure(delegate
             {
                 numRemindersScheduled = this.ReminderMessageManager.ScheduleReminder(itemStore, toDoItem, reminders);
             }).ToString()));
             customDataToLog.Add(new KeyValuePair <string, object>("ToDoRemSchd.Count", numRemindersScheduled));
             return;
         }
         ExTraceGlobals.GeneralTracer.TraceDebug((long)this.GetHashCode(), "ToDoModernReminderProcessor.OnObjectModified - Modern reminders don't exist -> clearing the reminder");
         customDataToLog.Add(new KeyValuePair <string, object>("ToDoRemClr.Latency", base.ExecuteAndMeasure(delegate
         {
             this.ReminderMessageManager.ClearReminder(itemStore, toDoItem);
         }).ToString()));
     }
 }
Esempio n. 5
0
        // Token: 0x06001426 RID: 5158 RVA: 0x00074498 File Offset: 0x00072698
        internal bool IsValidFolderMessageForEmailSubscription(IMapiEvent mapiEvent)
        {
            if (!this.IsEmailSubscriptionEnabled(mapiEvent.MailboxGuid))
            {
                return(false);
            }
            CachedState cachedState = AssistantsService.CachedObjectsList.GetCachedState(mapiEvent.MailboxGuid);

            byte[] y;
            if (!this.TryGetInboxFolderIdFromCache(mapiEvent.MailboxGuid, out y))
            {
                return(false);
            }
            if (!ArrayComparer <byte> .Comparer.Equals(mapiEvent.ItemEntryId, y))
            {
                return(false);
            }
            long inboxItemCount;

            using (new PushNotificationDataHandler.CachedStateReadLock(cachedState))
            {
                MailboxData mailboxData = cachedState.State[9] as MailboxData;
                inboxItemCount = mailboxData.InboxItemCount;
                if (inboxItemCount != mapiEvent.ItemCount)
                {
                    using (new PushNotificationDataHandler.CachedStateUpgradeWriteLock(cachedState))
                    {
                        mailboxData.InboxItemCount = mapiEvent.ItemCount;
                    }
                }
            }
            return(inboxItemCount < mapiEvent.ItemCount && mapiEvent.UnreadItemCount > 0L);
        }
 // Token: 0x060013D4 RID: 5076 RVA: 0x00073581 File Offset: 0x00071781
 internal void HandleEvent(IMapiEvent mapiEvent, IMailboxSession session, IStoreObject item)
 {
     if (PushNotificationMapiEventAnalyzer.IsSubscriptionChangeEvent(mapiEvent))
     {
         this.HandleSubscriptionChangeEvent(session, item);
         return;
     }
     this.HandleNotificationEvent(mapiEvent, session, item);
 }
        // Token: 0x06001638 RID: 5688 RVA: 0x0007D8EC File Offset: 0x0007BAEC
        public void HandleEvent(IMapiEvent mapiEvent, IMailboxSession itemStore, IStoreObject item, bool isItemInDumpster, List <KeyValuePair <string, object> > customDataToLog)
        {
            this.Log.LogEntry(itemStore, "Event Reminder item received", new object[0]);
            Stopwatch stopwatch = Stopwatch.StartNew();

            this.ReminderMessageManager.ReceivedReminderMessage(itemStore, item);
            stopwatch.Stop();
            customDataToLog.Add(new KeyValuePair <string, object>("RemRcv.Latency", stopwatch.ElapsedMilliseconds.ToString()));
        }
        // Token: 0x060015EC RID: 5612 RVA: 0x0007B4E4 File Offset: 0x000796E4
        public void HandleEvent(IMapiEvent mapiEvent, IMailboxSession itemStore, IStoreObject item, bool isItemInDumpster, List <KeyValuePair <string, object> > customDataToLog)
        {
            this.Log.LogEntry(itemStore, "Resubmitting reminder messages on MailboxMoveSucceeded", new object[0]);
            Stopwatch stopwatch = Stopwatch.StartNew();
            int       num       = this.ReminderMessageManager.ResubmitReminderMessages(itemStore);

            stopwatch.Stop();
            customDataToLog.Add(new KeyValuePair <string, object>("Resubmit.Latency", stopwatch.ElapsedMilliseconds.ToString()));
            customDataToLog.Add(new KeyValuePair <string, object>("Resubmit.Count", num));
        }
Esempio n. 9
0
 // Token: 0x060015D5 RID: 5589 RVA: 0x0007ADD8 File Offset: 0x00078FD8
 protected override void OnObjectDeleted(IMapiEvent mapiEvent, IMailboxSession itemStore, IStoreObject item, List <KeyValuePair <string, object> > customDataToLog)
 {
     ExTraceGlobals.GeneralTracer.TraceDebug((long)this.GetHashCode(), "EmailModernReminderProcessor.OnObjectDeleted");
     if (item != null)
     {
         ExTraceGlobals.GeneralTracer.TraceDebug((long)this.GetHashCode(), "EmailModernReminderProcessor.OnObjectDeleted - item exists");
         IToDoItem messageItem = (IToDoItem)item;
         this.DeleteReminderMessages(itemStore, messageItem, customDataToLog);
     }
 }
        // Token: 0x060013D6 RID: 5078 RVA: 0x000736A8 File Offset: 0x000718A8
        private void HandleNotificationEvent(IMapiEvent mapiEvent, IMailboxSession session, IStoreObject item)
        {
            PushNotificationContext pushNotificationContext = new PushNotificationContext
            {
                OriginalTime = ExDateTime.UtcNow
            };

            if (this.assistantCache.ShouldProcessUnseenEmailEvent(session, this.XSOFactory, mapiEvent) && this.PopulateSubscriptionsAndTenantId(mapiEvent, session, pushNotificationContext))
            {
                if (this.assistantCache.IsBackgroundSyncEnabled(mapiEvent.MailboxGuid))
                {
                    pushNotificationContext.BackgroundSyncType = BackgroundSyncType.Email;
                }
                pushNotificationContext.UnseenEmailCount = new int?(this.ResolveUnseenEmailCount(mapiEvent, pushNotificationContext.Subscriptions));
                PushNotificationHelper.LogMailboxNotificationResolution(mapiEvent.MailboxGuid, pushNotificationContext);
                this.NotificationBatchManager.Add(mapiEvent.MailboxGuid, pushNotificationContext);
            }
        }
        // Token: 0x060015C5 RID: 5573 RVA: 0x0007AB58 File Offset: 0x00078D58
        public void HandleEvent(IMapiEvent mapiEvent, IMailboxSession itemStore, IStoreObject item, bool isItemInDumpster, List <KeyValuePair <string, object> > customDataToLog)
        {
            bool flag  = Globals.IsEventOfType(mapiEvent, MapiEventTypeFlags.ObjectModified);
            bool flag2 = Globals.IsEventOfType(mapiEvent, MapiEventTypeFlags.ObjectMoved);
            bool flag3 = Globals.IsStoreObjectDeleted(mapiEvent, itemStore, isItemInDumpster);
            bool flag4 = Globals.IsEventOfType(mapiEvent, MapiEventTypeFlags.ObjectCreated);

            ExAssert.RetailAssert(flag || flag2 || flag3 || flag4, "HandleEvent called for uninteresting event, eventMask={0}", new object[]
            {
                mapiEvent.EventMask
            });
            if (flag3)
            {
                this.OnObjectDeleted(mapiEvent, itemStore, item, customDataToLog);
                return;
            }
            this.OnObjectModified(mapiEvent, itemStore, item, customDataToLog);
        }
 // Token: 0x060013D3 RID: 5075 RVA: 0x0007351C File Offset: 0x0007171C
 internal bool IsEventInteresting(IMapiEvent mapiEvent)
 {
     if (mapiEvent.ItemType != ObjectType.MAPI_MESSAGE && mapiEvent.ItemType != ObjectType.MAPI_FOLDER)
     {
         return(false);
     }
     if (PushNotificationMapiEventAnalyzer.IsSubscriptionChangeEvent(mapiEvent))
     {
         return(true);
     }
     if (!this.AssistantConfig.IsPublishingEnabled)
     {
         return(false);
     }
     if (PushNotificationMapiEventAnalyzer.IsNewMessageEvent(mapiEvent))
     {
         return(this.assistantCache.IsCacheUpdateRequiredForEmailSubscription(mapiEvent));
     }
     return(PushNotificationMapiEventAnalyzer.IsIpmFolderContentChangeEvent(mapiEvent) && this.assistantCache.IsValidFolderMessageForEmailSubscription(mapiEvent));
 }
        // Token: 0x060013D7 RID: 5079 RVA: 0x00073738 File Offset: 0x00071938
        private bool PopulateSubscriptionsAndTenantId(IMapiEvent mapiEvent, IMailboxSession session, PushNotificationContext pushNotificationContext)
        {
            PushNotificationContext pushNotificationContext2;

            if (this.NotificationBatchManager.TryGetPushNotification(mapiEvent.MailboxGuid, out pushNotificationContext2))
            {
                pushNotificationContext.Subscriptions = pushNotificationContext2.Subscriptions;
                pushNotificationContext.TenantId      = pushNotificationContext2.TenantId;
            }
            else
            {
                using (IPushNotificationStorage pushNotificationStorage = this.XSOFactory.FindPushNotificationStorage(session))
                {
                    if (pushNotificationStorage != null)
                    {
                        pushNotificationContext.TenantId      = pushNotificationStorage.TenantId;
                        pushNotificationContext.Subscriptions = this.ResolveSubscriptions(session, pushNotificationStorage);
                    }
                }
            }
            return(pushNotificationContext.Subscriptions != null && pushNotificationContext.Subscriptions.Count > 0);
        }
Esempio n. 14
0
        // Token: 0x060015DA RID: 5594 RVA: 0x0007B004 File Offset: 0x00079204
        public override bool IsEventInteresting(IMapiEvent mapiEvent)
        {
            bool flag  = mapiEvent.ItemType == ObjectType.MAPI_MESSAGE;
            bool flag2 = !base.IsNonIPMFolder(mapiEvent.ExtendedEventFlags);
            bool flag3 = base.IsModernRemindersModified(mapiEvent.ExtendedEventFlags) || this.IsContentIndexingPropertyModified(mapiEvent.ExtendedEventFlags) || this.IsAppointmentTimeModified(mapiEvent.ExtendedEventFlags);
            bool flag4 = ObjectClass.IsCalendarItem(mapiEvent.ObjectClass);
            bool flag5 = Globals.IsEventOfType(mapiEvent, MapiEventTypeFlags.ObjectModified) && flag3;
            bool flag6 = Globals.IsEventOfType(mapiEvent, MapiEventTypeFlags.ObjectMoved);
            bool flag7 = Globals.IsEventOfType(mapiEvent, MapiEventTypeFlags.ObjectDeleted);
            bool flag8 = flag4 && (flag5 || flag6 || flag7);

            ExTraceGlobals.GeneralTracer.TraceDebug((long)this.GetHashCode(), "EventTimeBasedInboxReminderProcessor.IsEventInteresting - relevantPropertyChange={0}, modified={1}, moved={2}, deleted={3}, relevantOperation={4}, relevantItemType={5}, relevantFolder={6}", new object[]
            {
                flag3,
                flag5,
                flag6,
                flag7,
                flag8,
                flag,
                flag2
            });
            return(flag && flag2 && flag8);
        }
 // Token: 0x060015C4 RID: 5572
 public abstract bool IsEventInteresting(IMapiEvent mapiEvent);
Esempio n. 16
0
 // Token: 0x06001440 RID: 5184 RVA: 0x00074D95 File Offset: 0x00072F95
 internal static bool IsSubscriptionChangeEvent(IMapiEvent mapiEvent)
 {
     return(mapiEvent.ItemType == ObjectType.MAPI_MESSAGE && ObjectClass.IsOfClass(mapiEvent.ObjectClass, "Exchange.PushNotification.Subscription") && (mapiEvent.EventMask.Contains(MapiEventTypeFlags.ObjectCreated) || mapiEvent.EventMask.Contains(MapiEventTypeFlags.ObjectModified)));
 }
        // Token: 0x060015EB RID: 5611 RVA: 0x0007B4C4 File Offset: 0x000796C4
        public bool IsEventInteresting(IMapiEvent mapiEvent)
        {
            MapiEventTypeFlags mapiEventTypeFlags = MapiEventTypeFlags.MailboxMoveSucceeded;

            return((mapiEvent.EventMask & mapiEventTypeFlags) == mapiEventTypeFlags);
        }
Esempio n. 18
0
 // Token: 0x06001441 RID: 5185 RVA: 0x00074DD4 File Offset: 0x00072FD4
 internal static bool IsIpmFolderContentChangeEvent(IMapiEvent mapiEvent)
 {
     return(mapiEvent.ItemType == ObjectType.MAPI_FOLDER && ObjectClass.IsOfClass(mapiEvent.ObjectClass, "IPF.Note") && mapiEvent.EventMask.Contains(MapiEventTypeFlags.ObjectModified) && mapiEvent.EventFlags.HasFlag(MapiEventFlags.ContentOnly) && mapiEvent.ExtendedEventFlags.Contains((MapiExtendedEventFlags)int.MinValue) && mapiEvent.ItemCount != -1L);
 }
Esempio n. 19
0
 // Token: 0x060000C9 RID: 201 RVA: 0x00005386 File Offset: 0x00003586
 internal static bool IsEventOfType(IMapiEvent mapiEvent, MapiEventTypeFlags eventType)
 {
     return((mapiEvent.EventMask & eventType) == eventType);
 }
Esempio n. 20
0
 // Token: 0x06001432 RID: 5170 RVA: 0x00074864 File Offset: 0x00072A64
 internal static void LogHandleEventError(Exception ex, IDatabaseInfo databaseInfo, IMapiEvent mapiEvent)
 {
     Globals.Logger.LogEvent(InfoWorkerEventLogConstants.Tuple_ErrorProcessingHandleEvent, ex.ToString(), new object[]
     {
         ex.ToString(),
         (ex.InnerException != null) ? ex.InnerException.ToString() : string.Empty,
         databaseInfo.DatabaseName,
         mapiEvent.MailboxGuid
     });
     PushNotificationsCrimsonEvents.AssistantException.Log <string, Guid, string, string>(databaseInfo.DatabaseName, mapiEvent.MailboxGuid, ex.ToTraceString(), string.Empty);
     ExTraceGlobals.PushNotificationAssistantTracer.TraceError <string, Guid, string>(0L, "Notification for account {2}:{3} failed with error: {0}.", databaseInfo.DatabaseName, mapiEvent.MailboxGuid, ex.ToTraceString());
 }
Esempio n. 21
0
        // Token: 0x06001427 RID: 5159 RVA: 0x00074578 File Offset: 0x00072778
        internal bool ShouldProcessUnseenEmailEvent(IMailboxSession session, IXSOFactory xsoFactory, IMapiEvent mapiEvent)
        {
            if (!this.IsEmailSubscriptionEnabled(mapiEvent.MailboxGuid))
            {
                return(false);
            }
            if (PushNotificationMapiEventAnalyzer.IsIpmFolderContentChangeEvent(mapiEvent))
            {
                return(true);
            }
            CachedState cachedState = AssistantsService.CachedObjectsList.GetCachedState(session.MailboxGuid);

            using (new PushNotificationDataHandler.CachedStateReadLock(cachedState))
            {
                if (!(cachedState.State[9] is MailboxData))
                {
                    using (new PushNotificationDataHandler.CachedStateUpgradeWriteLock(cachedState))
                    {
                        if (!(cachedState.State[9] is MailboxData))
                        {
                            MailboxData mailboxData = new MailboxData(session.MailboxGuid);
                            if (!mailboxData.LoadData(session, xsoFactory))
                            {
                                return(false);
                            }
                            cachedState.State[9] = mailboxData;
                            return(ArrayComparer <byte> .Comparer.Equals(mapiEvent.ParentEntryId, mailboxData.InboxFolderId));
                        }
                    }
                }
            }
            return(false);
        }
Esempio n. 22
0
 // Token: 0x06001425 RID: 5157 RVA: 0x00074468 File Offset: 0x00072668
 internal bool IsCacheUpdateRequiredForEmailSubscription(IMapiEvent mapiEvent)
 {
     byte[] array;
     return(this.IsEmailSubscriptionEnabled(mapiEvent.MailboxGuid) && !this.TryGetInboxFolderIdFromCache(mapiEvent.MailboxGuid, out array));
 }
 // Token: 0x0600165A RID: 5722 RVA: 0x0007DFFF File Offset: 0x0007C1FF
 protected override void OnObjectDeleted(IMapiEvent mapiEvent, IMailboxSession itemStore, IStoreObject item, List <KeyValuePair <string, object> > customDataToLog)
 {
     ExTraceGlobals.GeneralTracer.TraceDebug((long)this.GetHashCode(), "ToDoModernReminderProcessor.OnObjectDeleted");
 }
 // Token: 0x060015C8 RID: 5576
 protected abstract void OnObjectDeleted(IMapiEvent mapiEvent, IMailboxSession itemStore, IStoreObject item, List <KeyValuePair <string, object> > customDataToLog);
Esempio n. 25
0
 // Token: 0x060000CA RID: 202 RVA: 0x00005393 File Offset: 0x00003593
 internal static bool IsStoreObjectDeleted(IMapiEvent mapiEvent, MailboxSession mailboxSession, IStoreObject storeObject)
 {
     return(storeObject == null || Globals.IsStoreObjectDeleted(mapiEvent, mailboxSession, Globals.IsItemInDumpster(mailboxSession, storeObject)));
 }
 // Token: 0x06001637 RID: 5687 RVA: 0x0007D8B0 File Offset: 0x0007BAB0
 public bool IsEventInteresting(IMapiEvent mapiEvent)
 {
     return((mapiEvent.EventMask & MapiEventTypeFlags.ObjectCreated) == MapiEventTypeFlags.ObjectCreated && ((mapiEvent.ExtendedEventFlags & MapiExtendedEventFlags.NonIPMFolder) == MapiExtendedEventFlags.None && mapiEvent.ItemType == ObjectType.MAPI_MESSAGE) && ObjectClass.IsOfClass(mapiEvent.ObjectClass, "IPM.Note.Reminder.Event"));
 }
Esempio n. 27
0
 // Token: 0x060000CB RID: 203 RVA: 0x000053A8 File Offset: 0x000035A8
 internal static bool IsStoreObjectDeleted(IMapiEvent mapiEvent, IMailboxSession mailboxSession, bool isStoreObjectInDumpster)
 {
     return(isStoreObjectInDumpster || Globals.IsEventOfType(mapiEvent, MapiEventTypeFlags.ObjectDeleted) || (Globals.IsEventOfType(mapiEvent, MapiEventTypeFlags.ObjectMoved) && Globals.IsDeletedItemsFolder(mailboxSession, mapiEvent.ParentEntryId)));
 }
 // Token: 0x060000EE RID: 238 RVA: 0x00005A52 File Offset: 0x00003C52
 private static bool IsAnInterestingContact(IMapiEvent mapiEvent)
 {
     return((mapiEvent.EventMask & (MapiEventTypeFlags.ObjectCreated | MapiEventTypeFlags.ObjectDeleted | MapiEventTypeFlags.ObjectModified | MapiEventTypeFlags.ObjectMoved)) != (MapiEventTypeFlags)0 && ObjectClass.IsContact(mapiEvent.ObjectClass));
 }
Esempio n. 29
0
 // Token: 0x06001442 RID: 5186 RVA: 0x00074E48 File Offset: 0x00073048
 internal static bool IsNewMessageEvent(IMapiEvent mapiEvent)
 {
     return(mapiEvent.ItemType == ObjectType.MAPI_MESSAGE && ObjectClass.IsOfClass(mapiEvent.ObjectClass, "IPM.Note") && mapiEvent.EventMask.Contains(MapiEventTypeFlags.ObjectCreated) && !mapiEvent.EventFlags.HasFlag(MapiEventFlags.SearchFolder) && mapiEvent.ExtendedEventFlags.Contains((MapiExtendedEventFlags)int.MinValue));
 }