#region Copyright (c) 2011-2023 Technosoftware GmbH. All rights reserved //----------------------------------------------------------------------------- // Copyright (c) 2011-2023 Technosoftware GmbH. All rights reserved // Web: https://www.technosoftware.com // // The source code in this file is covered under a dual-license scenario: // - Owner of a purchased license: SCLA 1.0 // - GPL V3: everybody else // // SCLA license terms accompanied with this source code. // See SCLA 1.0: https://technosoftware.com/license/Source_Code_License_Agreement.pdf // // GNU General Public License as published by the Free Software Foundation; // version 3 of the License are accompanied with this source code. // See https://technosoftware.com/license/GPLv3License.txt // // This source code is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY // or FITNESS FOR A PARTICULAR PURPOSE. //----------------------------------------------------------------------------- #endregion Copyright (c) 2011-2023 Technosoftware GmbH. All rights reserved #region Using Directives #endregion namespace Technosoftware.DaAeHdaClient.Da { /// /// Defines functionality that is common to all OPC Data Access servers. /// public interface ITsDaServer : IOpcServer { /// /// Returns the filters applied by the server to any item results returned to the client. /// /// A bit mask indicating which fields should be returned in any item results. int GetResultFilters(); /// /// Sets the filters applied by the server to any item results returned to the client. /// /// A bit mask indicating which fields should be returned in any item results. void SetResultFilters(int filters); /// /// Returns the current server status. /// /// The current server status. OpcServerStatus GetServerStatus(); /// /// Reads the current values for a set of items. /// /// The set of items to read. /// The results of the read operation for each item. TsCDaItemValueResult[] Read(TsCDaItem[] items); /// /// Writes the value, quality and timestamp for a set of items. /// /// The set of item values to write. /// The results of the write operation for each item. OpcItemResult[] Write(TsCDaItemValue[] values); /// /// Creates a new subscription. /// /// The initial state of the subscription. /// The new subscription object. ITsCDaSubscription CreateSubscription(TsCDaSubscriptionState state); /// /// Cancels a subscription and releases all resources allocated for it. /// /// The subscription to cancel. void CancelSubscription(ITsCDaSubscription subscription); /// /// Fetches the children of a branch that meet the filter criteria. /// /// The identifier of branch which is the target of the search. /// The filters to use to limit the set of child elements returned. /// An object used to continue a browse that could not be completed. /// The set of elements found. TsCDaBrowseElement[] Browse( OpcItem itemId, TsCDaBrowseFilters filters, out TsCDaBrowsePosition position); /// /// Continues a browse operation with previously specified search criteria. /// /// An object containing the browse operation state information. /// The set of elements found. TsCDaBrowseElement[] BrowseNext(ref TsCDaBrowsePosition position); /// /// Returns the item properties for a set of items. /// /// A list of item identifiers. /// A list of properties to fetch for each item. /// Whether the property values should be returned with the properties. /// A list of properties for each item. TsCDaItemPropertyCollection[] GetProperties( OpcItem[] itemIds, TsDaPropertyID[] propertyIDs, bool returnValues); } }