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

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

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

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

            // request always completes
            return(true);
        }
Exemple #2
0
 /// <summary>
 /// Starts an asynchronous read annotations request for all items in the trend.
 /// </summary>
 public IdentifiedResult[] ReadAnnotations(
     object requestHandle,
     ReadAnnotationsEventHandler callback,
     out IRequest request)
 {
     return(ReadAnnotations(GetItems(), requestHandle, callback, out request));
 }
Exemple #3
0
        /// <summary>
        /// Starts an asynchronous read annotations request for a set of items.
        /// </summary>
        public IdentifiedResult[] ReadAnnotations(
            Item[]                      items,
            object requestHandle,
            ReadAnnotationsEventHandler callback,
            out IRequest request)
        {
            IdentifiedResult[] results = m_server.ReadAnnotations(
                StartTime,
                EndTime,
                items,
                requestHandle,
                callback,
                out request);

            return(results);
        }
Exemple #4
0
 private bool InvokeCallback(ReadAnnotationsEventHandler callback, object results)
 {
     if (!typeof(AnnotationValueCollection[]).IsInstanceOfType(results))
     {
         return(false);
     }
     AnnotationValueCollection[] valuesArray = (AnnotationValueCollection[])results;
     this.UpdateResults(valuesArray);
     try
     {
         callback(this, valuesArray);
     }
     catch
     {
     }
     return(true);
 }
        /// <summary>
        /// Sends an asynchronous request to read the annotations for a set of items.
        /// </summary>
        /// <param name="startTime">The beginning of the history period to read.</param>
        /// <param name="endTime">The end of the history period to be read.</param>
        /// <param name="items">The set of items to read (must include the server handle).</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 IdentifiedResult[] ReadAnnotations(
            Time startTime,
            Time endTime,
            ItemIdentifier[]            items,
            object requestHandle,
            ReadAnnotationsEventHandler callback,
            out IRequest request)
        {
            if (m_server == null)
            {
                throw new NotConnectedException();
            }

            IdentifiedResult[] results = ((IServer)m_server).ReadAnnotations(
                startTime,
                endTime,
                items,
                requestHandle,
                callback,
                out request);

            return(results);
        }
Exemple #6
0
 public IdentifiedResult[] ReadAnnotations(Item[] items, object requestHandle, ReadAnnotationsEventHandler callback, out IRequest request)
 {
     return(this.m_server.ReadAnnotations(this.StartTime, this.EndTime, items, requestHandle, callback, out request));
 }
Exemple #7
0
 public IdentifiedResult[] ReadAnnotations(Time startTime, Time endTime, ItemIdentifier[] items, object requestHandle, ReadAnnotationsEventHandler callback, out IRequest request)
 {
     if (base.m_server == null)
     {
         throw new NotConnectedException();
     }
     return(((Opc.Hda.IServer)base.m_server).ReadAnnotations(startTime, endTime, items, requestHandle, callback, out request));
 }