public UPnPServerWatcher() { CPData cpData = new CPData(); _networkTracker = new UPnPNetworkTracker(cpData); _networkTracker.RootDeviceAdded += OnUPnPRootDeviceAdded; _networkTracker.RootDeviceRemoved += OnUPnPRootDeviceRemoved; }
public UPnPServerControlPoint() { CPData cpData = new CPData(); _networkTracker = new UPnPNetworkTracker(cpData); _controlPoint = new UPnPControlPoint(_networkTracker); _networkTracker.RootDeviceAdded += OnUPnPRootDeviceAdded; _networkTracker.RootDeviceRemoved += OnUPnPRootDeviceRemoved; }
public UPnPClientControlPoint(string homeServerSystemId) { _homeServerSystemId = homeServerSystemId; CPData cpData = new CPData(); _networkTracker = new UPnPNetworkTracker(cpData); _controlPoint = new UPnPControlPoint(_networkTracker); _networkTracker.RootDeviceAdded += OnUPnPRootDeviceAdded; }
/// <summary> /// Creates a new <see cref="DeviceConnection"/> to the UPnP device contained in the given /// <paramref name="rootDescriptor"/> with the given <paramref name="deviceUuid"/>. /// </summary> /// <param name="controlPoint">Control point hosting the new device connection instance.</param> /// <param name="rootDescriptor">Root descriptor containing the description of the UPnP device to connect.</param> /// <param name="deviceUuid">UUID of the UPnP device to connect.</param> /// <param name="cpData">Shared control point data structure.</param> /// <param name="dataTypeResolver">Delegate method to resolve extended datatypes.</param> public DeviceConnection(UPnPControlPoint controlPoint, RootDescriptor rootDescriptor, string deviceUuid, CPData cpData, DataTypeResolverDlgt dataTypeResolver) { _controlPoint = controlPoint; _cpData = cpData; _rootDescriptor = rootDescriptor; _deviceUUID = deviceUuid; _genaClientController = new GENAClientController(_cpData, this, rootDescriptor.SSDPRootEntry.PreferredLink.Endpoint, rootDescriptor.SSDPRootEntry.UPnPVersion); BuildDeviceProxy(rootDescriptor, deviceUuid, dataTypeResolver); _genaClientController.Start(); }
public FormDeviceSpy() { InitializeComponent(); CPData cpData = new CPData(); _networkTracker = new UPnPNetworkTracker(cpData); }
/// <summary> /// Creates a new <see cref="DeviceConnection"/> to the UPnP device contained in the given /// <paramref name="rootDescriptor"/> with the given <paramref name="deviceUuid"/>. /// </summary> /// <param name="controlPoint">Control point hosting the new device connection instance.</param> /// <param name="rootDescriptor">Root descriptor containing the description of the UPnP device to connect.</param> /// <param name="deviceUuid">UUID of the UPnP device to connect.</param> /// <param name="cpData">Shared control point data structure.</param> /// <param name="dataTypeResolver">Delegate method to resolve extended datatypes.</param> /// <param name="useHttpKeepAlive"><c>True</c> to set the HTTP keep-alive header in action requests sent over the connection, otherwise <c>false</c>.</param> public DeviceConnection(UPnPControlPoint controlPoint, RootDescriptor rootDescriptor, string deviceUuid, CPData cpData, DataTypeResolverDlgt dataTypeResolver, bool useHttpKeepAlive = true) { _controlPoint = controlPoint; _cpData = cpData; _rootDescriptor = rootDescriptor; _deviceUUID = deviceUuid; _useHttpKeepAlive = useHttpKeepAlive; _genaClientController = new GENAClientController(_cpData, this, rootDescriptor.SSDPRootEntry.PreferredLink.Endpoint, rootDescriptor.SSDPRootEntry.UPnPVersion); BuildDeviceProxy(rootDescriptor, deviceUuid, dataTypeResolver); _genaClientController.Start(); }
/// <summary> /// Creates a new instance of <see cref="UPnPControlPoint"/>. /// </summary> /// <remarks> /// The specified <paramref name="networkTracker"/> must be controlled independently from this control point, i.e. /// it must be explicitly started and stopped. See the docs of this class for an example code sequence. /// </remarks> /// <param name="networkTracker">Network tracker instance used to collect UPnP network device descriptions.</param> public UPnPControlPoint(UPnPNetworkTracker networkTracker) { _cpData = networkTracker.SharedControlPointData; _networkTracker = networkTracker; }
/// <summary> /// Creates a new UPnP network tracker instance. /// </summary> /// <param name="cpData">Shared control point data instance.</param> public UPnPNetworkTracker(CPData cpData) { _cpData = cpData; }
/// <summary> /// Constructor. /// </summary> /// <param name="listener">A listener that wishes to be notified about device events.</param> public DeviceDetector(IDeviceEventListener listener) { _deviceEventListener = listener; // Setup UPnP device detection. UPnPConfiguration.LOGGER = new Tve3Logger(); _upnpControlPointData = new CPData(); _upnpAgent = new UPnPNetworkTracker(_upnpControlPointData); _upnpAgent.RootDeviceAdded += OnUpnpRootDeviceAdded; _upnpAgent.RootDeviceRemoved += OnUpnpRootDeviceRemoved; _upnpControlPoint = new UPnPControlPoint(_upnpAgent); // Setup other (BDA, PBDA, WDM) device detection. try { InitBdaDetectionGraph(); } catch (Exception ex) { Log.Log.Error("Failed to initialise the BDA device detection graph!\r\n{0}", ex); throw; } _systemDeviceChangeEventWatcher = new ManagementEventWatcher(); // EventType 2 and 3 are device arrival and removal. See: // http://msdn.microsoft.com/en-us/library/windows/desktop/aa394124%28v=vs.85%29.aspx _systemDeviceChangeEventWatcher.Query = new WqlEventQuery("SELECT * FROM Win32_DeviceChangeEvent WHERE EventType = 2 OR EventType = 3"); _systemDeviceChangeEventWatcher.EventArrived += OnSystemDeviceConnectedOrDisconnected; }