Exemple #1
0
        /// <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);
            }
        }
Exemple #2
0
 /// <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);
 }