UA Server SDK C++ Bundle  1.4.0.258
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ServerConfigData Class Referenceabstract

ServerConfigData Derived from ServerConfig. More...

#include <serverconfigdata.h>

Inherits ServerConfig.

Inherited by ServerConfigIni, and ServerConfigXml.

Public Member Functions

 ServerConfigData (const UaString &sApplicationPath, const UaString &sConfigPath, const UaString &sTracePath)
 Creates an instance of the ServerConfigData class reading the configuration settings from a INI file. More...
 
virtual ~ServerConfigData ()
 destruction More...
 
void clear ()
 Clears all members and intializes them with default values.
 
virtual UaStatus afterLoadConfiguration ()=0
 
virtual UaStatus getEndpointConfiguration (UaString &sRejectedCertificateDirectory, OpcUa_UInt32 &nRejectedCertificatesCount, UaEndpointArray &uaEndpointArray)
 Get Endpoint Configuration. More...
 
virtual void endpointOpened (OpcUa_UInt32 index)
 Set state of successfully opened endpoint.
 
virtual UaStatus getUserIdentityTokenConfig (OpcUa_Boolean &bEnableAnonymous, OpcUa_Boolean &bEnableUserPw, OpcUa_Boolean &bEnableCertificate, OpcUa_Boolean &bEnableKerberosTicket)
 Get the enabled settings for the different user identity tokens supported by the server. More...
 
virtual UaStatus getDiscoveryRegistrationConfig (OpcUa_UInt32 &nRegistrationInterval, UaStringArray &discoveryUrlArray)
 Get settings for registration with discovery service. More...
 
virtual UaStatus getWindowsDiscoveryRegistrationSecuritySetup (OpcUa_Boolean &bAutomaticCertificateExchange, UaString &sDiscoveryServerTrustListLocation, UaString &sDiscoveryServerStoreName, UaString &sDiscoveryServerCertificateName)
 Get settings for exchanging certificates with local discovery server on a windows computer for registration with local windows discovery server. More...
 
virtual UaStatus getSerializerConfiguration (OpcUa_Int32 &iMaxAlloc, OpcUa_Int32 &iMaxStringLength, OpcUa_Int32 &iMaxByteStringLength, OpcUa_Int32 &iMaxArrayLength, OpcUa_Int32 &iMaxMessageSize) const
 Get Serializer Configuration. More...
 
virtual UaStatus getStackThreadPoolSettings (OpcUa_Boolean &bEnabled, OpcUa_Int32 &iMinThreads, OpcUa_Int32 &iMaxThreads, OpcUa_Int32 &iMaxJobs, OpcUa_Boolean &bBlockOnAdd, OpcUa_UInt32 &nTimeout) const
 Returns the settings for the thread pool used in the OPC UA Stack. More...
 
virtual UaStatus getStackTraceSettings (OpcUa_Boolean &bTraceEnabled, OpcUa_UInt32 &uTraceLevel) const
 Get UA Stack trace settings. More...
 
virtual UaStatus getServerTraceSettings (OpcUa_Boolean &bTraceEnabled, OpcUa_UInt32 &uTraceLevel, OpcUa_UInt32 &uMaxTraceEntries, OpcUa_UInt32 &uMaxBackupFiles, UaString &sTraceFile) const
 Get UA Server SDK trace settings. More...
 
virtual OpcUa_Int32 getMaxRequestAge () const
 Returns the maximum age of a request the server allows. More...
 
virtual UaStatus getSessionSettings (OpcUa_Int32 &iMaxSessionCount, OpcUa_Int32 &iMaxSessionsPerClient, OpcUa_Int32 &iMinSessionTimeout, OpcUa_Int32 &iMaxSessionTimeout) const
 Get the setting parameters for session creation. More...
 
virtual UaStatus getServerSettings (OpcUa_Double &minSupportedSampleRate, UaStringArray &localeIdArray, UaStringArray &serverProfileArray, UaByteStringArray &softwareCertificateArray) const
 Get the general setting parameters for the server. More...
 
virtual OpcUa_Int32 getMaxBrowseContinuationPoints () const
 Returns the maximum number of Browse Continuation Points managed by the server. More...
 
virtual OpcUa_Int32 getMaxBrowseResults () const
 Returns the maximum number of Browse results for one browse operation. More...
 
virtual OpcUa_Int32 getMaxHistoryContinuationPoints () const
 Returns the maximum number of History Continuation Points managed by the server. More...
 
virtual UaStatus getSubscriptionSettings (OpcUa_UInt32 &iMinPublishingInterval, OpcUa_UInt32 &iMaxPublishingInterval, OpcUa_UInt32 &iMinKeepAliveInterval, OpcUa_UInt32 &iMinSubscriptionLifetime, OpcUa_UInt32 &iMaxSubscriptionLifetime, OpcUa_UInt32 &iMaxRetransmissionQueueSize, OpcUa_UInt32 &iMaxNotificationsPerPublish) const
 Get the setting parameters for a subscription. More...
 
virtual UaStatus getMonitoredItemSettings (OpcUa_UInt32 &iMaxDataQueueSize, OpcUa_UInt32 &iMaxEventQueueSize) const
 Get the setting parameters for a MonitoreItem. More...
 
virtual UaStatus getSubscriptionMaxCountSettings (OpcUa_UInt32 &iMaxSubscriptionCount, OpcUa_UInt32 &iMaxSubscriptionsPerSession, OpcUa_UInt32 &iMaxMonitoredItemCount, OpcUa_UInt32 &iMaxMonitoredItemPerSubscriptionCount, OpcUa_UInt32 &iMaxMonitoredItemPerSessionCount) const
 Get the max object count parameters for Subscriptions. More...
 
virtual UaStatus getAvailableSamplingRates (UaUInt32Array &availableSamplingRates) const
 Returns the sampling rates provided by the OPC server. More...
 
virtual OpcUa_StatusCode getBuildInfo (UaString &ProductUri, UaString &ManufacturerName, UaString &ProductName, UaString &sSoftwareVersion, UaString &sBuildNumber, OpcUa_DateTime &BuildDate) const
 Returns the BuildInfo for the server. More...
 
virtual OpcUa_StatusCode getServerInstanceInfo (UaString &ServerUri, UaLocalizedTextArray &ServerName) const
 Returns the server instance information for the OPC server. More...
 
virtual UaString getServerId () const
 Returns the ServerId used for audit events. More...
 
virtual UaStatus getThreadPoolSettings (OpcUa_UInt32 &minSizeTransactionManager, OpcUa_UInt32 &maxSizeTransactionManager, OpcUa_UInt32 &minSizeSubscriptionManager, OpcUa_UInt32 &maxSizeSubscriptionManager) const
 Returns the settings for the thread pools used in the OPC server. More...
 
virtual OpcUa_Boolean isAuditActivated ()
 Flag indicating if audit events are activated. More...
 
virtual UaStatus getRedundancySettings (OpcUa_RedundancySupport &redundancySupport, UaStringArray &serverUriArray)
 Provides the redundancy settings for the server. More...
 
virtual UaStatus getAdditionalServerEntries (UaApplicationDescriptions &serverDescriptions)
 Provides capability to configure additional servers to be returned in FindServers. More...
 
virtual UaStatus getConfiguredNamespaces (UaUInt16Array &namespaceIndexArray, UaStringArray &namespaceUriArray, UaBoolArray &allowRenameUriArray, UaStringArray &uniqueIdArray)
 Provides configuration option for namespaces other than index 0 and 1 (OPC UA and local server). More...
 
virtual UaStatus addConfiguredNamespace (OpcUa_UInt16 namespaceIndex, const UaString &namespaceUri, OpcUa_Boolean allowRenameUri, const UaString &uniqueId)
 Adds a namespaces configuration entry for preconfigured namespaces. More...
 
virtual UaStatus removeConfiguredNamespace (OpcUa_UInt16 namespaceIndex)
 Removes a namespaces configuration entry for preconfigured namespaces. More...
 
virtual UaStatus getTagFileConfiguration (UaString &defaultTagFileName, UaString &tagFileLocation, UaString &tagFileEnding, UaString &defaultFileUpdatePolicy)
 Provides information about tagfile name, path und file ending used in the NodeManagerTagFile. More...
 
virtual UaStatus setTagFileConfiguration (const UaString &defaultTagFileName, const UaString &tagFileLocation, const UaString &tagFileEnding, const UaString &defaultFileUpdatePolicy)
 Set information about tagfile name, path und file ending used in the NodeManagerTagFile. More...
 
virtual UaStatus getComDaPropertyMapping (UaStringArray &propertyNames, UaStringArray &propertyNameSpaces, UaUInt32Array &propertyIds)
 Provides a mapping list of OPC UA property names to COM Data Access property Ids. More...
 
virtual UaStatus addComDaPropertyMapping (const UaString &propertyName, const UaString &propertyNameSpaceUri, OpcUa_UInt32 propertyId)
 Adds an entry to the mapping list of OPC UA property names to COM Data Access property Ids. More...
 
virtual UaStatus getComDaNamespaceInformation (UaString &defaultNamespace)
 Provides additional namespace related information for COM DA Server module. More...
 
virtual ComDaTimestampSource getComDaTimestampSource ()
 Provides the source of timestamp used for COM DA items. More...
 
virtual UaStatus getComAeNamespaceInformation (UaString &defaultNamespace)
 Provides additional namespace related information for COM A&E Server module. More...
 
virtual UaStatus getComAeEventCategoryMapping (ComAeEventType eventType, UaUInt32Array &categoryIDs, UaStringArray &categoryNames, UaNodeIdArray &eventTypeIds, UaStringArray &, UaBoolArray &)
 Provides a mapping list of OPC UA event type NodeIds to COM Alarms and Events category IDs. More...
 
virtual UaStatus addComAeEventCategoryMapping (ComAeEventType eventType, const UaUInt32Array &categoryIDs, const UaStringArray &categoryNames, const UaNodeIdArray &eventTypeIds, const UaStringArray &)
 Adds a mapping list of OPC UA event type NodeIds to COM Alarms and Events category IDs. More...
 
virtual UaStatus getComAeAttributeMapping (ComAeAttributeMappingArray &comAeAttributeMappingArray)
 Get the mapping list of OPC UA event fields to COM Alarms and Events attribute IDs. More...
 
virtual UaStatus addComAeAttributeMapping (OpcUa_UInt32 attributeID, const UaString &attributeName, OpcUa_BuiltInType dataType, OpcUa_Boolean isArray, const UaStringArray &eventFieldPathNames, const UaStringArray &eventFieldPathNamespaceUris)
 Adds an entry to the mapping list of OPC UA event fields to COM Alarms and Events attribute IDs. More...
 
void lockConfigFile ()
 Lock snchronization object for configuratin changes.
 
void unlockConfigFile ()
 Unlock snchronization object for configuratin changes.
 
UaString sApplicationPath () const
 
UaString sConfigPath () const
 
UaString sTracePath () const
 
void setProductUri (const UaString &sProductUri)
 
void setManufacturerName (const UaString &sManufacturerName)
 
void setProductName (const UaString &sProductName)
 
void setSoftwareVersion (const UaString &sSoftwareVersion)
 
void setBuildNumber (const UaString &sBuildNumber)
 
- Public Member Functions inherited from ServerConfig
 ServerConfig ()
 construction. More...
 
virtual ~ServerConfig ()
 destruction
 
virtual UaStatus loadConfiguration ()=0
 Load the configuration from the config file. More...
 
virtual UaStatus startUp (ServerManager *pServerManager)=0
 Start up OPC ServerConfig. More...
 
virtual UaStatus shutDown ()=0
 Shut down OPC ServerConfig. More...
 
virtual UaStatus saveConfiguration ()=0
 Save the configuration to the config file. More...
 
virtual SessioncreateSession (OpcUa_Int32 sessionID, const UaNodeId &authenticationToken)=0
 Creates a session object for the OPC server. More...
 
virtual UaStatus logonSessionUser (Session *pSession, UaUserIdentityToken *pUserIdentityToken)=0
 Validates the user identity token and sets the user for a session. More...
 

Static Public Member Functions

static void replaceString (UaString &sString, const UaString &sSearch, const UaString &sReplace)
 Replaces all occurrences of the search string sSearch in sString with sReplace. More...
 
static void replaceNodeName (UaString &sString, const UaString &sNodeName)
 Replace placeholder [NodeName] with real node name. More...
 
static void replaceServerName (UaString &sString, const UaString &sServerName)
 Replace placeholder [ServerName] with real node name. More...
 
static void replaceApplicationPath (UaString &sString, const UaString &sApplicationPath)
 Replace placeholder [ApplicationPath] with real application path. More...
 
static void replaceConfigPath (UaString &sString, const UaString &sConfigPath)
 Replace placeholder [ConfigPath] with real configuration files path. More...
 
static void replaceTracePath (UaString &sString, const UaString &sTracePath)
 Replace placeholder [TracePath] with real trace file path. More...
 

Protected Member Functions

virtual OpcUa_DateTime getBuildDate () const
 Get the build date from the static compiled in string. More...
 

Protected Attributes

UaMutex m_mutex
 
OpcUa_Int32 m_maxRequestAge
 Maximum age of a request the server allows.
 
OpcUa_Int32 m_maxSessionCount
 Maximum number of sessions the server allows to create.
 
OpcUa_Int32 m_maxSessionsPerClient
 Maximum number of sessions the server allows per Client, 0 is no limitation.
 
OpcUa_Int32 m_minSessionTimeout
 Minimum timeout in ms for a sessions the server allows to set.
 
OpcUa_Int32 m_maxSessionTimeout
 Maximum timeout in ms for a sessions the server allows to set.
 
OpcUa_Int32 m_maxBrowseContinuationPoints
 Maximum number of Browse Continuation Points managed by the server.
 
OpcUa_Int32 m_maxBrowseResults
 Maximum number of Browse results for one browse operation.
 
OpcUa_Int32 m_maxHistoryContinuationPoints
 Maximum number of History Continuation Points managed by the server.
 
OpcUa_UInt32 m_minPublishingInterval
 Minimum publishing interval in milliseconds the server allows.
 
OpcUa_UInt32 m_maxPublishingInterval
 Maximum publishing interval in milliseconds the server allows.
 
OpcUa_UInt32 m_minKeepAliveInterval
 Minimum KeepAlive interval in milliseconds the server allows.
 
OpcUa_UInt32 m_minSubscriptionLifetime
 Minimum Subscription lifetime in milliseconds the server allows.
 
OpcUa_UInt32 m_maxSubscriptionLifetime
 Maximum Subscription lifetime in milliseconds the server allows.
 
OpcUa_UInt32 m_maxRetransmissionQueueSize
 Maximum number of messages in the republish queue the server allows per Subscription.
 
OpcUa_UInt32 m_maxNotificationsPerPublish
 Maximum number of notifications per Publish the server allows.
 
OpcUa_UInt32 m_maxSubscriptionCount
 
OpcUa_UInt32 m_maxSubscriptionsPerSession
 
OpcUa_UInt32 m_maxMonitoredItemCount
 
OpcUa_UInt32 m_maxMonitoredItemPerSubscriptionCount
 
OpcUa_UInt32 m_maxMonitoredItemPerSessionCount
 
OpcUa_Double m_minSupportedSampleRate
 
UaStringArray m_localeIdArray
 
UaStringArray m_serverProfileArray
 
UaByteStringArray m_softwareCertificateArray
 
OpcUa_UInt32 m_iMaxDataQueueSize
 
OpcUa_UInt32 m_iMaxEventQueueSize
 
UaUInt32Array m_availableSamplingRates
 Array of sampling rates provided by the OPC server.
 
UaString m_sProductUri
 BuildInfo structure.
 
UaString m_sManufacturerName
 
UaString m_sProductName
 
UaString m_sSoftwareVersion
 
UaString m_sBuildNumber
 
UaString m_sServerUri
 Server Description.
 
UaString m_sServerName
 
OpcUa_Boolean m_bStackThreadPoolEnabled
 UA Stack Thread pool settings.
 
OpcUa_Int32 m_iMinStackThreads
 
OpcUa_Int32 m_iMaxStackThreads
 
OpcUa_Int32 m_iMaxStackThreadJobs
 
OpcUa_Boolean m_bStackThreadBlockOnAdd
 
OpcUa_UInt32 m_nStackThreadTimeout
 
OpcUa_UInt32 m_minSizeTransactionManager
 SDK Thread pool settings.
 
OpcUa_UInt32 m_maxSizeTransactionManager
 
OpcUa_UInt32 m_minSizeSubscriptionManager
 
OpcUa_UInt32 m_maxSizeSubscriptionManager
 
UaString m_sRejectedCertificatesDirectory
 Directory to store rejected certificates in.
 
OpcUa_UInt32 m_nRejectedCertificatesCount
 
UaEndpointArray m_uaEndpointArray
 Array of UA endpoint descriptions.
 
OpcUa_Boolean m_bEnableAnonymous
 
OpcUa_Boolean m_bEnableUserPw
 
OpcUa_Boolean m_bEnableCertificate
 
OpcUa_Boolean m_bEnableKerberosTicket
 
OpcUa_UInt32 m_nRegistrationInterval
 Discovery server registration settings. More...
 
UaStringArray m_discoveryUrlArray
 
OpcUa_Boolean m_bAutomaticCertificateExchange
 
UaString m_sDiscoveryServerTrustListLocation
 
UaString m_sDiscoveryServerStoreName
 
UaString m_sDiscoveryServerCertificateName
 
OpcUa_Int32 m_iMaxAlloc
 These are the Security constraints for the serializer. More...
 
OpcUa_Int32 m_iMaxStringLength
 
OpcUa_Int32 m_iMaxByteStringLength
 
OpcUa_Int32 m_iMaxArrayLength
 
OpcUa_Int32 m_iMaxMessageSize
 
OpcUa_Boolean m_bTraceEnabled
 UA Stack trace settings. More...
 
OpcUa_UInt32 m_uTraceLevel
 
OpcUa_Boolean m_bSdkTraceEnabled
 UA Server SDK trace settings. More...
 
OpcUa_UInt32 m_uSdkTraceLevel
 
OpcUa_UInt32 m_uMaxTraceEntries
 
OpcUa_UInt32 m_uMaxBackupFiles
 
UaString m_sTraceFile
 
OpcUa_Boolean m_isAuditActivated
 
OpcUa_RedundancySupport m_redundancySupport
 
UaStringArray m_serverUriArray
 
UaApplicationDescriptions m_serverDescriptions
 
UaUInt16Array m_namespaceIndexArray
 
UaStringArray m_namespaceUriArray
 
UaBoolArray m_allowRenameUriArray
 
UaStringArray m_uniqueIdArray
 
UaString m_sDefaultTagFileName
 
UaString m_sTagFileLocation
 
UaString m_sTagFileEnding
 
UaString m_sDefaultFileUpdatePolicy
 
UaStringArray m_propertyNames
 
UaStringArray m_propertyNameSpaces
 
UaUInt32Array m_propertyIds
 
UaString m_defaultNamespace
 
ServerConfig::ComDaTimestampSource m_comDaTimestampType
 
UaString m_defaultAeNamespace
 
UaUInt32Array m_simpleCategoryIDs
 
UaStringArray m_simpleCategoryNames
 
UaNodeIdArray m_simpleEventTypeIds
 
UaStringArray m_simpleNamespaceUris
 
UaBoolArray m_simpleVisbilityFlags
 
UaUInt32Array m_trackingCategoryIDs
 
UaStringArray m_trackingCategoryNames
 
UaNodeIdArray m_trackingEventTypeIds
 
UaStringArray m_trackingNamespaceUris
 
UaBoolArray m_trackingVisbilityFlags
 
UaUInt32Array m_conditionCategoryIDs
 
UaStringArray m_conditionCategoryNames
 
UaNodeIdArray m_conditionEventTypeIds
 
UaStringArray m_conditionNamespaceUris
 
UaBoolArray m_conditionVisbilityFlags
 
ComAeAttributeMappingArray m_comAeAttributeMappingArray
 
UaString m_sApplicationPath
 
UaString m_sConfigPath
 
UaString m_sTracePath
 
OpcUa_Boolean m_isConfigLoaded
 

Additional Inherited Members

- Public Types inherited from ServerConfig
enum  ComDaTimestampSource { INTERNAL, SOURCE_TIMESTAMP, SERVER_TIMESTAMP }
 ComDaTimestampSource enumeration. More...
 
enum  ComAeEventType { SIMPLE_EVENT, TRACKING_EVENT, CONDITION_EVENT }
 ComAeEventType enumeration. More...
 

Detailed Description

ServerConfigData Derived from ServerConfig.

It is not possible to make plane copies of this class.

Constructor & Destructor Documentation

ServerConfigData::ServerConfigData ( const UaString sApplicationPath,
const UaString sConfigPath,
const UaString sTracePath 
)

Creates an instance of the ServerConfigData class reading the configuration settings from a INI file.

Parameters
sApplicationPaththe path to the application.
sConfigPaththe path to the configuration file directory.
sTracePaththe path to the log files directory.
ServerConfigData::~ServerConfigData ( )
virtual

destruction

Destroys the ServerConfigData object.

Member Function Documentation

UaStatus ServerConfigData::addComAeAttributeMapping ( OpcUa_UInt32  attributeID,
const UaString attributeName,
OpcUa_BuiltInType  dataType,
OpcUa_Boolean  isArray,
const UaStringArray &  eventFieldPathNames,
const UaStringArray &  eventFieldPathNamespaceUris 
)
virtual

Adds an entry to the mapping list of OPC UA event fields to COM Alarms and Events attribute IDs.

The event type hirarchy and its event fields are managed by the SDK or custom NodeManager implementations is created based on the OPC UA model. In OPC UA, event fields are identified by a path of QualifiedNames starting from the EventType. These QualifiedNames are defined by standardization bodies like the OPC Foundation for the standard OPC UA event types or by vendors or users. for the standard OPC UA event types or by vendors or users. In classic OPC Alarms & Events, attribute IDs are DWORDS. This method adds an entrie to the mapping table of OPC UA event fields to classic OPC Alarms & Events attribute IDs. This mapping table is only needed for servers providing a classic OPC Alarms & Events interface in addition to the OPC UA interface.

Returns
Error code

Reimplemented from ServerConfig.

Reimplemented in ServerConfigXml.

UaStatus ServerConfigData::addComAeEventCategoryMapping ( ComAeEventType  eventType,
const UaUInt32Array &  categoryIDs,
const UaStringArray &  categoryNames,
const UaNodeIdArray &  eventTypeIds,
const UaStringArray &  namespaceUris 
)
virtual

Adds a mapping list of OPC UA event type NodeIds to COM Alarms and Events category IDs.

The event type hirarchy managed by the SDK or custom NodeManager implementations is created based on the OPC UA model. In OPC UA, event types are identified by NodeIds. These NodeIds are defined by standardization bodies like the OPC Foundation for the standard OPC UA event types or by vendors or users. In classic OPC Alarms & Events, event category IDs are DWORDS. This method provides the mapping table of OPC UA event type NodeIds to classic OPC Alarms & Events category IDs. This mapping table is only needed for servers providing a classic OPC Alarms & Events interface in addition to the OPC UA interface. The default implementation does not store the list

Returns
Error code
Parameters
[in]eventTypeEvent type for the categories to add
[in]categoryIDsList of OPC A&E category names
[in]categoryNamesList of OPC A&E category names
[in]eventTypeIdsList of OPC UA event type NodeIds
[in]namespaceUrisList of namespace URIs for the event type id. The string is empty for namespace 0

Reimplemented from ServerConfig.

Reimplemented in ServerConfigXml.

UaStatus ServerConfigData::addComDaPropertyMapping ( const UaString propertyName,
const UaString propertyNameSpaceUri,
OpcUa_UInt32  propertyId 
)
virtual

Adds an entry to the mapping list of OPC UA property names to COM Data Access property Ids.

The address space managed by the SDK or custom NodeManager implementations is created based on the OPC UA model. In OPC UA, properties are identified by qualified names. These names are defined by standardization bodies like the OPC Foundation for the standard OPC UA properties or by vendors or users. In classig OPC Data Access, properties are defined by integer IDs defined by the OPC Foundation or by vendors. This method adds an entry to the mapping table of OPC UA porperty names to classic OPC Data Access property IDs. This mapping table is only needed for servers providing a classic OPC Data Access interface in addition to the OPC UA interface. The entry is added to the internal list but is not stored.

Returns
Error code
Parameters
[in]propertyNameOPC UA Property name
[in]propertyNameSpaceUriOPC UA Property name space URI
[in]propertyIdClassic OPC Data Access Property Id

Reimplemented from ServerConfig.

Reimplemented in ServerConfigXml.

UaStatus ServerConfigData::addConfiguredNamespace ( OpcUa_UInt16  namespaceIndex,
const UaString namespaceUri,
OpcUa_Boolean  allowRenameUri,
const UaString uniqueId 
)
virtual

Adds a namespaces configuration entry for preconfigured namespaces.

See Also
getConfiguredNamespaces. The entry is added to the internal list but is not stored.
Returns
Error code
Parameters
[in]namespaceIndexIndex for the namespace in the namespace table
[in]namespaceUriNamespace URI in the namespace table
[in]allowRenameUriFlag indicating if module responsible for the namespace supports a change of the namespace URI in the configuration
[in]uniqueIdUnique ID required to identify the namespace if the module allows to change the namespace URI in the configuration

Reimplemented from ServerConfig.

Reimplemented in ServerConfigXml.

UaStatus ServerConfigData::getAdditionalServerEntries ( UaApplicationDescriptions &  serverDescriptions)
virtual

Provides capability to configure additional servers to be returned in FindServers.

Every server must implement FindServers and must return its own application description. This can also be used to run the server on the default port 4840 if only one server is installed on the system. This configuration option allows to run this server on port 4840 but to return also additional servers for a fixed configuration e.g. two servers from the same vendor on one network node.

Parameters
serverDescriptionsList of application descriptions containing the information for the additional servers to return.
Returns
Error code

Reimplemented from ServerConfig.

UaStatus ServerConfigData::getAvailableSamplingRates ( UaUInt32Array &  availableSamplingRates) const
virtual

Returns the sampling rates provided by the OPC server.

Parameters
availableSamplingRatesDescription
Returns
Error code.

Implements ServerConfig.

OpcUa_DateTime ServerConfigData::getBuildDate ( ) const
protectedvirtual

Get the build date from the static compiled in string.

Returns
the build date from the static compiled in string.
OpcUa_StatusCode ServerConfigData::getBuildInfo ( UaString ProductUri,
UaString ManufacturerName,
UaString ProductName,
UaString sSoftwareVersion,
UaString sBuildNumber,
OpcUa_DateTime &  BuildDate 
) const
virtual

Returns the BuildInfo for the server.

Parameters
ProductUrithe URI of the actual application.
ManufacturerNamethe name of the manufacturer.
ProductNamethe name of this application.
sSoftwareVersionthe software version.
sBuildNumberthe build number.
BuildDatewhen was the server build?
Returns
the OPC UA Status code.

Implements ServerConfig.

UaStatus ServerConfigData::getComAeAttributeMapping ( ComAeAttributeMappingArray comAeAttributeMappingArray)
virtual

Get the mapping list of OPC UA event fields to COM Alarms and Events attribute IDs.

The event type hirarchy and its event fields are managed by the SDK or custom NodeManager implementations is created based on the OPC UA model. In OPC UA, event fields are identified by a path of QualifiedNames starting from the EventType. These QualifiedNames are defined by standardization bodies like the OPC Foundation for the standard OPC UA event types or by vendors or users. for the standard OPC UA event types or by vendors or users. In classic OPC Alarms & Events, attribute IDs are DWORDS. This method adds an entrie to the mapping table of OPC UA event fields to classic OPC Alarms & Events attribute IDs. This mapping table is only needed for servers providing a classic OPC Alarms & Events interface in addition to the OPC UA interface.

Returns
Error code.

Reimplemented from ServerConfig.

UaStatus ServerConfigData::getComAeEventCategoryMapping ( ComAeEventType  eventType,
UaUInt32Array &  categoryIDs,
UaStringArray &  categoryNames,
UaNodeIdArray &  eventTypeIds,
UaStringArray &  namespaceUris,
UaBoolArray &  visbilityFlags 
)
virtual

Provides a mapping list of OPC UA event type NodeIds to COM Alarms and Events category IDs.

The event type hirarchy managed by the SDK or custom NodeManager implementations is created based on the OPC UA model. In OPC UA, event types are identified by NodeIds. These NodeIds are defined by standardization bodies like the OPC Foundation for the standard OPC UA event types or by vendors or users. In classic OPC Alarms & Events, event category IDs are DWORDS. This method provides the mapping table of OPC UA event type NodeIds to classic OPC Alarms & Events category IDs. This mapping table is only needed for servers providing a classic OPC Alarms & Events interface in addition to the OPC UA interface. The default implementation returns empty lists

Returns
Error code
Parameters
[in]eventTypeEvent type for the categories to return
[out]categoryIDsList of OPC A&E category names
[out]categoryNamesList of OPC A&E category names
[out]eventTypeIdsList of OPC UA event type NodeIds
[out]namespaceUrisList of namespace URIs for the event type id. The string is empty for namespace 0
[out]visbilityFlagsList of flags indicating if the category is visible

Reimplemented from ServerConfig.

UaStatus ServerConfigData::getComAeNamespaceInformation ( UaString defaultNamespace)
virtual

Provides additional namespace related information for COM A&E Server module.

The default implementation returns empty strings and lists.

Returns
Error code
Parameters
[out]defaultNamespaceDefault namespace URI used to create fully qualified names without namespace URI

Reimplemented from ServerConfig.

UaStatus ServerConfigData::getComDaNamespaceInformation ( UaString defaultNamespace)
virtual

Provides additional namespace related information for COM DA Server module.

The default implementation returns empty strings and lists.

Returns
Error code
Parameters
[out]defaultNamespaceDefault namespace URI used to create ItemIds without namespace URI

Reimplemented from ServerConfig.

UaStatus ServerConfigData::getComDaPropertyMapping ( UaStringArray &  propertyNames,
UaStringArray &  propertyNameSpaces,
UaUInt32Array &  propertyIds 
)
virtual

Provides a mapping list of OPC UA property names to COM Data Access property Ids.

The address space managed by the SDK or custom NodeManager implementations is created based on the OPC UA model. In OPC UA, properties are identified by qualified names. These names are defined by standardization bodies like the OPC Foundation for the standard OPC UA properties or by vendors or users. In classig OPC Data Access, properties are defined by integer IDs defined by the OPC Foundation or by vendors. This method provides the mapping table of OPC UA porperty names to classic OPC Data Access property IDs. This mapping table is only needed for servers providing a classic OPC Data Access interface in addition to the OPC UA interface.

Returns
Error code
Parameters
[out]propertyNamesList of OPC UA Property names
[out]propertyNameSpacesList of OPC UA Property name spaces
[out]propertyIdsList of classic OPC Data Access Property Ids

Reimplemented from ServerConfig.

ServerConfig::ComDaTimestampSource ServerConfigData::getComDaTimestampSource ( )
virtual

Provides the source of timestamp used for COM DA items.

Returns
The timestamp source

Reimplemented from ServerConfig.

UaStatus ServerConfigData::getConfiguredNamespaces ( UaUInt16Array &  namespaceIndexArray,
UaStringArray &  namespaceUriArray,
UaBoolArray &  allowRenameUriArray,
UaStringArray &  uniqueIdArray 
)
virtual

Provides configuration option for namespaces other than index 0 and 1 (OPC UA and local server).

This allows the assignment of namespace URIs to a specific index independent of the loading sequence of NodeManagers.

Returns
Error code
Parameters
[out]namespaceIndexArrayList of indices for the namespaces in the namespace table
[out]namespaceUriArrayList of namespace URIs in the namespace table
[out]allowRenameUriArrayList of flags indicating if module responsible for the namespace supports a change of the namespace URI in the configuration. If this flag is set to true, the optional parameter UniqueId must be provided.
[out]uniqueIdArrayList of unique IDs required to identify the namespace if the module allows to change the namespace URI in the configuration

Reimplemented from ServerConfig.

UaStatus ServerConfigData::getDiscoveryRegistrationConfig ( OpcUa_UInt32 &  nRegistrationInterval,
UaStringArray &  discoveryUrlArray 
)
virtual

Get settings for registration with discovery service.

Parameters
nRegistrationIntervalInterval in milliseconds used to register with the discovery servers.
discoveryUrlArrayArray of discovery server URLs to register with.
Returns
Error code.

Implements ServerConfig.

UaStatus ServerConfigData::getEndpointConfiguration ( UaString sRejectedCertificateDirectory,
OpcUa_UInt32 &  nRejectedCertificatesCount,
UaEndpointArray uaEndpointArray 
)
virtual

Get Endpoint Configuration.

Parameters
sRejectedCertificateDirectoryThe directory to store rejected client certificates.
nRejectedCertificatesCountThe maximum number of rejected certificates in the directory
uaEndpointArrayArray of configured endpoints for the server.
Returns
Error code.

Implements ServerConfig.

OpcUa_Int32 ServerConfigData::getMaxBrowseContinuationPoints ( ) const
virtual

Returns the maximum number of Browse Continuation Points managed by the server.

Returns
the maximum number of Browse Continuation Points managed by the server.

Implements ServerConfig.

OpcUa_Int32 ServerConfigData::getMaxBrowseResults ( ) const
virtual

Returns the maximum number of Browse results for one browse operation.

Returns
Maximum number of Browse results for one browse operation.

Reimplemented from ServerConfig.

OpcUa_Int32 ServerConfigData::getMaxHistoryContinuationPoints ( ) const
virtual

Returns the maximum number of History Continuation Points managed by the server.

Returns
the maximum number of History Continuation Points managed by the server.

Implements ServerConfig.

OpcUa_Int32 ServerConfigData::getMaxRequestAge ( ) const
virtual

Returns the maximum age of a request the server allows.

Returns
the maximum age of a request the server allows.

Implements ServerConfig.

UaStatus ServerConfigData::getMonitoredItemSettings ( OpcUa_UInt32 &  iMaxDataQueueSize,
OpcUa_UInt32 &  iMaxEventQueueSize 
) const
virtual

Get the setting parameters for a MonitoreItem.

Parameters
iMaxDataQueueSizeMaximum queue size for a data monitored item
iMaxEventQueueSizeMaximum queue size for an event monitored item
Returns
Error code.

Implements ServerConfig.

UaStatus ServerConfigData::getRedundancySettings ( OpcUa_RedundancySupport &  redundancySupport,
UaStringArray &  serverUriArray 
)
virtual

Provides the redundancy settings for the server.

There are three main options available, None, NonTransparent (with cold, warm and hot) and Transparent redundancy. This configuration covers the options None and NonTransparent. The option Transparent requires an additional SDK module. This redundancy module is also providing the required settings and creates the corresponding diagnostic and capability object.

Parameters
redundancySupportRedundancy support options
  • OpcUa_RedundancySupport_None (serverUriArray is ignored)
  • OpcUa_RedundancySupport_Cold
  • OpcUa_RedundancySupport_Warm
  • OpcUa_RedundancySupport_Hot
  • OpcUa_RedundancySupport_Transparent (other settings are handled by redundancy module)
serverUriArrayList of server URIs for the servers in the NonTransparent redundant set
Returns
Error code

Reimplemented from ServerConfig.

UaStatus ServerConfigData::getSerializerConfiguration ( OpcUa_Int32 &  iMaxAlloc,
OpcUa_Int32 &  iMaxStringLength,
OpcUa_Int32 &  iMaxByteStringLength,
OpcUa_Int32 &  iMaxArrayLength,
OpcUa_Int32 &  iMaxMessageSize 
) const
virtual

Get Serializer Configuration.

Parameters
iMaxAllocThe largest size for a memory block the serializer can do when deserializing a message
iMaxStringLengthThe largest string accepted by the serializer
iMaxByteStringLengthThe largest byte string accepted by the serializer
iMaxArrayLengthMaximum number of elements in an array accepted by the serializer
iMaxMessageSizeThe maximum number of bytes per message in total
Returns
Error code.

Implements ServerConfig.

UaString ServerConfigData::getServerId ( ) const
virtual

Returns the ServerId used for audit events.

The default implementation returns the ServerUri. Transparent redundant servers must extend the ServerUri with a unique identifier for the server in the redundant set.

Reimplemented from ServerConfig.

OpcUa_StatusCode ServerConfigData::getServerInstanceInfo ( UaString ServerUri,
UaLocalizedTextArray &  ServerName 
) const
virtual

Returns the server instance information for the OPC server.

Parameters
ServerUrithe actual server URI.
ServerNamethe server name.
Returns
the OPC UA Status code.

Implements ServerConfig.

UaStatus ServerConfigData::getServerSettings ( OpcUa_Double &  minSupportedSampleRate,
UaStringArray &  localeIdArray,
UaStringArray &  serverProfileArray,
UaByteStringArray &  softwareCertificateArray 
) const
virtual

Get the general setting parameters for the server.

Parameters
minSupportedSampleRateMinimum supported sample rate by the server provided as capability information to the client
localeIdArrayArray of LocaleIds that are known to be supported by the server.
serverProfileArrayArray of conformance profile URIs indicating the features supported by the server.
softwareCertificateArrayArray of software certificates containing all certificates supported by the server.
Returns
Error code.

Implements ServerConfig.

UaStatus ServerConfigData::getServerTraceSettings ( OpcUa_Boolean &  bTraceEnabled,
OpcUa_UInt32 &  uTraceLevel,
OpcUa_UInt32 &  uMaxTraceEntries,
OpcUa_UInt32 &  uMaxBackupFiles,
UaString sTraceFile 
) const
virtual

Get UA Server SDK trace settings.

Parameters
bTraceEnabledGlobally enable/disable trace output from the SDK
uTraceLevelConfigure the level of messages traced
uMaxTraceEntriesMaximum number of trace entries in one trace file
uMaxBackupFilesMaximum number of backup files
sTraceFileName and path of the trace file
Returns
Error code.

Implements ServerConfig.

UaStatus ServerConfigData::getSessionSettings ( OpcUa_Int32 &  iMaxSessionCount,
OpcUa_Int32 &  iMaxSessionsPerClient,
OpcUa_Int32 &  iMinSessionTimeout,
OpcUa_Int32 &  iMaxSessionTimeout 
) const
virtual

Get the setting parameters for session creation.

Parameters
iMaxSessionCountMaximum number of sessions the server allows to create
iMaxSessionsPerClientMaximum number of sessions the server allows per Client, 0 is no limitation
iMinSessionTimeoutMinimum timeout in ms for a sessions the server allows to set
iMaxSessionTimeoutMaximum timeout in ms for a sessions the server allows to set
Returns
Error code.

Implements ServerConfig.

UaStatus ServerConfigData::getStackThreadPoolSettings ( OpcUa_Boolean &  bEnabled,
OpcUa_Int32 &  iMinThreads,
OpcUa_Int32 &  iMaxThreads,
OpcUa_Int32 &  iMaxJobs,
OpcUa_Boolean &  bBlockOnAdd,
OpcUa_UInt32 &  nTimeout 
) const
virtual

Returns the settings for the thread pool used in the OPC UA Stack.

Parameters
bEnabledControls whether the secure listener uses a thread pool to dispatch received requests
iMinThreadsThe minimum number of threads in the thread pool
iMaxThreadsThe maximum number of threads in the thread pool
iMaxJobsThe length of the queue with jobs waiting for a free thread
bBlockOnAddIf MaxJobs is reached the add operation can block or return an error
nTimeoutIf the add operation blocks on a full job queue, this value sets the max waiting time
Returns
Error code.

Implements ServerConfig.

UaStatus ServerConfigData::getStackTraceSettings ( OpcUa_Boolean &  bTraceEnabled,
OpcUa_UInt32 &  uTraceLevel 
) const
virtual

Get UA Stack trace settings.

Parameters
bTraceEnabledGlobally enable/disable trace output from the stack (exclude platformlayer)
uTraceLevelConfigure the level of messages traced
Returns
Error code.

Implements ServerConfig.

UaStatus ServerConfigData::getSubscriptionMaxCountSettings ( OpcUa_UInt32 &  iMaxSubscriptionCount,
OpcUa_UInt32 &  iMaxSubscriptionsPerSession,
OpcUa_UInt32 &  iMaxMonitoredItemCount,
OpcUa_UInt32 &  iMaxMonitoredItemPerSubscriptionCount,
OpcUa_UInt32 &  iMaxMonitoredItemPerSessionCount 
) const
virtual

Get the max object count parameters for Subscriptions.

Returns
Error code.
Parameters
[out]iMaxSubscriptionCountMaximum number of subscriptions the server allows to create. Default value 0 is unlimited
[out]iMaxSubscriptionsPerSessionMaximum number of subscriptions the server allows to create per session. Default value 0 is unlimited
[out]iMaxMonitoredItemCountMaximum number of monitored items the server allows to create. Default value 0 is unlimited
[out]iMaxMonitoredItemPerSubscriptionCountMaximum number of monitored items per subscriptions the server allows to create. Default value 0 is unlimited
[out]iMaxMonitoredItemPerSessionCountMaximum number of monitored items per session the server allows to create. Default value 0 is unlimited

Reimplemented from ServerConfig.

UaStatus ServerConfigData::getSubscriptionSettings ( OpcUa_UInt32 &  iMinPublishingInterval,
OpcUa_UInt32 &  iMaxPublishingInterval,
OpcUa_UInt32 &  iMinKeepAliveInterval,
OpcUa_UInt32 &  iMinSubscriptionLifetime,
OpcUa_UInt32 &  iMaxSubscriptionLifetime,
OpcUa_UInt32 &  iMaxRetransmissionQueueSize,
OpcUa_UInt32 &  iMaxNotificationsPerPublish 
) const
virtual

Get the setting parameters for a subscription.

Parameters
iMinPublishingIntervalMinimum publishing interval in milliseconds the server allows
iMaxPublishingIntervalMaximum publishing interval in milliseconds the server allows
iMinKeepAliveIntervalMinimum KeepAlive interval in milliseconds the server allows
iMinSubscriptionLifetimeMinimum Subscription lifetime in milliseconds the server allows
iMaxSubscriptionLifetimeMaximum Subscription lifetime in milliseconds the server allows
iMaxRetransmissionQueueSizeMaximum number of messages in the republish queue the server allows per Subscription
iMaxNotificationsPerPublishMaximum number of notifications per Publish the server allows
Returns
Error code.

Implements ServerConfig.

UaStatus ServerConfigData::getTagFileConfiguration ( UaString defaultTagFileName,
UaString tagFileLocation,
UaString tagFileEnding,
UaString defaultFileUpdatePolicy 
)
virtual

Provides information about tagfile name, path und file ending used in the NodeManagerTagFile.

Returns
Error code

Reimplemented from ServerConfig.

UaStatus ServerConfigData::getThreadPoolSettings ( OpcUa_UInt32 &  minSizeTransactionManager,
OpcUa_UInt32 &  maxSizeTransactionManager,
OpcUa_UInt32 &  minSizeSubscriptionManager,
OpcUa_UInt32 &  maxSizeSubscriptionManager 
) const
virtual

Returns the settings for the thread pools used in the OPC server.

Parameters
minSizeTransactionManagerReturns the number of threads that are created when the
maxSizeTransactionManagerReturns the maximum number of threads allowed for the
minSizeSubscriptionManagerReturns the number of threads that are created when the
maxSizeSubscriptionManagerReturns the maximum number of threads allowed.
Returns
Error code.

Implements ServerConfig.

UaStatus ServerConfigData::getUserIdentityTokenConfig ( OpcUa_Boolean &  bEnableAnonymous,
OpcUa_Boolean &  bEnableUserPw,
OpcUa_Boolean &  bEnableCertificate,
OpcUa_Boolean &  bEnableKerberosTicket 
)
virtual

Get the enabled settings for the different user identity tokens supported by the server.

Parameters
bEnableAnonymousIndicates if Anonymous login is allowed.
bEnableUserPwIndicates if login with user and password is activated.
bEnableCertificateIndicates if login with user certificate is activated.
bEnableKerberosTicketIndicates if login with kerberos ticket is activated.
Returns
Error code.

Implements ServerConfig.

UaStatus ServerConfigData::getWindowsDiscoveryRegistrationSecuritySetup ( OpcUa_Boolean &  bAutomaticCertificateExchange,
UaString sDiscoveryServerTrustListLocation,
UaString sDiscoveryServerStoreName,
UaString sDiscoveryServerCertificateName 
)
virtual

Get settings for exchanging certificates with local discovery server on a windows computer for registration with local windows discovery server.

Returns
OPC UA result code.
Parameters
[out]bAutomaticCertificateExchangeFlag indicating if the certificates should be exchanged
[out]sDiscoveryServerTrustListLocationPath of the local discovery server trust list. This is where the server copies it's certificate to.
[out]sDiscoveryServerStoreNameStore name used for the local discovery server in the windows certificate store
[out]sDiscoveryServerCertificateNameCertificate name of the local discovery server in the windows certificate store

Reimplemented from ServerConfig.

OpcUa_Boolean ServerConfigData::isAuditActivated ( )
virtual

Flag indicating if audit events are activated.

Returns
True if audit events are active and False if not.

Reimplemented from ServerConfig.

UaStatus ServerConfigData::removeConfiguredNamespace ( OpcUa_UInt16  namespaceIndex)
virtual

Removes a namespaces configuration entry for preconfigured namespaces.

See Also
getConfiguredNamespaces. The entry is removed from the internal list but is not stored.
Returns
Error code
Parameters
[in]namespaceIndexIndex for the namespace in the namespace table

Reimplemented from ServerConfig.

Reimplemented in ServerConfigXml.

void ServerConfigData::replaceApplicationPath ( UaString sString,
const UaString sApplicationPath 
)
static

Replace placeholder [ApplicationPath] with real application path.

In the configuration files only forward slashes are used to be portable. This code converts this to backslashes on Windows.

Parameters
sStringa string used for the name.
sApplicationPaththe path to the application. This path must not contain a trailing slash.
void ServerConfigData::replaceConfigPath ( UaString sString,
const UaString sConfigPath 
)
static

Replace placeholder [ConfigPath] with real configuration files path.

In the configuration files only forward slashes are used to be portable. This code converts this to backslashes on Windows.

Parameters
sStringa string used for the name.
sConfigPaththe path to the configuration files.
void ServerConfigData::replaceNodeName ( UaString sString,
const UaString sNodeName 
)
static

Replace placeholder [NodeName] with real node name.

Parameters
sStringa string used for the name.
sNodeNamethe node name.
void ServerConfigData::replaceServerName ( UaString sString,
const UaString sServerName 
)
static

Replace placeholder [ServerName] with real node name.

Parameters
sStringa string used for the name.
sServerNamethe server name.
void ServerConfigData::replaceString ( UaString sString,
const UaString sSearch,
const UaString sReplace 
)
static

Replaces all occurrences of the search string sSearch in sString with sReplace.

Note that this function use an internal buffer of 512 bytes, so longer strings may be truncated.

Parameters
sStringString to work on.
sSearchsubstring to replace
sReplacereplace string
void ServerConfigData::replaceTracePath ( UaString sString,
const UaString sTracePath 
)
static

Replace placeholder [TracePath] with real trace file path.

In the configuration files only forward slashes are used to be portable. This code converts this to backslashes on Windows.

Parameters
sStringa string used for the name.
sTracePaththe path to the trace files.
UaStatus ServerConfigData::setTagFileConfiguration ( const UaString defaultTagFileName,
const UaString tagFileLocation,
const UaString tagFileEnding,
const UaString defaultFileUpdatePolicy 
)
virtual

Set information about tagfile name, path und file ending used in the NodeManagerTagFile.

Returns
Error code

Reimplemented from ServerConfig.

Reimplemented in ServerConfigXml.

Member Data Documentation

OpcUa_Boolean ServerConfigData::m_bSdkTraceEnabled
protected

UA Server SDK trace settings.

OpcUa_Boolean ServerConfigData::m_bTraceEnabled
protected

UA Stack trace settings.

OpcUa_Int32 ServerConfigData::m_iMaxAlloc
protected

These are the Security constraints for the serializer.

Set this values carefully.

OpcUa_UInt32 ServerConfigData::m_nRegistrationInterval
protected

Discovery server registration settings.


The documentation for this class was generated from the following files: