// Token: 0x06000112 RID: 274 RVA: 0x00006B14 File Offset: 0x00004D14
        internal static bool IsEventInteresting(MapiEvent mapiEvent, MailboxData mailboxData)
        {
            if (mapiEvent.ItemType != ObjectType.MAPI_MESSAGE)
            {
                return(false);
            }
            if ((mapiEvent.EventFlags & MapiEventFlags.FolderAssociated) != MapiEventFlags.None)
            {
                return(false);
            }
            if (mapiEvent.ItemEntryId == null || mapiEvent.ParentEntryId == null)
            {
                SentItemsProcessor.Tracer.TraceError(0L, "{0}: Found item without entry Id or parent entry Id", new object[]
                {
                    TraceContext.Get()
                });
                return(false);
            }
            bool flag = ObjectClass.IsSmsMessage(mapiEvent.ObjectClass);

            if (mapiEvent.ClientType == MapiEventClientTypes.Transport || (mapiEvent.ClientType == MapiEventClientTypes.AirSync && flag))
            {
                if ((mapiEvent.EventMask & MapiEventTypeFlags.ObjectCreated) != (MapiEventTypeFlags)0)
                {
                    if (mailboxData == null)
                    {
                        return(true);
                    }
                    DefaultFolderType defaultFolderType = mailboxData.MatchCachedDefaultFolderType(mapiEvent.ParentEntryId);
                    if (defaultFolderType == DefaultFolderType.SentItems)
                    {
                        SentItemsProcessor.Tracer.TraceDebug(0L, "{0}: Found item created in sent items by Transport", new object[]
                        {
                            TraceContext.Get()
                        });
                        return(flag || mailboxData.ConversationActionsEnabled);
                    }
                }
            }
            else if ((mapiEvent.ClientType == MapiEventClientTypes.MOMT || mapiEvent.ClientType == MapiEventClientTypes.User || mapiEvent.ClientType == MapiEventClientTypes.RpcHttp) && flag && (mapiEvent.EventMask & MapiEventTypeFlags.ObjectMoved) != (MapiEventTypeFlags)0)
            {
                if (mailboxData == null)
                {
                    return(true);
                }
                DefaultFolderType defaultFolderType2 = mailboxData.MatchCachedDefaultFolderType(mapiEvent.ParentEntryId);
                DefaultFolderType defaultFolderType3 = mailboxData.MatchCachedDefaultFolderType(mapiEvent.OldParentEntryId);
                if (defaultFolderType2 == DefaultFolderType.SentItems && defaultFolderType3 == DefaultFolderType.Outbox)
                {
                    SentItemsProcessor.Tracer.TraceDebug(0L, "{0}: Found item moved to sent items by Outlook", new object[]
                    {
                        TraceContext.Get()
                    });
                    return(true);
                }
            }
            return(false);
        }
 // Token: 0x06000136 RID: 310 RVA: 0x00007DAC File Offset: 0x00005FAC
 private static bool IsOutlookActivityProcessingNeeded(MapiEvent mapiEvent, MailboxData mailboxData)
 {
     return(ActivityLogHelper.IsActivityLoggingEnabled(false) && CommonConfiguration.Singleton.OutlookActivityProcessingEnabledInEba && mapiEvent.ObjectClass == "IPM.Activity" && mapiEvent.EventFlags.HasFlag(MapiEventFlags.FolderAssociated) && (mailboxData == null || mailboxData.MatchCachedDefaultFolderType(mapiEvent.ParentEntryId) == DefaultFolderType.Inbox) && mapiEvent.EventMask.HasFlag(MapiEventTypeFlags.ObjectCreated) && mapiEvent.ClientType != MapiEventClientTypes.EventBasedAssistants);
 }
示例#3
0
 // Token: 0x0600012B RID: 299 RVA: 0x0000745C File Offset: 0x0000565C
 private static bool IsMessageCreatedInSentItems(MapiEvent mapiEvent, MailboxData mailboxData)
 {
     if (mapiEvent.ItemType != ObjectType.MAPI_MESSAGE)
     {
         return(false);
     }
     if ((mapiEvent.EventFlags & MapiEventFlags.FolderAssociated) != MapiEventFlags.None)
     {
         return(false);
     }
     if (!mapiEvent.ExtendedEventFlags.Contains(MapiExtendedEventFlags.IrmRestrictedItem))
     {
         return(false);
     }
     if (mapiEvent.ItemEntryId == null || mapiEvent.ParentEntryId == null)
     {
         LicensingProcessor.Tracer.TraceError(0L, "{0}: Found item without entry Id or parent entry Id", new object[]
         {
             TraceContext.Get()
         });
         return(false);
     }
     if (!ObjectClass.IsOfClass(mapiEvent.ObjectClass, "IPM.Note"))
     {
         return(false);
     }
     if (mapiEvent.ClientType == MapiEventClientTypes.Transport)
     {
         if ((mapiEvent.EventMask & MapiEventTypeFlags.ObjectCreated) != (MapiEventTypeFlags)0)
         {
             if (mailboxData == null)
             {
                 return(true);
             }
             DefaultFolderType defaultFolderType = mailboxData.MatchCachedDefaultFolderType(mapiEvent.ParentEntryId);
             if (defaultFolderType == DefaultFolderType.SentItems)
             {
                 LicensingProcessor.Tracer.TraceDebug(0L, "{0}: Found item created in sent items by Transport", new object[]
                 {
                     TraceContext.Get()
                 });
                 return(true);
             }
         }
     }
     else if ((mapiEvent.ClientType == MapiEventClientTypes.MOMT || mapiEvent.ClientType == MapiEventClientTypes.User || mapiEvent.ClientType == MapiEventClientTypes.RpcHttp) && (mapiEvent.EventMask & MapiEventTypeFlags.ObjectMoved) != (MapiEventTypeFlags)0)
     {
         if (mailboxData == null)
         {
             return(true);
         }
         DefaultFolderType defaultFolderType2 = mailboxData.MatchCachedDefaultFolderType(mapiEvent.ParentEntryId);
         DefaultFolderType defaultFolderType3 = mailboxData.MatchCachedDefaultFolderType(mapiEvent.OldParentEntryId);
         if (defaultFolderType2 == DefaultFolderType.SentItems && defaultFolderType3 == DefaultFolderType.Outbox)
         {
             LicensingProcessor.Tracer.TraceDebug(0L, "{0}: Found item moved to sent items by Outlook", new object[]
             {
                 TraceContext.Get()
             });
             return(true);
         }
     }
     return(false);
 }