// Token: 0x06000D5C RID: 3420 RVA: 0x0003243C File Offset: 0x0003063C
        static ConversationRowNotificationHandler()
        {
            Shape[] shapes = new Shape[]
            {
                ConversationShape.CreateShape()
            };
            ResponseShape responseShape = WellKnownShapes.ResponseShapes[WellKnownShapeName.ConversationUberListView];

            ConversationRowNotificationHandler.defaultConversationViewQuerySubscriptionProperties = RowNotificationHandler.GetPropertyDefinitionsForResponseShape(shapes, responseShape, new PropertyDefinition[]
            {
                ConversationItemSchema.ConversationPreview
            });
        }
        static MessageItemRowNotificationHandler()
        {
            Shape[] shapes = new Shape[]
            {
                ItemShape.CreateShape(),
                    MessageShape.CreateShape(),
                    TaskShape.CreateShape()
            };
            ResponseShape responseShape = WellKnownShapes.ResponseShapes[WellKnownShapeName.MailListItem];

            MessageItemRowNotificationHandler.defaultSubscriptionProperties           = RowNotificationHandler.GetPropertyDefinitionsForResponseShape(shapes, responseShape, new PropertyDefinition[0]);
            MessageItemRowNotificationHandler.normalizedSubjectPropertyDefinition     = WellKnownProperties.NormalizedSubject.ToPropertyDefinition();
            MessageItemRowNotificationHandler.lastVerbExecutedPropertyDefinition      = WellKnownProperties.LastVerbExecuted.ToPropertyDefinition();
            MessageItemRowNotificationHandler.lastVerbExecutionTimePropertyDefinition = WellKnownProperties.LastVerbExecutionTime.ToPropertyDefinition();
        }
Exemple #3
0
        // Token: 0x060011DF RID: 4575 RVA: 0x00044FBC File Offset: 0x000431BC
        private static void AddFlightedProperties(ResponseShape clientShape, ResponseShape namedShape, IFeaturesManager featuresManager)
        {
            if (namedShape.FlightedProperties == null || featuresManager == null)
            {
                return;
            }
            HashSet <PropertyPath> hashSet = new HashSet <PropertyPath>();

            foreach (string text in namedShape.FlightedProperties.Keys)
            {
                if (featuresManager.IsFeatureSupported(text))
                {
                    hashSet.UnionWith(namedShape.FlightedProperties[text]);
                }
            }
            if (hashSet.Any <PropertyPath>())
            {
                if (clientShape.AdditionalProperties != null)
                {
                    hashSet.UnionWith(clientShape.AdditionalProperties);
                }
                clientShape.AdditionalProperties = hashSet.ToArray <PropertyPath>();
            }
        }
Exemple #4
0
        // Token: 0x06000D16 RID: 3350 RVA: 0x00030BF8 File Offset: 0x0002EDF8
        protected static PropertyDefinition[] GetPropertyDefinitionsForResponseShape(IEnumerable <Shape> shapes, ResponseShape responseShape, params PropertyDefinition[] specialProperties)
        {
            List <PropertyDefinition> list = new List <PropertyDefinition>();

            foreach (PropertyPath propertyPath in responseShape.AdditionalProperties)
            {
                ExtendedPropertyUri extendedPropertyUri = propertyPath as ExtendedPropertyUri;
                if (extendedPropertyUri != null)
                {
                    list.Add(extendedPropertyUri.ToPropertyDefinition());
                }
                else
                {
                    foreach (Shape shape in shapes)
                    {
                        PropertyInformation propertyInformation;
                        if (shape.TryGetPropertyInformation(propertyPath, out propertyInformation))
                        {
                            list.AddRange(propertyInformation.GetPropertyDefinitions(null));
                            break;
                        }
                    }
                }
            }
            if (specialProperties != null)
            {
                list.AddRange(specialProperties);
            }
            return(list.ToArray());
        }