/// <summary> /// Cancels an existing request. /// </summary> public bool CancelRequest(Request request, TsCHdaCancelCompleteEventHandler callback) { lock (this) { // check if it is a valid request. if (!m_requests.Contains(request.RequestID)) { return(false); } // request will be removed when the cancel complete callback arrives. if (callback != null) { request.CancelCompleteEvent += callback; } // no confirmation required - remove request immediately. else { m_requests.Remove(request.RequestID); } // request will be cancelled. return(true); } }
/// <summary> /// Cancels an asynchronous request. /// </summary> /// <param name="request">The state object for the request to cancel.</param> /// <param name="callback">A delegate used to receive notifications when the request completes.</param> public void CancelRequest(IOpcRequest request, TsCHdaCancelCompleteEventHandler callback) { if (_server == null) { throw new NotConnectedException(); } ((ITsCHdaServer)_server).CancelRequest(request, callback); }