// Token: 0x060015CA RID: 5578 RVA: 0x0007ABE4 File Offset: 0x00078DE4
 protected bool IsModernRemindersModified(MapiExtendedEventFlags extendedEventFlags)
 {
     return((extendedEventFlags & MapiExtendedEventFlags.ModernRemindersChanged) != MapiExtendedEventFlags.None);
 }
Пример #2
0
 // Token: 0x06000578 RID: 1400 RVA: 0x0001B4A9 File Offset: 0x000196A9
 internal static bool Contains(this MapiExtendedEventFlags eventMask, MapiExtendedEventFlags eventFlag)
 {
     return((eventMask & eventFlag) != MapiExtendedEventFlags.None);
 }
 // Token: 0x060015C9 RID: 5577 RVA: 0x0007ABD3 File Offset: 0x00078DD3
 protected bool IsNonIPMFolder(MapiExtendedEventFlags extendedEventFlags)
 {
     return((extendedEventFlags & MapiExtendedEventFlags.NonIPMFolder) != MapiExtendedEventFlags.None);
 }
Пример #4
0
 private static bool HasFreeBusyChanged(string messageClass, MapiEventTypeFlags mapiEventType, MapiExtendedEventFlags mapiExtendedEventFlags)
 {
     if (messageClass == "IPM.Appointment")
     {
         if (mapiEventType == MapiEventTypeFlags.ObjectModified)
         {
             bool flag = (mapiExtendedEventFlags & MapiExtendedEventFlags.AppointmentFreeBusyNotModified) != MapiExtendedEventFlags.AppointmentFreeBusyNotModified;
             if (flag)
             {
                 return(true);
             }
             flag = ((mapiExtendedEventFlags & MapiExtendedEventFlags.AppointmentTimeNotModified) != MapiExtendedEventFlags.AppointmentTimeNotModified);
             if (flag)
             {
                 return(true);
             }
         }
         else if (mapiEventType == MapiEventTypeFlags.ObjectCreated || mapiEventType == MapiEventTypeFlags.ObjectDeleted || mapiEventType == MapiEventTypeFlags.ObjectMoved)
         {
             return(true);
         }
     }
     return(false);
 }
Пример #5
0
        internal bool IsEventRelevant(Guid mailboxGuid, MapiEventTypeFlags mapiEventType, ObjectType mapiObjectType, MapiEventFlags mapiEventFlags, MapiExtendedEventFlags mapiExtendedEventFlags, byte[] entryId, byte[] parentEntryId, byte[] oldParentEntryId, string messageClass, string containerClass)
        {
            EnumValidator.AssertValid <ObjectType>(mapiObjectType);
            EnumValidator.AssertValid <MapiEventTypeFlags>(mapiEventType);
            if (mailboxGuid != this.mailboxGuid)
            {
                return(false);
            }
            if (this.condition.EventType != EventType.None && ((this.condition.EventType & EventType.FreeBusyChanged) != EventType.FreeBusyChanged || !EventSink.HasFreeBusyChanged(messageClass, mapiEventType, mapiExtendedEventFlags)) && (mapiEventType & this.mapiEventTypes) == (MapiEventTypeFlags)0)
            {
                return(false);
            }
            if (this.condition.ObjectType != EventObjectType.None)
            {
                switch (this.condition.ObjectType)
                {
                case EventObjectType.Item:
                    if (mapiObjectType != ObjectType.MAPI_MESSAGE)
                    {
                        return(false);
                    }
                    break;

                case EventObjectType.Folder:
                    if (mapiObjectType != ObjectType.MAPI_FOLDER)
                    {
                        return(false);
                    }
                    break;
                }
            }
            if (this.condition.EventSubtree != EventSubtreeFlag.All)
            {
                if (this.condition.EventSubtree == EventSubtreeFlag.NonIPMSubtree && (mapiExtendedEventFlags & MapiExtendedEventFlags.NonIPMFolder) != MapiExtendedEventFlags.NonIPMFolder)
                {
                    return(false);
                }
                if (this.condition.EventSubtree == EventSubtreeFlag.IPMSubtree && (mapiExtendedEventFlags & (MapiExtendedEventFlags)(-2147483648)) != (MapiExtendedEventFlags)(-2147483648))
                {
                    return(false);
                }
            }
            if (this.condition.EventFlags != EventFlags.None)
            {
                EventFlags eventFlags = ((mapiExtendedEventFlags & MapiExtendedEventFlags.NoReminderPropertyModified) == MapiExtendedEventFlags.NoReminderPropertyModified) ? EventFlags.None : EventFlags.ReminderPropertiesModified;
                if ((mapiExtendedEventFlags & MapiExtendedEventFlags.TimerEventFired) == MapiExtendedEventFlags.TimerEventFired)
                {
                    eventFlags |= EventFlags.TimerEventFired;
                }
                if ((eventFlags & this.condition.EventFlags) != this.condition.EventFlags)
                {
                    return(false);
                }
            }
            if ((mapiEventFlags & MapiEventFlags.SoftDeleted) == MapiEventFlags.SoftDeleted)
            {
                return(false);
            }
            if (this.parentEntryIds.Length != 0 || this.objectEntryIds.Length != 0)
            {
                bool flag  = false;
                bool flag2 = (mapiEventType & MapiEventTypeFlags.ObjectMoved) == MapiEventTypeFlags.ObjectMoved;
                IEqualityComparer <byte[]> comparer = ArrayComparer <byte> .Comparer;
                foreach (byte[] x in this.parentEntryIds)
                {
                    if (comparer.Equals(x, parentEntryId))
                    {
                        flag = true;
                        break;
                    }
                    if (flag2 && comparer.Equals(x, oldParentEntryId))
                    {
                        flag = true;
                        break;
                    }
                }
                if (!flag)
                {
                    foreach (byte[] x2 in this.objectEntryIds)
                    {
                        if (comparer.Equals(x2, entryId))
                        {
                            flag = true;
                            break;
                        }
                    }
                    if (!flag)
                    {
                        return(false);
                    }
                }
            }
            if (this.considerClassNames)
            {
                string text;
                if (mapiObjectType == ObjectType.MAPI_FOLDER)
                {
                    text = containerClass;
                }
                else
                {
                    text = messageClass;
                }
                foreach (string b in this.expectedClassNameExactMatches)
                {
                    if (text == b)
                    {
                        return(true);
                    }
                }
                foreach (string value in this.expectedClassNamePrefixes)
                {
                    if (text.StartsWith(value))
                    {
                        return(true);
                    }
                }
                return(false);
            }
            return(true);
        }
 // Token: 0x0600091F RID: 2335 RVA: 0x0003D847 File Offset: 0x0003BA47
 private static bool InterestingFlagsExists(ChangeHighlightProperties changeHilite, MapiExtendedEventFlags mapiExtEvtFlags)
 {
     return(((ChangeHighlightProperties.MapiStartTime | ChangeHighlightProperties.MapiEndTime | ChangeHighlightProperties.RecurrenceProps | ChangeHighlightProperties.Location | ChangeHighlightProperties.Subject) & changeHilite) != ChangeHighlightProperties.None || MapiExtendedEventFlags.None == (MapiExtendedEventFlags.NoReminderPropertyModified & mapiExtEvtFlags));
 }
Пример #7
0
 // Token: 0x060015E0 RID: 5600 RVA: 0x0007B3FC File Offset: 0x000795FC
 private bool IsAppointmentTimeModified(MapiExtendedEventFlags extendedEventFlags)
 {
     return((extendedEventFlags & MapiExtendedEventFlags.AppointmentTimeNotModified) == MapiExtendedEventFlags.None);
 }
Пример #8
0
 // Token: 0x060015DF RID: 5599 RVA: 0x0007B3F2 File Offset: 0x000795F2
 private bool IsContentIndexingPropertyModified(MapiExtendedEventFlags extendedEventFlags)
 {
     return((extendedEventFlags & MapiExtendedEventFlags.NoContentIndexingPropertyModified) == MapiExtendedEventFlags.None);
 }