12#ifndef UA_SERVER_PUBSUB_H
13#define UA_SERVER_PUBSUB_H
23#ifdef UA_ENABLE_PUBSUB
80#ifdef UA_ENABLE_PUBSUB_MONITORING
83 UA_PUBSUB_MONITORING_MESSAGE_RECEIVE_TIMEOUT
85} UA_PubSubMonitoringType;
91 UA_PubSubMonitoringType eMonitoringType,
95 UA_PubSubMonitoringType eMonitoringType,
void *data);
98 UA_PubSubMonitoringType eMonitoringType,
void *data);
101 UA_PubSubMonitoringType eMonitoringType,
105 UA_PubSubMonitoringType eMonitoringType,
void *data);
106} UA_PubSubMonitoringInterface;
122#ifdef UA_ENABLE_PUBSUB_INFORMATIONMODEL
126#ifdef UA_ENABLE_PUBSUB_ENCRYPTION
128 size_t securityPoliciesSize;
129 UA_PubSubSecurityPolicy *securityPolicies;
132#ifdef UA_ENABLE_PUBSUB_MONITORING
133 UA_PubSubMonitoringInterface monitoringInterface;
352#ifdef UA_ENABLE_PUBSUB_ENCRYPTION
353 UA_PubSubSecurityPolicy *securityPolicy;
386 UA_DateTime *timestamp);
403#ifdef UA_ENABLE_PUBSUB_ENCRYPTION
477 const UA_NodeId *targetVariableIdentifier,
478 void *targetVariableContext,
483 const UA_NodeId *targetVariableIdentifier,
484 void *targetVariableContext,
497 size_t targetVariablesSize,
600#ifdef UA_ENABLE_PUBSUB_ENCRYPTION
601 UA_PubSubSecurityPolicy *securityPolicy;
657#ifdef UA_ENABLE_PUBSUB_ENCRYPTION
667#ifdef UA_ENABLE_PUBSUB_SKS
677} UA_SecurityGroupConfig;
682 const UA_SecurityGroupConfig *securityGroupConfig,
697 UA_Server_sksPullRequestCallback callback,
void *context);
void(* UA_ServerCallback)(UA_Server *server, void *data)
struct UA_Server UA_Server
#define _UA_BEGIN_DECLS
#undef UA_DEBUG_DUMP_PKGS
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_Server_getWriterGroupConfig(UA_Server *server, const UA_NodeId writerGroup, UA_WriterGroupConfig *config)
Returns a deep copy of the config.
UA_StatusCode UA_THREADSAFE UA_Server_removePublishedDataSet(UA_Server *server, const UA_NodeId pds)
Remove PublishedDataSet, identified by the NodeId.
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_Server_DataSetReader_getState(UA_Server *server, UA_NodeId dataSetReaderIdentifier, UA_PubSubState *state)
Get state of DataSetReader.
void UA_PublishedDataSetConfig_clear(UA_PublishedDataSetConfig *pdsConfig)
void UA_DataSetWriterConfig_clear(UA_DataSetWriterConfig *pdsConfig)
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_Server_setWriterGroupOperational(UA_Server *server, const UA_NodeId writerGroup)
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_Server_getDataSetWriterConfig(UA_Server *server, const UA_NodeId dsw, UA_DataSetWriterConfig *config)
Returns a deep copy of the config.
UA_EXPORT UA_StatusCode UA_DataSetReaderConfig_copy(const UA_DataSetReaderConfig *src, UA_DataSetReaderConfig *dst)
Copy the configuration of DataSetReader.
UA_SubscribedDataSetEnumType
SubscribedDataSetDataType Definition.
UA_EXPORT void UA_DataSetReaderConfig_clear(UA_DataSetReaderConfig *cfg)
Clear the configuration of a DataSetReader.
@ UA_PUBSUB_ENCODING_JSON
@ UA_PUBSUB_ENCODING_UADP
@ UA_PUBSUB_ENCODING_BINARY
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_Server_unfreezeReaderGroupConfiguration(UA_Server *server, const UA_NodeId readerGroupId)
UA_StatusCode UA_THREADSAFE UA_Server_removePubSubConnection(UA_Server *server, const UA_NodeId connection)
Remove Connection, identified by the NodeId.
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_Server_addStandaloneSubscribedDataSet(UA_Server *server, const UA_StandaloneSubscribedDataSetConfig *subscribedDataSetConfig, UA_NodeId *sdsIdentifier)
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_Server_addDataSetWriter(UA_Server *server, const UA_NodeId writerGroup, const UA_NodeId dataSet, const UA_DataSetWriterConfig *dataSetWriterConfig, UA_NodeId *writerIdentifier)
Add a new DataSetWriter to an existing WriterGroup.
UA_StatusCode UA_THREADSAFE UA_Server_addPubSubConnection(UA_Server *server, const UA_PubSubConnectionConfig *connectionConfig, UA_NodeId *connectionIdentifier)
Add a new PubSub connection to the given server and open it.
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_Server_addDataSetReader(UA_Server *server, UA_NodeId readerGroupIdentifier, const UA_DataSetReaderConfig *dataSetReaderConfig, UA_NodeId *readerIdentifier)
Add DataSetReader to the ReaderGroup.
@ UA_PUBSUB_DATASETFIELD_VARIABLE
@ UA_PUBSUB_DATASETFIELD_EVENT
UA_StatusCode UA_THREADSAFE UA_Server_getPubSubConnectionConfig(UA_Server *server, const UA_NodeId connection, UA_PubSubConnectionConfig *config)
Returns a deep copy of the config.
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_Server_setReaderGroupOperational(UA_Server *server, const UA_NodeId readerGroupId)
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_Server_setWriterGroupDisabled(UA_Server *server, const UA_NodeId writerGroup)
UA_PubSubRtEncoding
To Do:Implementation of SubscribedDataSetMirrorType UA_StatusCode A_PubSubDataSetReader_createDataSet...
@ UA_PUBSUB_RT_DATA_VALUE
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_Server_freezeReaderGroupConfiguration(UA_Server *server, const UA_NodeId readerGroupId)
UA_PubSubComponentEnumType
This Source Code Form is subject to the terms of the Mozilla Public License, v.
@ UA_PUBSUB_COMPONENT_DATASETWRITER
@ UA_PUBSUB_COMPONENT_DATASETREADER
@ UA_PUBSUB_COMPONENT_WRITERGROUP
@ UA_PUBSUB_COMPONENT_CONNECTION
@ UA_PUBSUB_COMPONENT_READERGROUP
void UA_WriterGroupConfig_clear(UA_WriterGroupConfig *writerGroupConfig)
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_Server_addWriterGroup(UA_Server *server, const UA_NodeId connection, const UA_WriterGroupConfig *writerGroupConfig, UA_NodeId *writerGroupIdentifier)
Add a new WriterGroup to an existing Connection.
@ UA_PUBSUB_RT_DETERMINISTIC
@ UA_PUBSUB_RT_DIRECT_VALUE_ACCESS
@ UA_PUBSUB_RT_FIXED_SIZE
void UA_DataSetFieldConfig_clear(UA_DataSetFieldConfig *dataSetFieldConfig)
UA_EXPORT UA_DataSetFieldResult UA_THREADSAFE UA_Server_addDataSetField(UA_Server *server, const UA_NodeId publishedDataSet, const UA_DataSetFieldConfig *fieldConfig, UA_NodeId *fieldIdentifier)
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_Server_WriterGroup_getState(UA_Server *server, UA_NodeId writerGroupIdentifier, UA_PubSubState *state)
Get state of WriterGroup.
UA_EXPORT UA_DataSetFieldResult UA_THREADSAFE UA_Server_removeDataSetField(UA_Server *server, const UA_NodeId dsf)
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_Server_getPublishedDataSetMetaData(UA_Server *server, const UA_NodeId pds, UA_DataSetMetaDataType *metaData)
Returns a deep copy of the DataSetMetaData for an specific PDS.
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_Server_ReaderGroup_getState(UA_Server *server, UA_NodeId readerGroupIdentifier, UA_PubSubState *state)
Get state of ReaderGroup.
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_Server_removeReaderGroup(UA_Server *server, UA_NodeId groupIdentifier)
Remove ReaderGroup from connection.
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_Server_freezeWriterGroupConfiguration(UA_Server *server, const UA_NodeId writerGroup)
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_Server_removeStandaloneSubscribedDataSet(UA_Server *server, const UA_NodeId sds)
Remove StandaloneSubscribedDataSet, identified by the NodeId.
UA_PublisherIdType
Valid PublisherId types from Part 14.
@ UA_PUBLISHERIDTYPE_UINT16
@ UA_PUBLISHERIDTYPE_STRING
@ UA_PUBLISHERIDTYPE_UINT64
@ UA_PUBLISHERIDTYPE_BYTE
@ UA_PUBLISHERIDTYPE_UINT32
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_Server_DataSetReader_createTargetVariables(UA_Server *server, UA_NodeId dataSetReaderIdentifier, size_t targetVariablesSize, const UA_FieldTargetVariable *targetVariables)
Return Status Code after creating TargetVariables in Subscriber AddressSpace.
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_Server_DataSetWriter_getState(UA_Server *server, UA_NodeId dataSetWriterIdentifier, UA_PubSubState *state)
Get state of DataSetWriter.
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_Server_DataSetReader_updateConfig(UA_Server *server, UA_NodeId dataSetReaderIdentifier, UA_NodeId readerGroupIdentifier, const UA_DataSetReaderConfig *config)
Update configuration to the DataSetReader.
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_Server_DataSetReader_getConfig(UA_Server *server, UA_NodeId dataSetReaderIdentifier, UA_DataSetReaderConfig *config)
Get the configuration (copy) of the DataSetReader.
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_Server_addReaderGroup(UA_Server *server, UA_NodeId connectionIdentifier, const UA_ReaderGroupConfig *readerGroupConfig, UA_NodeId *readerGroupIdentifier)
Add ReaderGroup to the created connection.
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_Server_getPublishedDataSetConfig(UA_Server *server, const UA_NodeId pds, UA_PublishedDataSetConfig *config)
Returns a deep copy of the config.
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_Server_WriterGroup_publish(UA_Server *server, const UA_NodeId writerGroupIdentifier)
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_Server_ReaderGroup_getConfig(UA_Server *server, UA_NodeId readerGroupIdentifier, UA_ReaderGroupConfig *config)
To Do: Update Configuration of ReaderGroup UA_StatusCode UA_Server_ReaderGroup_updateConfig(UA_Server...
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_Server_setReaderGroupDisabled(UA_Server *server, const UA_NodeId readerGroupId)
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_Server_updateWriterGroupConfig(UA_Server *server, UA_NodeId writerGroupIdentifier, const UA_WriterGroupConfig *config)
void UA_ReaderGroupConfig_clear(UA_ReaderGroupConfig *readerGroupConfig)
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_Server_removeDataSetReader(UA_Server *server, UA_NodeId readerIdentifier)
Remove DataSetReader from ReaderGroup.
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_Server_unfreezeWriterGroupConfiguration(UA_Server *server, const UA_NodeId writerGroup)
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_WriterGroup_lastPublishTimestamp(UA_Server *server, const UA_NodeId writerGroupId, UA_DateTime *timestamp)
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_Server_getDataSetFieldConfig(UA_Server *server, const UA_NodeId dsf, UA_DataSetFieldConfig *config)
Returns a deep copy of the config.
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_Server_removeDataSetWriter(UA_Server *server, const UA_NodeId dsw)
UA_EXPORT UA_StatusCode UA_THREADSAFE UA_Server_removeWriterGroup(UA_Server *server, const UA_NodeId writerGroup)
UA_EXPORT UA_AddPublishedDataSetResult UA_THREADSAFE UA_Server_addPublishedDataSet(UA_Server *server, const UA_PublishedDataSetConfig *publishedDataSetConfig, UA_NodeId *pdsIdentifier)
UA_PublishedDataSetType
The UA_PUBSUB_DATASET_PUBLISHEDITEMS has currently no additional members and thus no dedicated config...
@ UA_PUBSUB_DATASET_PUBLISHEDEVENTS
@ UA_PUBSUB_DATASET_PUBLISHEDITEMS_TEMPLATE
@ UA_PUBSUB_DATASET_PUBLISHEDEVENTS_TEMPLATE
@ UA_PUBSUB_DATASET_PUBLISHEDITEMS
void UA_StandaloneSubscribedDataSetConfig_clear(UA_StandaloneSubscribedDataSetConfig *sdsConfig)
UA_ConfigurationVersionDataType configurationVersion
UA_StatusCode * fieldAddResults
size_t fieldAddResultsSize
ConfigurationVersionDataType.
UA_DataSetFieldType dataSetFieldType
UA_DataSetVariableConfig variable
UA_ConfigurationVersionDataType configurationVersion
Parameters for PubSub DataSetReader Configuration.
UA_DataSetMetaDataType dataSetMetaData
UA_UInt16 dataSetWriterId
UA_ExtensionObject messageSettings
UA_ExtensionObject transportSettings
UA_Double messageReceiveTimeout
UA_TargetVariables subscribedDataSetTarget
UA_String linkedStandaloneSubscribedDataSetName
UA_PubSubRtEncoding expectedEncoding
UA_DataSetFieldContentMask dataSetFieldContentMask
UA_SubscribedDataSetEnumType subscribedDataSetType
UA_ConfigurationVersionDataType configurationVersion
UA_PublishedVariableDataType publishParameters
UA_UInt32 maxStringLength
UA_Boolean rtInformationModelNode
UA_Boolean rtFieldSourceEnabled
UA_DataValue ** staticValueSource
UA_KeyValueMap dataSetWriterProperties
UA_UInt16 dataSetWriterId
UA_DataSetFieldContentMask dataSetFieldContentMask
UA_ExtensionObject messageSettings
UA_ExtensionObject transportSettings
UA_FieldTargetDataType targetVariable
UA_DataValue ** externalDataValue
void * targetVariableContext
General PubSub configuration.
UA_Boolean enableDeltaFrames
void(* stateChangeCallback)(UA_Server *server, UA_NodeId *id, UA_PubSubState state, UA_StatusCode status)
UA_PublisherId publisherId
UA_String transportProfileUri
UA_Variant connectionTransportSettings
UA_PublisherIdType publisherIdType
UA_KeyValueMap connectionProperties
UA_DataSetMetaDataType metaData
size_t variablesToAddSize
UA_PublishedVariableDataType * variablesToAdd
Configuration structure for PublishedDataSet.
UA_PublishedEventConfig event
UA_PublishedEventTemplateConfig eventTemplate
UA_PublishedDataItemsTemplateConfig itemsTemplate
UA_PublishedDataSetType publishedDataSetType
UA_SimpleAttributeOperand * selectedFields
size_t selectedFieldsSize
UA_DataSetMetaDataType metaData
PublishedVariableDataType.
ReaderGroup configuration.
UA_KeyValueMap groupProperties
UA_PubSubEncodingType encodingMimeType
UA_MessageSecurityMode securityMode
UA_ExtensionObject transportSettings
UA_DataSetMetaDataType dataSetMetaData
UA_TargetVariablesDataType target
UA_SubscribedDataSetEnumType subscribedDataSetType
size_t targetVariablesSize
UA_FieldTargetVariable * targetVariables
UA_KeyValueMap groupProperties
UA_PubSub_CallbackLifecycle pubsubManagerCallback
UA_MessageSecurityMode securityMode
UA_Duration publishingInterval
UA_PubSubEncodingType encodingMimeType
UA_ExtensionObject transportSettings
UA_UInt16 maxEncapsulatedDataSetMessageCount
UA_ExtensionObject messageSettings
_UA_BEGIN_DECLS typedef bool UA_Boolean
This Source Code Form is subject to the terms of the Mozilla Public License, v.
UA_MessageSecurityMode
MessageSecurityMode.
UA_UInt32 UA_DataSetFieldContentMask
DataSetFieldContentMask.
UA_Double UA_Duration
Duration.
UA_PubSubState
PubSubState.
Publisher Id Valid types are defined in Part 14, 7.2.2.2.2 NetworkMessage Layout: