/// <summary>
 /// Adds a discovered activity manager to the UI
 /// </summary>
 /// <param name="serviceInfo">The information of the found service</param>
 private void AddDiscoveryActivityManagerToUI(ServiceInfo serviceInfo)
 {
     Dispatcher.Invoke(DispatcherPriority.Background, new Action(() =>
                                                                     {
                                                                         managerlist.Items.Add(serviceInfo.Name +
                                                                                               " at " +
                                                                                               serviceInfo.
                                                                                                   Address);
                                                                         managerlist.MouseDoubleClick +=
                                                                             managerlist_MouseDoubleClick;
                                                                     }));
 }
Esempio n. 2
0
 private void AddFoundServiceFromSCResolvedData(IResolvableService metaData)
 {
     var sst = new ServiceInfo(metaData.TxtRecord["name"].ValueString, metaData.TxtRecord["loc"].ValueString,
                               metaData.TxtRecord["addr"].ValueString, metaData.TxtRecord["code"].ValueString);
     ActivityServices.Add(sst);
     OnDiscoveryAddressAdded(new DiscoveryAddressAddedEventArgs(sst));
 }
Esempio n. 3
0
 /// <summary>
 /// Adds a discovered service to the service list and send a DiscoverAddressAdded event
 /// </summary>
 /// <param name="metaData">The meta data of the service</param>
 private void AddFoundServiceFromWSMetaData(EndpointDiscoveryMetadata metaData)
 {
     var sst = new ServiceInfo(
         Helpers.Xml.FromXElement<string>(metaData.Extensions[0]),
         Helpers.Xml.FromXElement<string>(metaData.Extensions[1]),
         Helpers.Xml.FromXElement<string>(metaData.Extensions[2]),
         Helpers.Xml.FromXElement<string>(metaData.Extensions[3]));
     ActivityServices.Add(sst);
     OnDiscoveryAddressAdded(new DiscoveryAddressAddedEventArgs(sst));
 }
Esempio n. 4
0
 private void HandleRequest(IAsyncResult result)
 {
     var endPoint = new IPEndPoint(IPAddress.Any, WsDiscoveryPort);
     var bytes = _udpClient.EndReceive(result, ref endPoint);
     var str = Encoding.ASCII.GetString(bytes);
     var xml = new XmlDocument();
     xml.LoadXml(str);
     var matches = xml.SelectNodes("//*[local-name() = 'ProbeMatch'] | //*[local-name() = 'Hello']");
     if(matches.Count > 0)
     {
         foreach(XmlNode match in matches)
         {
             var serviceInfo = new ServiceInfo
                              {
                                  Name = match.SelectNodes("//*[local-name() = 'string']")[0].InnerText,
                                  Location = match.SelectNodes("//*[local-name() = 'string']")[1].InnerText,
                                  Address = match.SelectNodes("//*[local-name() = 'string']")[2].InnerText,
                                  Code = match.SelectNodes("//*[local-name() = 'string']")[3].InnerText
                              };
             if (ActivityServices.SingleOrDefault(si => si.Address == serviceInfo.Address) == null)
             {
                 ActivityServices.Add(serviceInfo);
                 OnDiscoveryAddressAdded(new DiscoveryAddressAddedEventArgs(serviceInfo));
             }
         }
     }
     _udpClient.BeginReceive(HandleRequest, _udpClient);
 }
Esempio n. 5
0
 /// <summary>
 /// Adds a discovered activity manager to the UI
 /// </summary>
 /// <param name="serviceInfo">The information of the found service</param>
 private void AddDiscoveryActivityManagerToUi(ServiceInfo serviceInfo)
 {
     if (_startMode == StartUpMode.Client && _startingUp)
     {
         if (MessageBoxResult.Yes == MessageBox.Show("Activity Manager found '" + serviceInfo.Name
             + "' do you wish to connect to local activity service?",
        "Activity Manager Found", MessageBoxButton.YesNo, MessageBoxImage.Information, MessageBoxResult.Yes))
             StartClient(serviceInfo.Address);
         else
             StartActivityManager();
     }
     Dispatcher.Invoke(DispatcherPriority.Background, new System.Action(() 
         => managerlist.Items.Add(serviceInfo.Name + " at " + serviceInfo.Address)));
 }
 public DiscoveryAddressAddedEventArgs(ServiceInfo serviceInfo)
 {
     ServiceInfo = new ServiceInfo();
     ServiceInfo = serviceInfo;
 }