/// <summary> /// Instantiate a one-time use Factory /// </summary> /// <param name="DescLocation">XML Description Uri</param> /// <param name="MaxSeconds">Device Refresh Cycle</param> /// <param name="deviceCB">Success Callback</param> /// <param name="failedCB">Failure Callback</param> public UPnPDeviceFactory(Uri DescLocation, int MaxSeconds, UPnPDeviceHandler deviceCB, UPnPDeviceFailedHandler failedCB, IPAddress localaddr, string usn, string userAgent = null) { Debug.Assert(null != DescLocation); Debug.Assert(null != deviceCB); // Debug.Assert(null != failedCB); Debug.Assert(null != localaddr); // Debug.Assert(null != usn); OpenSource.Utilities.InstanceTracker.Add(this); httprequestor = new HttpRequestor(); httprequestor.OnRequestCompleted += new HttpRequestor.RequestCompletedHandler(httprequestor_OnRequestCompleted); if (null != userAgent) { this.userAgent = userAgent; } httprequestor.UserAgent = this.userAgent; expected_usn = usn; CBLock = new object(); OnDevice += deviceCB; OnFailed2 += failedCB; DUrl = DescLocation.ToString(); MaxAge = MaxSeconds; this.localaddr = localaddr; httprequestor.LaunchRequest(DescLocation.ToString(), null, null, null, null); }
/// <summary> /// Instantiate a one-time use Factory /// </summary> /// <param name="DescLocation">XML Description Uri</param> /// <param name="MaxSeconds">Device Refresh Cycle</param> /// <param name="deviceCB">Success Callback</param> /// <param name="failedCB">Failure Callback</param> public UPnPDeviceFactory(Uri DescLocation, int MaxSeconds, UPnPDeviceHandler deviceCB, UPnPDeviceFailedHandler failedCB, IPAddress localaddr, string usn) { httprequestor = new HttpRequestor(); httprequestor.OnRequestCompleted += new HttpRequestor.RequestCompletedHandler(httprequestor_OnRequestCompleted); expected_usn = usn; CBLock = new object(); OnDevice += deviceCB; OnFailed2 += failedCB; DUrl = DescLocation.ToString(); MaxAge = MaxSeconds; this.localaddr = localaddr; httprequestor.LaunchRequest(DescLocation.ToString(), null, null, null, null); }
/// <summary> /// Instantiate a one-time use Factory /// </summary> /// <param name="DescLocation">XML Description Uri</param> /// <param name="MaxSeconds">Device Refresh Cycle</param> /// <param name="deviceCB">Success Callback</param> /// <param name="failedCB">Failure Callback</param> public UPnPDeviceFactory(Uri DescLocation, int MaxSeconds, UPnPDeviceHandler deviceCB, UPnPDeviceFailedHandler failedCB, IPAddress localaddr, string usn) { InstanceTracker.Add(this); httprequestor = new HttpRequestor(); httprequestor.OnRequestCompleted += httprequestor_OnRequestCompleted; expected_usn = usn; CBLock = new object(); OnDevice += deviceCB; OnFailed2 += failedCB; DUrl = DescLocation.ToString(); MaxAge = MaxSeconds; this.localaddr = localaddr; httprequestor.LaunchRequest(DescLocation.ToString(), null, null, null, null); }
/// <summary> /// Instantiate a one-time use Factory /// </summary> /// <param name="DescLocation">XML Description Uri</param> /// <param name="MaxSeconds">Device Refresh Cycle</param> /// <param name="deviceCB">Success Callback</param> /// <param name="failedCB">Failure Callback</param> public UPnPDeviceFactory(Uri DescLocation, int MaxSeconds, UPnPDeviceHandler deviceCB, UPnPDeviceFailedHandler failedCB, IPAddress localaddr, string usn) { OpenSource.Utilities.InstanceTracker.Add(this); httprequestor = new HttpRequestor(); httprequestor.OnRequestCompleted += new HttpRequestor.RequestCompletedHandler(httprequestor_OnRequestCompleted); expected_usn = usn; CBLock = new object(); OnDevice += deviceCB; OnFailed2 += failedCB; DUrl = DescLocation.ToString(); MaxAge = MaxSeconds; this.localaddr = localaddr; OpenSource.Utilities.EventLogger.Log(this, System.Diagnostics.EventLogEntryType.SuccessAudit, "Fetching Description"); httprequestor.LaunchRequest(DescLocation.ToString(), null, null, null, null); }
public UPnPDeviceFactory(Uri DescLocation, int MaxSeconds, UPnPDeviceHandler deviceCB, UPnPDeviceFailedHandler failedCB) { this.Lifetime = new LifeTimeMonitor(); InstanceTracker.Add(this); this.r = new HTTPRequest(); this.r.OnResponse += new HTTPRequest.RequestHandler(this.HandleRequest); this.CBLock = new object(); this.OnDevice = (UPnPDeviceHandler)Delegate.Combine(this.OnDevice, deviceCB); this.OnFailed = (UPnPDeviceFailedHandler)Delegate.Combine(this.OnFailed, failedCB); this.DUrl = DescLocation.ToString(); this.MaxAge = MaxSeconds; this.ExpiredHandler = new LifeTimeMonitor.LifeTimeHandler(this.HandleTimeout); this.Lifetime.OnExpired += this.ExpiredHandler; this.Lifetime.Add(DateTime.Now, 30); this.r.PipelineRequest(DescLocation, null); }