GetProviders() public method

Gets instances that provide a capability
public GetProviders ( Capability capability ) : IEnumerable
capability Capability
return IEnumerable
示例#1
0
        // Generate the dependency list
        public override void VisitRegistry(Registry registry)
        {
            var dependencies = instance.Dependencies;

            var message = new AppDependency();
            foreach (var capability in dependencies)
            {
                var capabilityList = new Dictionary<string, string>();

                foreach(var appInstance in registry.GetProviders(capability))
                {
                    capabilityList.Add(appInstance.InstanceId, appInstance.AppStatus.ToString());
                }

                message.Dependencies[capability.Name] = capabilityList;
            }

            instance.Send("APP_DEPENDENCY " + message.Serialize());
        }
示例#2
0
        public override void VisitRegistry(Registry registry)
        {
            if (!HasValidGuid)
            {
                Debug.WriteLine("GUID " + this.guid + " is invalid, not sending query");
                return;
            }

            var cap = GetCapability();
            var msg = "MSG_QUERY " + query.Serialize();

            if (cap != null)
            {
                foreach (AppInstance other in registry.GetProviders(cap))
                {
                    other.Send(msg);
                    ShouldArchive = true;
                }
            }
            else
            {
                Debug.WriteLine("Warning: App did not declare a " + query.Capability + " dependency, not sending message");
            }
        }