Exemple #1
0
        /// <summary>
        /// Invokes callback for a read annotations request.
        /// </summary>
        private bool InvokeCallback(TsCHdaUpdateCompleteEventHandler callback, object results)
        {
            // check for valid result type.
            if (!typeof(TsCHdaResultCollection[]).IsInstanceOfType(results))
            {
                return(false);
            }

            TsCHdaResultCollection[] values = (TsCHdaResultCollection[])results;

            // update item handles and actual times.
            UpdateResults(values);

            try
            {
                callback(this, values);
            }
            catch
            {
                // ignore exceptions in the callbacks.
            }

            // request always completes
            return(true);
        }
 /// <summary>
 /// Starts an asynchronous delete values at specific times request for all items in the trend.
 /// </summary>
 public OpcItemResult[] DeleteAtTime(
     object requestHandle,
     TsCHdaUpdateCompleteEventHandler callback,
     out IOpcRequest request)
 {
     return(DeleteAtTime(GetItems(), requestHandle, callback, out request));
 }
        /// <summary>
        /// Starts an asynchronous delete raw request for a set of items.
        /// </summary>
        public OpcItemResult[] Delete(
            OpcItem[] items,
            object requestHandle,
            TsCHdaUpdateCompleteEventHandler callback,
            out IOpcRequest request)
        {
            OpcItemResult[] results = _server.Delete(
                StartTime,
                EndTime,
                items,
                requestHandle,
                callback,
                out request);

            return(results);
        }
Exemple #4
0
        /// <summary>
        /// Sends an asynchronous request to inserts annotations for one or more items.
        /// </summary>
        /// <param name="items">A list of annotations to add for each item (must include the item name).</param>
        /// <param name="requestHandle">An identifier for the request assigned by the caller.</param>
        /// <param name="callback">A delegate used to receive notifications when the request completes.</param>
        /// <param name="request">An object that contains the state of the request (used to cancel the request).</param>
        /// <returns>A set of results containing any errors encountered when the server validated the items.</returns>
        public OpcItemResult[] InsertAnnotations(
            TsCHdaAnnotationValueCollection[] items,
            object requestHandle,
            TsCHdaUpdateCompleteEventHandler callback,
            out IOpcRequest request)
        {
            if (_server == null)
            {
                throw new NotConnectedException();
            }

            OpcItemResult[] results = ((ITsCHdaServer)_server).InsertAnnotations(
                items,
                requestHandle,
                callback,
                out request);

            return(results);
        }
Exemple #5
0
        /// <summary>
        /// Sends an asynchronous request to delete values for one or more items at a specified times.
        /// </summary>
        /// <param name="items">The set of timestamps to delete for one or more items.</param>
        /// <param name="requestHandle">An identifier for the request assigned by the caller.</param>
        /// <param name="callback">A delegate used to receive notifications when the request completes.</param>
        /// <param name="request">An object that contains the state of the request (used to cancel the request).</param>
        /// <returns>A set of results containing any errors encountered when the server validated the items.</returns>
        internal OpcItemResult[] DeleteAtTime(
            TsCHdaItemTimeCollection[] items,
            object requestHandle,
            TsCHdaUpdateCompleteEventHandler callback,
            out IOpcRequest request)
        {
            if (_server == null)
            {
                throw new NotConnectedException();
            }

            OpcItemResult[] results = ((ITsCHdaServer)_server).DeleteAtTime(
                items,
                requestHandle,
                callback,
                out request);

            return(results);
        }
        /// <summary>
        /// Starts an asynchronous delete values at specific times request for a set of items.
        /// </summary>
        public OpcItemResult[] DeleteAtTime(
            TsCHdaItem[] items,
            object requestHandle,
            TsCHdaUpdateCompleteEventHandler callback,
            out IOpcRequest request)
        {
            TsCHdaItemTimeCollection[] times = new TsCHdaItemTimeCollection[items.Length];

            for (int ii = 0; ii < items.Length; ii++)
            {
                times[ii] = (TsCHdaItemTimeCollection)Timestamps.Clone();

                times[ii].ItemName     = items[ii].ItemName;
                times[ii].ItemPath     = items[ii].ItemPath;
                times[ii].ClientHandle = items[ii].ClientHandle;
                times[ii].ServerHandle = items[ii].ServerHandle;
            }

            return(_server.DeleteAtTime(times, requestHandle, callback, out request));
        }
        /// <summary>
        /// Sends an asynchronous request to inserts annotations for one or more items.
        /// </summary>
        /// <param name="items">A list of annotations to add for each item (must include the item name).</param>
        /// <param name="requestHandle">An identifier for the request assigned by the caller.</param>
        /// <param name="callback">A delegate used to receive notifications when the request completes.</param>
        /// <param name="request">An object that contains the state of the request (used to cancel the request).</param>
        /// <returns>A set of results containing any errors encountered when the server validated the items.</returns>
        public OpcItemResult[] InsertAnnotations(
            TsCHdaAnnotationValueCollection[] items,
            object requestHandle,
            TsCHdaUpdateCompleteEventHandler callback,
            out IOpcRequest request)
        {
            LicenseHandler.ValidateFeatures(LicenseHandler.ProductFeature.HistoricalAccess);
            if (Server == null)
            {
                throw new NotConnectedException();
            }

            OpcItemResult[] results = ((ITsCHdaServer)Server).InsertAnnotations(
                items,
                requestHandle,
                callback,
                out request);

            return(results);
        }
        /// <summary>
        /// Sends an asynchronous request to delete values for one or more items at a specified times.
        /// </summary>
        /// <param name="items">The set of timestamps to delete for one or more items.</param>
        /// <param name="requestHandle">An identifier for the request assigned by the caller.</param>
        /// <param name="callback">A delegate used to receive notifications when the request completes.</param>
        /// <param name="request">An object that contains the state of the request (used to cancel the request).</param>
        /// <returns>A set of results containing any errors encountered when the server validated the items.</returns>
        internal OpcItemResult[] DeleteAtTime(
            TsCHdaItemTimeCollection[] items,
            object requestHandle,
            TsCHdaUpdateCompleteEventHandler callback,
            out IOpcRequest request)
        {
            LicenseHandler.ValidateFeatures(LicenseHandler.ProductFeature.HistoricalAccess);
            if (Server == null)
            {
                throw new NotConnectedException();
            }

            OpcItemResult[] results = ((ITsCHdaServer)Server).DeleteAtTime(
                items,
                requestHandle,
                callback,
                out request);

            return(results);
        }