public override void ExportToQueryableObject(QueryableObject queryableObject)
        {
            base.ExportToQueryableObject(queryableObject);
            QueryableEventController queryableEventController = queryableObject as QueryableEventController;

            if (queryableEventController != null)
            {
                queryableEventController.TimeToUpdateIdleWatermarks = this.timeToUpdateIdleWatermarks;
                lock (this.dispatchers)
                {
                    queryableEventController.ActiveMailboxes = new MultiValuedProperty <Guid>(false, QueryableEventControllerObjectSchema.ActiveMailboxes, (from x in this.dispatchers
                                                                                                                                                            select x.Key).ToArray <Guid>());
                }
                lock (this.upToDateDispatchers)
                {
                    queryableEventController.UpToDateMailboxes = new MultiValuedProperty <Guid>(false, QueryableEventControllerObjectSchema.UpToDateMailboxes, this.upToDateDispatchers.ToArray <Guid>());
                }
                lock (this.recoveryQueue)
                {
                    queryableEventController.RecoveryEventDispatcheres = new MultiValuedProperty <Guid>(false, QueryableEventControllerObjectSchema.RecoveryEventDispatcheres, this.recoveryQueue.ToArray());
                }
                lock (this.deadQueue)
                {
                    queryableEventController.DeadMailboxes = new MultiValuedProperty <Guid>(false, QueryableEventControllerObjectSchema.DeadMailboxes, this.deadQueue.ToArray());
                }
            }
        }
        // Token: 0x06000177 RID: 375 RVA: 0x0000738C File Offset: 0x0000558C
        public override void ExportToQueryableObject(QueryableObject queryableObject)
        {
            base.ExportToQueryableObject(queryableObject);
            QueryableThrottleGovernor queryableThrottleGovernor = queryableObject as QueryableThrottleGovernor;

            if (queryableThrottleGovernor != null)
            {
                QueryableThrottle queryableObject2 = new QueryableThrottle();
                this.throttle.ExportToQueryableObject(queryableObject2);
                queryableThrottleGovernor.Throttle = queryableObject2;
            }
        }
示例#3
0
        public override void ExportToQueryableObject(QueryableObject queryableObject)
        {
            base.ExportToQueryableObject(queryableObject);
            QueryableGovernor queryableGovernor = queryableObject as QueryableGovernor;

            if (queryableGovernor != null)
            {
                queryableGovernor.Status      = this.status.ToString();
                queryableGovernor.LastRunTime = this.lastRunTime;
                queryableGovernor.NumberConsecutiveFailures = (long)((ulong)this.numberConsecutiveFailures);
            }
        }
示例#4
0
        public override void ExportToQueryableObject(QueryableObject queryableObject)
        {
            base.ExportToQueryableObject(queryableObject);
            QueryableMailboxDispatcher queryableMailboxDispatcher = queryableObject as QueryableMailboxDispatcher;

            if (queryableMailboxDispatcher != null)
            {
                queryableMailboxDispatcher.MailboxGuid               = this.MailboxGuid;
                queryableMailboxDispatcher.DecayedEventCounter       = this.decayedEventCounter;
                queryableMailboxDispatcher.NumberOfActiveDispatchers = this.numberOfActiveDispatchers;
                queryableMailboxDispatcher.IsMailboxDead             = this.IsMailboxDead;
                queryableMailboxDispatcher.IsIdle = this.IsIdle;
            }
        }
示例#5
0
        // Token: 0x060003A2 RID: 930 RVA: 0x000118E0 File Offset: 0x0000FAE0
        public override void ExportToQueryableObject(QueryableObject queryableObject)
        {
            base.ExportToQueryableObject(queryableObject);
            QueryableThrottle queryableThrottle = queryableObject as QueryableThrottle;

            if (queryableThrottle != null)
            {
                queryableThrottle.ThrottleName           = this.name;
                queryableThrottle.CurrentThrottle        = this.currentThrottle;
                queryableThrottle.ActiveWorkItems        = this.activeWorkItems;
                queryableThrottle.PendingWorkItemsOnBase = this.pendingWorkItemsOnBase;
                queryableThrottle.QueueLength            = this.queue.Count;
                queryableThrottle.OverThrottle           = this.IsOverThrottle;
            }
        }
示例#6
0
        public override void ExportToQueryableObject(QueryableObject queryableObject)
        {
            base.ExportToQueryableObject(queryableObject);
            QueryableOnlineDatabase queryableOnlineDatabase = queryableObject as QueryableOnlineDatabase;

            if (queryableOnlineDatabase != null)
            {
                queryableOnlineDatabase.DatabaseName    = this.databaseInfo.DatabaseName;
                queryableOnlineDatabase.DatabaseGuid    = this.databaseInfo.Guid;
                queryableOnlineDatabase.RestartRequired = this.RestartRequired;
                QueryableEventController queryableObject2 = new QueryableEventController();
                this.eventController.ExportToQueryableObject(queryableObject2);
                queryableOnlineDatabase.EventController = queryableObject2;
            }
        }
示例#7
0
        public override void ExportToQueryableObject(QueryableObject queryableObject)
        {
            base.ExportToQueryableObject(queryableObject);
            QueryableEventBasedAssistantType queryableEventBasedAssistantType = queryableObject as QueryableEventBasedAssistantType;

            if (queryableEventBasedAssistantType != null)
            {
                queryableEventBasedAssistantType.AssistantGuid = this.Identity;
                queryableEventBasedAssistantType.AssistantName = this.NonLocalizedName;
                if (this.MailboxFilter != null)
                {
                    queryableEventBasedAssistantType.MailboxType = this.MailboxFilter.MailboxType.ToString();
                }
                queryableEventBasedAssistantType.MapiEventType      = this.EventMask.ToString();
                queryableEventBasedAssistantType.NeedMailboxSession = this.NeedsMailboxSession;
            }
        }
示例#8
0
        // Token: 0x0600018D RID: 397 RVA: 0x00007CD0 File Offset: 0x00005ED0
        public override void ExportToQueryableObject(QueryableObject queryableObject)
        {
            base.ExportToQueryableObject(queryableObject);
            QueryableDatabaseManager queryableDatabaseManager = queryableObject as QueryableDatabaseManager;

            if (queryableDatabaseManager != null)
            {
                queryableDatabaseManager.StartState = this.startState.ToString();
                queryableDatabaseManager.IsStopping = this.isStopping;
                QueryableThrottle queryableObject2 = new QueryableThrottle();
                this.throttle.ExportToQueryableObject(queryableObject2);
                queryableDatabaseManager.Throttle = queryableObject2;
                QueryableThrottleGovernor queryableThrottleGovernor = new QueryableThrottleGovernor();
                this.eventGovernor.ExportToQueryableObject(queryableThrottleGovernor);
                queryableDatabaseManager.Governor = queryableThrottleGovernor;
            }
        }
        // Token: 0x0600026A RID: 618 RVA: 0x0000D728 File Offset: 0x0000B928
        public override void ExportToQueryableObject(QueryableObject queryableObject)
        {
            base.ExportToQueryableObject(queryableObject);
            QueryableEventDispatcher queryableEventDispatcher = queryableObject as QueryableEventDispatcher;

            if (queryableEventDispatcher != null)
            {
                queryableEventDispatcher.AssistantName        = base.Assistant.Name;
                queryableEventDispatcher.AssistantGuid        = base.Assistant.Identity;
                queryableEventDispatcher.CommittedWatermark   = this.committedWatermark;
                queryableEventDispatcher.HighestEventQueued   = this.highestEventQueued;
                queryableEventDispatcher.RecoveryEventCounter = this.recoveryEventCounter;
                queryableEventDispatcher.IsInRetry            = this.isInRetry;
                queryableEventDispatcher.ActiveQueueLength    = base.ActiveQueue.Count;
                queryableEventDispatcher.PendingQueueLength   = base.PendingQueue.Count;
                queryableEventDispatcher.PendingWorkers       = base.PendingWorkers;
                queryableEventDispatcher.ActiveWorkers        = base.ActiveWorkers;
            }
        }
示例#10
0
        // Token: 0x060001F8 RID: 504 RVA: 0x0000A654 File Offset: 0x00008854
        public override void ExportToQueryableObject(QueryableObject queryableObject)
        {
            base.ExportToQueryableObject(queryableObject);
            QueryableEventController queryableEventController = queryableObject as QueryableEventController;

            if (queryableEventController != null)
            {
                queryableEventController.ShutdownState              = ((EventController.ShutdownState) this.shutdownState).ToString();
                queryableEventController.TimeToSaveWatermarks       = this.timeToSaveWatermarks;
                queryableEventController.HighestEventPolled         = this.highestEventPolled;
                queryableEventController.NumberEventsInQueueCurrent = this.numberEventsInQueueCurrent;
                queryableEventController.RestartRequired            = this.RestartRequired;
                QueryableThrottleGovernor queryableObject2 = new QueryableThrottleGovernor();
                this.governor.ExportToQueryableObject(queryableObject2);
                queryableEventController.Governor = queryableObject2;
                if (this.filter != null)
                {
                    queryableEventController.EventFilter = this.filter.ToString();
                }
            }
        }
示例#11
0
 public virtual void ExportToQueryableObject(QueryableObject queryableObject)
 {
 }
        // Token: 0x060004EF RID: 1263 RVA: 0x00019FB8 File Offset: 0x000181B8
        public Dictionary <string, object> ToDictionary()
        {
            Dictionary <string, object> dictionary = new Dictionary <string, object>();

            foreach (PropertyDefinition propertyDefinition in this.ObjectSchema.AllProperties)
            {
                object obj;
                if (string.Compare(propertyDefinition.Name, "ObjectState", true) != 0 && string.Compare(propertyDefinition.Name, "ExchangeVersion") != 0 && base.TryGetValueWithoutDefault(propertyDefinition, out obj) && obj != null)
                {
                    if (typeof(QueryableObject).IsAssignableFrom(propertyDefinition.Type))
                    {
                        object arg = obj;
                        SimpleProviderPropertyDefinition simpleProviderPropertyDefinition = propertyDefinition as SimpleProviderPropertyDefinition;
                        if (simpleProviderPropertyDefinition != null)
                        {
                            if (simpleProviderPropertyDefinition.IsMultivalued)
                            {
                                List <Dictionary <string, object> > list = new List <Dictionary <string, object> >();
                                if (QueryableObject.< ToDictionary > o__SiteContainer0.< > p__Site1 == null)
                                {
                                    QueryableObject.< ToDictionary > o__SiteContainer0.< > p__Site1 = CallSite <Func <CallSite, object, IEnumerable> > .Create(Binder.Convert(CSharpBinderFlags.None, typeof(IEnumerable), typeof(QueryableObject)));
                                }
                                using (IEnumerator enumerator2 = QueryableObject.< ToDictionary > o__SiteContainer0.< > p__Site1.Target(QueryableObject.< ToDictionary > o__SiteContainer0.< > p__Site1, arg).GetEnumerator())
                                {
                                    while (enumerator2.MoveNext())
                                    {
                                        if (QueryableObject.< ToDictionary > o__SiteContainer0.< > p__Site2 == null)
                                        {
                                            QueryableObject.< ToDictionary > o__SiteContainer0.< > p__Site2 = CallSite <Func <CallSite, object, QueryableObject> > .Create(Binder.Convert(CSharpBinderFlags.ConvertExplicit, typeof(QueryableObject), typeof(QueryableObject)));
                                        }
                                        QueryableObject queryableObject = QueryableObject.< ToDictionary > o__SiteContainer0.< > p__Site2.Target(QueryableObject.< ToDictionary > o__SiteContainer0.< > p__Site2, enumerator2.Current);
                                        list.Add(queryableObject.ToDictionary());
                                    }
                                }
                                dictionary.Add(propertyDefinition.Name, list);
                            }
                            else
                            {
                                if (QueryableObject.< ToDictionary > o__SiteContainer0.< > p__Site3 == null)
                                {
                                    QueryableObject.< ToDictionary > o__SiteContainer0.< > p__Site3 = CallSite <Action <CallSite, Dictionary <string, object>, string, object> > .Create(Binder.InvokeMember(CSharpBinderFlags.ResultDiscarded, "Add", null, typeof(QueryableObject), new CSharpArgumentInfo[]
                                    {
                                        CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType, null),
                                        CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType, null),
                                        CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
                                    }));
                                }
                                Action <CallSite, Dictionary <string, object>, string, object> target = QueryableObject.< ToDictionary > o__SiteContainer0.< > p__Site3.Target;
                                CallSite <> p__Site = QueryableObject.< ToDictionary > o__SiteContainer0.< > p__Site3;
                                Dictionary <string, object> arg2 = dictionary;
                                string name = propertyDefinition.Name;
                                if (QueryableObject.< ToDictionary > o__SiteContainer0.< > p__Site4 == null)
                                {
                                    QueryableObject.< ToDictionary > o__SiteContainer0.< > p__Site4 = CallSite <Func <CallSite, object, object> > .Create(Binder.InvokeMember(CSharpBinderFlags.None, "ToDictionary", null, typeof(QueryableObject), new CSharpArgumentInfo[]
                                    {
                                        CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null)
                                    }));
                                }
                                target(< > p__Site, arg2, name, QueryableObject.< ToDictionary > o__SiteContainer0.< > p__Site4.Target(QueryableObject.< ToDictionary > o__SiteContainer0.< > p__Site4, arg));
                            }
                        }
                    }
                    else
                    {
                        dictionary.Add(propertyDefinition.Name, obj);
                    }
                }
            }
            return(dictionary);
        }