コード例 #1
0
ファイル: UpnpDeviceFinder.cs プロジェクト: chinshou/ohSpy
        private void HandleDeviceAdded(OpenHome.Net.ControlPoint.CpDeviceList aList, OpenHome.Net.ControlPoint.CpDevice aDevice)
        {
            string xml;

            if (!aDevice.GetAttribute("Upnp.DeviceXml", out xml))
            {
                Console.WriteLine("Device has no DeviceXml.");
                return;
            }
            string uri;

            if (!aDevice.GetAttribute("Upnp.Location", out uri))
            {
                Console.WriteLine("Device has no Location???");
                return;
            }

            var info = UpnpDeviceInfo.FromXmlString(
                xml,
                new Uri(uri),
                new HttpFetcher());

            iDevices.AddDevice(info);

            var deviceAddedDelegate = DeviceAdded;

            if (deviceAddedDelegate != null)
            {
                deviceAddedDelegate.Invoke(this, new UpnpDeviceEventArgs {
                    DeviceInfo = info
                });
            }
        }
コード例 #2
0
ファイル: UpnpDeviceFinder.cs プロジェクト: chinshou/ohSpy
        private void HandleDeviceRemoved(OpenHome.Net.ControlPoint.CpDeviceList aList, OpenHome.Net.ControlPoint.CpDevice aDevice)
        {
            UpnpDeviceInfo info;

            if (iDevices.TryGetDevice(aDevice.Udn(), out info))
            {
                iDevices.DropDevice(aDevice.Udn());
                var deviceRemovedDelegate = DeviceRemoved;
                if (deviceRemovedDelegate != null)
                {
                    deviceRemovedDelegate.Invoke(this, new UpnpDeviceEventArgs {
                        DeviceInfo = info
                    });
                }
            }
        }