/* ======================================================================== * Copyright (c) 2005-2022 The OPC Foundation, Inc. All rights reserved. * * OPC Foundation MIT License 1.00 * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, * copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following * conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. * * The complete license agreement can be found here: * http://opcfoundation.org/License/MIT/1.00/ * ======================================================================*/ using System; using System.Collections.Generic; namespace Opc.Ua { #region ISessionServer Interface /// /// An interface to a UA server implementation. /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] public interface ISessionServer : IServerBase { #if (!OPCUA_EXCLUDE_FindServers) /// /// Invokes the FindServers service. /// ResponseHeader FindServers( RequestHeader requestHeader, string endpointUrl, StringCollection localeIds, StringCollection serverUris, out ApplicationDescriptionCollection servers); #endif #if (!OPCUA_EXCLUDE_FindServersOnNetwork) /// /// Invokes the FindServersOnNetwork service. /// ResponseHeader FindServersOnNetwork( RequestHeader requestHeader, uint startingRecordId, uint maxRecordsToReturn, StringCollection serverCapabilityFilter, out DateTime lastCounterResetTime, out ServerOnNetworkCollection servers); #endif #if (!OPCUA_EXCLUDE_GetEndpoints) /// /// Invokes the GetEndpoints service. /// ResponseHeader GetEndpoints( RequestHeader requestHeader, string endpointUrl, StringCollection localeIds, StringCollection profileUris, out EndpointDescriptionCollection endpoints); #endif #if (!OPCUA_EXCLUDE_CreateSession) /// /// Invokes the CreateSession service. /// ResponseHeader CreateSession( RequestHeader requestHeader, ApplicationDescription clientDescription, string serverUri, string endpointUrl, string sessionName, byte[] clientNonce, byte[] clientCertificate, double requestedSessionTimeout, uint maxResponseMessageSize, out NodeId sessionId, out NodeId authenticationToken, out double revisedSessionTimeout, out byte[] serverNonce, out byte[] serverCertificate, out EndpointDescriptionCollection serverEndpoints, out SignedSoftwareCertificateCollection serverSoftwareCertificates, out SignatureData serverSignature, out uint maxRequestMessageSize); #endif #if (!OPCUA_EXCLUDE_ActivateSession) /// /// Invokes the ActivateSession service. /// ResponseHeader ActivateSession( RequestHeader requestHeader, SignatureData clientSignature, SignedSoftwareCertificateCollection clientSoftwareCertificates, StringCollection localeIds, ExtensionObject userIdentityToken, SignatureData userTokenSignature, out byte[] serverNonce, out StatusCodeCollection results, out DiagnosticInfoCollection diagnosticInfos); #endif #if (!OPCUA_EXCLUDE_CloseSession) /// /// Invokes the CloseSession service. /// ResponseHeader CloseSession( RequestHeader requestHeader, bool deleteSubscriptions); #endif #if (!OPCUA_EXCLUDE_Cancel) /// /// Invokes the Cancel service. /// ResponseHeader Cancel( RequestHeader requestHeader, uint requestHandle, out uint cancelCount); #endif #if (!OPCUA_EXCLUDE_AddNodes) /// /// Invokes the AddNodes service. /// ResponseHeader AddNodes( RequestHeader requestHeader, AddNodesItemCollection nodesToAdd, out AddNodesResultCollection results, out DiagnosticInfoCollection diagnosticInfos); #endif #if (!OPCUA_EXCLUDE_AddReferences) /// /// Invokes the AddReferences service. /// ResponseHeader AddReferences( RequestHeader requestHeader, AddReferencesItemCollection referencesToAdd, out StatusCodeCollection results, out DiagnosticInfoCollection diagnosticInfos); #endif #if (!OPCUA_EXCLUDE_DeleteNodes) /// /// Invokes the DeleteNodes service. /// ResponseHeader DeleteNodes( RequestHeader requestHeader, DeleteNodesItemCollection nodesToDelete, out StatusCodeCollection results, out DiagnosticInfoCollection diagnosticInfos); #endif #if (!OPCUA_EXCLUDE_DeleteReferences) /// /// Invokes the DeleteReferences service. /// ResponseHeader DeleteReferences( RequestHeader requestHeader, DeleteReferencesItemCollection referencesToDelete, out StatusCodeCollection results, out DiagnosticInfoCollection diagnosticInfos); #endif #if (!OPCUA_EXCLUDE_Browse) /// /// Invokes the Browse service. /// ResponseHeader Browse( RequestHeader requestHeader, ViewDescription view, uint requestedMaxReferencesPerNode, BrowseDescriptionCollection nodesToBrowse, out BrowseResultCollection results, out DiagnosticInfoCollection diagnosticInfos); #endif #if (!OPCUA_EXCLUDE_BrowseNext) /// /// Invokes the BrowseNext service. /// ResponseHeader BrowseNext( RequestHeader requestHeader, bool releaseContinuationPoints, ByteStringCollection continuationPoints, out BrowseResultCollection results, out DiagnosticInfoCollection diagnosticInfos); #endif #if (!OPCUA_EXCLUDE_TranslateBrowsePathsToNodeIds) /// /// Invokes the TranslateBrowsePathsToNodeIds service. /// ResponseHeader TranslateBrowsePathsToNodeIds( RequestHeader requestHeader, BrowsePathCollection browsePaths, out BrowsePathResultCollection results, out DiagnosticInfoCollection diagnosticInfos); #endif #if (!OPCUA_EXCLUDE_RegisterNodes) /// /// Invokes the RegisterNodes service. /// ResponseHeader RegisterNodes( RequestHeader requestHeader, NodeIdCollection nodesToRegister, out NodeIdCollection registeredNodeIds); #endif #if (!OPCUA_EXCLUDE_UnregisterNodes) /// /// Invokes the UnregisterNodes service. /// ResponseHeader UnregisterNodes( RequestHeader requestHeader, NodeIdCollection nodesToUnregister); #endif #if (!OPCUA_EXCLUDE_QueryFirst) /// /// Invokes the QueryFirst service. /// ResponseHeader QueryFirst( RequestHeader requestHeader, ViewDescription view, NodeTypeDescriptionCollection nodeTypes, ContentFilter filter, uint maxDataSetsToReturn, uint maxReferencesToReturn, out QueryDataSetCollection queryDataSets, out byte[] continuationPoint, out ParsingResultCollection parsingResults, out DiagnosticInfoCollection diagnosticInfos, out ContentFilterResult filterResult); #endif #if (!OPCUA_EXCLUDE_QueryNext) /// /// Invokes the QueryNext service. /// ResponseHeader QueryNext( RequestHeader requestHeader, bool releaseContinuationPoint, byte[] continuationPoint, out QueryDataSetCollection queryDataSets, out byte[] revisedContinuationPoint); #endif #if (!OPCUA_EXCLUDE_Read) /// /// Invokes the Read service. /// ResponseHeader Read( RequestHeader requestHeader, double maxAge, TimestampsToReturn timestampsToReturn, ReadValueIdCollection nodesToRead, out DataValueCollection results, out DiagnosticInfoCollection diagnosticInfos); #endif #if (!OPCUA_EXCLUDE_HistoryRead) /// /// Invokes the HistoryRead service. /// ResponseHeader HistoryRead( RequestHeader requestHeader, ExtensionObject historyReadDetails, TimestampsToReturn timestampsToReturn, bool releaseContinuationPoints, HistoryReadValueIdCollection nodesToRead, out HistoryReadResultCollection results, out DiagnosticInfoCollection diagnosticInfos); #endif #if (!OPCUA_EXCLUDE_Write) /// /// Invokes the Write service. /// ResponseHeader Write( RequestHeader requestHeader, WriteValueCollection nodesToWrite, out StatusCodeCollection results, out DiagnosticInfoCollection diagnosticInfos); #endif #if (!OPCUA_EXCLUDE_HistoryUpdate) /// /// Invokes the HistoryUpdate service. /// ResponseHeader HistoryUpdate( RequestHeader requestHeader, ExtensionObjectCollection historyUpdateDetails, out HistoryUpdateResultCollection results, out DiagnosticInfoCollection diagnosticInfos); #endif #if (!OPCUA_EXCLUDE_Call) /// /// Invokes the Call service. /// ResponseHeader Call( RequestHeader requestHeader, CallMethodRequestCollection methodsToCall, out CallMethodResultCollection results, out DiagnosticInfoCollection diagnosticInfos); #endif #if (!OPCUA_EXCLUDE_CreateMonitoredItems) /// /// Invokes the CreateMonitoredItems service. /// ResponseHeader CreateMonitoredItems( RequestHeader requestHeader, uint subscriptionId, TimestampsToReturn timestampsToReturn, MonitoredItemCreateRequestCollection itemsToCreate, out MonitoredItemCreateResultCollection results, out DiagnosticInfoCollection diagnosticInfos); #endif #if (!OPCUA_EXCLUDE_ModifyMonitoredItems) /// /// Invokes the ModifyMonitoredItems service. /// ResponseHeader ModifyMonitoredItems( RequestHeader requestHeader, uint subscriptionId, TimestampsToReturn timestampsToReturn, MonitoredItemModifyRequestCollection itemsToModify, out MonitoredItemModifyResultCollection results, out DiagnosticInfoCollection diagnosticInfos); #endif #if (!OPCUA_EXCLUDE_SetMonitoringMode) /// /// Invokes the SetMonitoringMode service. /// ResponseHeader SetMonitoringMode( RequestHeader requestHeader, uint subscriptionId, MonitoringMode monitoringMode, UInt32Collection monitoredItemIds, out StatusCodeCollection results, out DiagnosticInfoCollection diagnosticInfos); #endif #if (!OPCUA_EXCLUDE_SetTriggering) /// /// Invokes the SetTriggering service. /// ResponseHeader SetTriggering( RequestHeader requestHeader, uint subscriptionId, uint triggeringItemId, UInt32Collection linksToAdd, UInt32Collection linksToRemove, out StatusCodeCollection addResults, out DiagnosticInfoCollection addDiagnosticInfos, out StatusCodeCollection removeResults, out DiagnosticInfoCollection removeDiagnosticInfos); #endif #if (!OPCUA_EXCLUDE_DeleteMonitoredItems) /// /// Invokes the DeleteMonitoredItems service. /// ResponseHeader DeleteMonitoredItems( RequestHeader requestHeader, uint subscriptionId, UInt32Collection monitoredItemIds, out StatusCodeCollection results, out DiagnosticInfoCollection diagnosticInfos); #endif #if (!OPCUA_EXCLUDE_CreateSubscription) /// /// Invokes the CreateSubscription service. /// ResponseHeader CreateSubscription( RequestHeader requestHeader, double requestedPublishingInterval, uint requestedLifetimeCount, uint requestedMaxKeepAliveCount, uint maxNotificationsPerPublish, bool publishingEnabled, byte priority, out uint subscriptionId, out double revisedPublishingInterval, out uint revisedLifetimeCount, out uint revisedMaxKeepAliveCount); #endif #if (!OPCUA_EXCLUDE_ModifySubscription) /// /// Invokes the ModifySubscription service. /// ResponseHeader ModifySubscription( RequestHeader requestHeader, uint subscriptionId, double requestedPublishingInterval, uint requestedLifetimeCount, uint requestedMaxKeepAliveCount, uint maxNotificationsPerPublish, byte priority, out double revisedPublishingInterval, out uint revisedLifetimeCount, out uint revisedMaxKeepAliveCount); #endif #if (!OPCUA_EXCLUDE_SetPublishingMode) /// /// Invokes the SetPublishingMode service. /// ResponseHeader SetPublishingMode( RequestHeader requestHeader, bool publishingEnabled, UInt32Collection subscriptionIds, out StatusCodeCollection results, out DiagnosticInfoCollection diagnosticInfos); #endif #if (!OPCUA_EXCLUDE_Publish) /// /// Invokes the Publish service. /// ResponseHeader Publish( RequestHeader requestHeader, SubscriptionAcknowledgementCollection subscriptionAcknowledgements, out uint subscriptionId, out UInt32Collection availableSequenceNumbers, out bool moreNotifications, out NotificationMessage notificationMessage, out StatusCodeCollection results, out DiagnosticInfoCollection diagnosticInfos); #endif #if (!OPCUA_EXCLUDE_Republish) /// /// Invokes the Republish service. /// ResponseHeader Republish( RequestHeader requestHeader, uint subscriptionId, uint retransmitSequenceNumber, out NotificationMessage notificationMessage); #endif #if (!OPCUA_EXCLUDE_TransferSubscriptions) /// /// Invokes the TransferSubscriptions service. /// ResponseHeader TransferSubscriptions( RequestHeader requestHeader, UInt32Collection subscriptionIds, bool sendInitialValues, out TransferResultCollection results, out DiagnosticInfoCollection diagnosticInfos); #endif #if (!OPCUA_EXCLUDE_DeleteSubscriptions) /// /// Invokes the DeleteSubscriptions service. /// ResponseHeader DeleteSubscriptions( RequestHeader requestHeader, UInt32Collection subscriptionIds, out StatusCodeCollection results, out DiagnosticInfoCollection diagnosticInfos); #endif } #endregion #region SessionServerBase Class /// /// A basic implementation of the UA server. /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] public partial class SessionServerBase : ServerBase, ISessionServer { #if (!OPCUA_EXCLUDE_FindServers) /// /// Invokes the FindServers service. /// public virtual ResponseHeader FindServers( RequestHeader requestHeader, string endpointUrl, StringCollection localeIds, StringCollection serverUris, out ApplicationDescriptionCollection servers) { servers = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_FindServersOnNetwork) /// /// Invokes the FindServersOnNetwork service. /// public virtual ResponseHeader FindServersOnNetwork( RequestHeader requestHeader, uint startingRecordId, uint maxRecordsToReturn, StringCollection serverCapabilityFilter, out DateTime lastCounterResetTime, out ServerOnNetworkCollection servers) { lastCounterResetTime = DateTime.MinValue; servers = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_GetEndpoints) /// /// Invokes the GetEndpoints service. /// public virtual ResponseHeader GetEndpoints( RequestHeader requestHeader, string endpointUrl, StringCollection localeIds, StringCollection profileUris, out EndpointDescriptionCollection endpoints) { endpoints = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_CreateSession) /// /// Invokes the CreateSession service. /// public virtual ResponseHeader CreateSession( RequestHeader requestHeader, ApplicationDescription clientDescription, string serverUri, string endpointUrl, string sessionName, byte[] clientNonce, byte[] clientCertificate, double requestedSessionTimeout, uint maxResponseMessageSize, out NodeId sessionId, out NodeId authenticationToken, out double revisedSessionTimeout, out byte[] serverNonce, out byte[] serverCertificate, out EndpointDescriptionCollection serverEndpoints, out SignedSoftwareCertificateCollection serverSoftwareCertificates, out SignatureData serverSignature, out uint maxRequestMessageSize) { sessionId = null; authenticationToken = null; revisedSessionTimeout = 0; serverNonce = null; serverCertificate = null; serverEndpoints = null; serverSoftwareCertificates = null; serverSignature = null; maxRequestMessageSize = 0; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_ActivateSession) /// /// Invokes the ActivateSession service. /// public virtual ResponseHeader ActivateSession( RequestHeader requestHeader, SignatureData clientSignature, SignedSoftwareCertificateCollection clientSoftwareCertificates, StringCollection localeIds, ExtensionObject userIdentityToken, SignatureData userTokenSignature, out byte[] serverNonce, out StatusCodeCollection results, out DiagnosticInfoCollection diagnosticInfos) { serverNonce = null; results = null; diagnosticInfos = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_CloseSession) /// /// Invokes the CloseSession service. /// public virtual ResponseHeader CloseSession( RequestHeader requestHeader, bool deleteSubscriptions) { ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_Cancel) /// /// Invokes the Cancel service. /// public virtual ResponseHeader Cancel( RequestHeader requestHeader, uint requestHandle, out uint cancelCount) { cancelCount = 0; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_AddNodes) /// /// Invokes the AddNodes service. /// public virtual ResponseHeader AddNodes( RequestHeader requestHeader, AddNodesItemCollection nodesToAdd, out AddNodesResultCollection results, out DiagnosticInfoCollection diagnosticInfos) { results = null; diagnosticInfos = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_AddReferences) /// /// Invokes the AddReferences service. /// public virtual ResponseHeader AddReferences( RequestHeader requestHeader, AddReferencesItemCollection referencesToAdd, out StatusCodeCollection results, out DiagnosticInfoCollection diagnosticInfos) { results = null; diagnosticInfos = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_DeleteNodes) /// /// Invokes the DeleteNodes service. /// public virtual ResponseHeader DeleteNodes( RequestHeader requestHeader, DeleteNodesItemCollection nodesToDelete, out StatusCodeCollection results, out DiagnosticInfoCollection diagnosticInfos) { results = null; diagnosticInfos = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_DeleteReferences) /// /// Invokes the DeleteReferences service. /// public virtual ResponseHeader DeleteReferences( RequestHeader requestHeader, DeleteReferencesItemCollection referencesToDelete, out StatusCodeCollection results, out DiagnosticInfoCollection diagnosticInfos) { results = null; diagnosticInfos = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_Browse) /// /// Invokes the Browse service. /// public virtual ResponseHeader Browse( RequestHeader requestHeader, ViewDescription view, uint requestedMaxReferencesPerNode, BrowseDescriptionCollection nodesToBrowse, out BrowseResultCollection results, out DiagnosticInfoCollection diagnosticInfos) { results = null; diagnosticInfos = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_BrowseNext) /// /// Invokes the BrowseNext service. /// public virtual ResponseHeader BrowseNext( RequestHeader requestHeader, bool releaseContinuationPoints, ByteStringCollection continuationPoints, out BrowseResultCollection results, out DiagnosticInfoCollection diagnosticInfos) { results = null; diagnosticInfos = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_TranslateBrowsePathsToNodeIds) /// /// Invokes the TranslateBrowsePathsToNodeIds service. /// public virtual ResponseHeader TranslateBrowsePathsToNodeIds( RequestHeader requestHeader, BrowsePathCollection browsePaths, out BrowsePathResultCollection results, out DiagnosticInfoCollection diagnosticInfos) { results = null; diagnosticInfos = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_RegisterNodes) /// /// Invokes the RegisterNodes service. /// public virtual ResponseHeader RegisterNodes( RequestHeader requestHeader, NodeIdCollection nodesToRegister, out NodeIdCollection registeredNodeIds) { registeredNodeIds = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_UnregisterNodes) /// /// Invokes the UnregisterNodes service. /// public virtual ResponseHeader UnregisterNodes( RequestHeader requestHeader, NodeIdCollection nodesToUnregister) { ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_QueryFirst) /// /// Invokes the QueryFirst service. /// public virtual ResponseHeader QueryFirst( RequestHeader requestHeader, ViewDescription view, NodeTypeDescriptionCollection nodeTypes, ContentFilter filter, uint maxDataSetsToReturn, uint maxReferencesToReturn, out QueryDataSetCollection queryDataSets, out byte[] continuationPoint, out ParsingResultCollection parsingResults, out DiagnosticInfoCollection diagnosticInfos, out ContentFilterResult filterResult) { queryDataSets = null; continuationPoint = null; parsingResults = null; diagnosticInfos = null; filterResult = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_QueryNext) /// /// Invokes the QueryNext service. /// public virtual ResponseHeader QueryNext( RequestHeader requestHeader, bool releaseContinuationPoint, byte[] continuationPoint, out QueryDataSetCollection queryDataSets, out byte[] revisedContinuationPoint) { queryDataSets = null; revisedContinuationPoint = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_Read) /// /// Invokes the Read service. /// public virtual ResponseHeader Read( RequestHeader requestHeader, double maxAge, TimestampsToReturn timestampsToReturn, ReadValueIdCollection nodesToRead, out DataValueCollection results, out DiagnosticInfoCollection diagnosticInfos) { results = null; diagnosticInfos = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_HistoryRead) /// /// Invokes the HistoryRead service. /// public virtual ResponseHeader HistoryRead( RequestHeader requestHeader, ExtensionObject historyReadDetails, TimestampsToReturn timestampsToReturn, bool releaseContinuationPoints, HistoryReadValueIdCollection nodesToRead, out HistoryReadResultCollection results, out DiagnosticInfoCollection diagnosticInfos) { results = null; diagnosticInfos = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_Write) /// /// Invokes the Write service. /// public virtual ResponseHeader Write( RequestHeader requestHeader, WriteValueCollection nodesToWrite, out StatusCodeCollection results, out DiagnosticInfoCollection diagnosticInfos) { results = null; diagnosticInfos = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_HistoryUpdate) /// /// Invokes the HistoryUpdate service. /// public virtual ResponseHeader HistoryUpdate( RequestHeader requestHeader, ExtensionObjectCollection historyUpdateDetails, out HistoryUpdateResultCollection results, out DiagnosticInfoCollection diagnosticInfos) { results = null; diagnosticInfos = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_Call) /// /// Invokes the Call service. /// public virtual ResponseHeader Call( RequestHeader requestHeader, CallMethodRequestCollection methodsToCall, out CallMethodResultCollection results, out DiagnosticInfoCollection diagnosticInfos) { results = null; diagnosticInfos = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_CreateMonitoredItems) /// /// Invokes the CreateMonitoredItems service. /// public virtual ResponseHeader CreateMonitoredItems( RequestHeader requestHeader, uint subscriptionId, TimestampsToReturn timestampsToReturn, MonitoredItemCreateRequestCollection itemsToCreate, out MonitoredItemCreateResultCollection results, out DiagnosticInfoCollection diagnosticInfos) { results = null; diagnosticInfos = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_ModifyMonitoredItems) /// /// Invokes the ModifyMonitoredItems service. /// public virtual ResponseHeader ModifyMonitoredItems( RequestHeader requestHeader, uint subscriptionId, TimestampsToReturn timestampsToReturn, MonitoredItemModifyRequestCollection itemsToModify, out MonitoredItemModifyResultCollection results, out DiagnosticInfoCollection diagnosticInfos) { results = null; diagnosticInfos = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_SetMonitoringMode) /// /// Invokes the SetMonitoringMode service. /// public virtual ResponseHeader SetMonitoringMode( RequestHeader requestHeader, uint subscriptionId, MonitoringMode monitoringMode, UInt32Collection monitoredItemIds, out StatusCodeCollection results, out DiagnosticInfoCollection diagnosticInfos) { results = null; diagnosticInfos = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_SetTriggering) /// /// Invokes the SetTriggering service. /// public virtual ResponseHeader SetTriggering( RequestHeader requestHeader, uint subscriptionId, uint triggeringItemId, UInt32Collection linksToAdd, UInt32Collection linksToRemove, out StatusCodeCollection addResults, out DiagnosticInfoCollection addDiagnosticInfos, out StatusCodeCollection removeResults, out DiagnosticInfoCollection removeDiagnosticInfos) { addResults = null; addDiagnosticInfos = null; removeResults = null; removeDiagnosticInfos = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_DeleteMonitoredItems) /// /// Invokes the DeleteMonitoredItems service. /// public virtual ResponseHeader DeleteMonitoredItems( RequestHeader requestHeader, uint subscriptionId, UInt32Collection monitoredItemIds, out StatusCodeCollection results, out DiagnosticInfoCollection diagnosticInfos) { results = null; diagnosticInfos = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_CreateSubscription) /// /// Invokes the CreateSubscription service. /// public virtual ResponseHeader CreateSubscription( RequestHeader requestHeader, double requestedPublishingInterval, uint requestedLifetimeCount, uint requestedMaxKeepAliveCount, uint maxNotificationsPerPublish, bool publishingEnabled, byte priority, out uint subscriptionId, out double revisedPublishingInterval, out uint revisedLifetimeCount, out uint revisedMaxKeepAliveCount) { subscriptionId = 0; revisedPublishingInterval = 0; revisedLifetimeCount = 0; revisedMaxKeepAliveCount = 0; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_ModifySubscription) /// /// Invokes the ModifySubscription service. /// public virtual ResponseHeader ModifySubscription( RequestHeader requestHeader, uint subscriptionId, double requestedPublishingInterval, uint requestedLifetimeCount, uint requestedMaxKeepAliveCount, uint maxNotificationsPerPublish, byte priority, out double revisedPublishingInterval, out uint revisedLifetimeCount, out uint revisedMaxKeepAliveCount) { revisedPublishingInterval = 0; revisedLifetimeCount = 0; revisedMaxKeepAliveCount = 0; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_SetPublishingMode) /// /// Invokes the SetPublishingMode service. /// public virtual ResponseHeader SetPublishingMode( RequestHeader requestHeader, bool publishingEnabled, UInt32Collection subscriptionIds, out StatusCodeCollection results, out DiagnosticInfoCollection diagnosticInfos) { results = null; diagnosticInfos = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_Publish) /// /// Invokes the Publish service. /// public virtual ResponseHeader Publish( RequestHeader requestHeader, SubscriptionAcknowledgementCollection subscriptionAcknowledgements, out uint subscriptionId, out UInt32Collection availableSequenceNumbers, out bool moreNotifications, out NotificationMessage notificationMessage, out StatusCodeCollection results, out DiagnosticInfoCollection diagnosticInfos) { subscriptionId = 0; availableSequenceNumbers = null; moreNotifications = false; notificationMessage = null; results = null; diagnosticInfos = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_Republish) /// /// Invokes the Republish service. /// public virtual ResponseHeader Republish( RequestHeader requestHeader, uint subscriptionId, uint retransmitSequenceNumber, out NotificationMessage notificationMessage) { notificationMessage = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_TransferSubscriptions) /// /// Invokes the TransferSubscriptions service. /// public virtual ResponseHeader TransferSubscriptions( RequestHeader requestHeader, UInt32Collection subscriptionIds, bool sendInitialValues, out TransferResultCollection results, out DiagnosticInfoCollection diagnosticInfos) { results = null; diagnosticInfos = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_DeleteSubscriptions) /// /// Invokes the DeleteSubscriptions service. /// public virtual ResponseHeader DeleteSubscriptions( RequestHeader requestHeader, UInt32Collection subscriptionIds, out StatusCodeCollection results, out DiagnosticInfoCollection diagnosticInfos) { results = null; diagnosticInfos = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif } #endregion #region IDiscoveryServer Interface /// /// An interface to a UA server implementation. /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] public interface IDiscoveryServer : IServerBase { #if (!OPCUA_EXCLUDE_FindServers) /// /// Invokes the FindServers service. /// ResponseHeader FindServers( RequestHeader requestHeader, string endpointUrl, StringCollection localeIds, StringCollection serverUris, out ApplicationDescriptionCollection servers); #endif #if (!OPCUA_EXCLUDE_FindServersOnNetwork) /// /// Invokes the FindServersOnNetwork service. /// ResponseHeader FindServersOnNetwork( RequestHeader requestHeader, uint startingRecordId, uint maxRecordsToReturn, StringCollection serverCapabilityFilter, out DateTime lastCounterResetTime, out ServerOnNetworkCollection servers); #endif #if (!OPCUA_EXCLUDE_GetEndpoints) /// /// Invokes the GetEndpoints service. /// ResponseHeader GetEndpoints( RequestHeader requestHeader, string endpointUrl, StringCollection localeIds, StringCollection profileUris, out EndpointDescriptionCollection endpoints); #endif #if (!OPCUA_EXCLUDE_RegisterServer) /// /// Invokes the RegisterServer service. /// ResponseHeader RegisterServer( RequestHeader requestHeader, RegisteredServer server); #endif #if (!OPCUA_EXCLUDE_RegisterServer2) /// /// Invokes the RegisterServer2 service. /// ResponseHeader RegisterServer2( RequestHeader requestHeader, RegisteredServer server, ExtensionObjectCollection discoveryConfiguration, out StatusCodeCollection configurationResults, out DiagnosticInfoCollection diagnosticInfos); #endif } #endregion #region DiscoveryServerBase Class /// /// A basic implementation of the UA server. /// /// [System.CodeDom.Compiler.GeneratedCodeAttribute("Opc.Ua.ModelCompiler", "1.0.0.0")] public partial class DiscoveryServerBase : ServerBase, IDiscoveryServer { #if (!OPCUA_EXCLUDE_FindServers) /// /// Invokes the FindServers service. /// public virtual ResponseHeader FindServers( RequestHeader requestHeader, string endpointUrl, StringCollection localeIds, StringCollection serverUris, out ApplicationDescriptionCollection servers) { servers = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_FindServersOnNetwork) /// /// Invokes the FindServersOnNetwork service. /// public virtual ResponseHeader FindServersOnNetwork( RequestHeader requestHeader, uint startingRecordId, uint maxRecordsToReturn, StringCollection serverCapabilityFilter, out DateTime lastCounterResetTime, out ServerOnNetworkCollection servers) { lastCounterResetTime = DateTime.MinValue; servers = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_GetEndpoints) /// /// Invokes the GetEndpoints service. /// public virtual ResponseHeader GetEndpoints( RequestHeader requestHeader, string endpointUrl, StringCollection localeIds, StringCollection profileUris, out EndpointDescriptionCollection endpoints) { endpoints = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_RegisterServer) /// /// Invokes the RegisterServer service. /// public virtual ResponseHeader RegisterServer( RequestHeader requestHeader, RegisteredServer server) { ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif #if (!OPCUA_EXCLUDE_RegisterServer2) /// /// Invokes the RegisterServer2 service. /// public virtual ResponseHeader RegisterServer2( RequestHeader requestHeader, RegisteredServer server, ExtensionObjectCollection discoveryConfiguration, out StatusCodeCollection configurationResults, out DiagnosticInfoCollection diagnosticInfos) { configurationResults = null; diagnosticInfos = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); } #endif } #endregion }