// 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()); }
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"); } }