10#ifndef UA_SERVER_PUBSUB_H
11#define UA_SERVER_PUBSUB_H
19#ifdef UA_ENABLE_PUBSUB
51#ifdef UA_ENABLE_PUBSUB_MONITORING
54 UA_PUBSUB_MONITORING_MESSAGE_RECEIVE_TIMEOUT
56} UA_PubSubMonitoringType;
62 UA_PubSubMonitoringType eMonitoringType,
66 UA_PubSubMonitoringType eMonitoringType,
void *data);
69 UA_PubSubMonitoringType eMonitoringType,
void *data);
72 UA_PubSubMonitoringType eMonitoringType,
76 UA_PubSubMonitoringType eMonitoringType,
void *data);
77} UA_PubSubMonitoringInterface;
96#ifdef UA_ENABLE_PUBSUB_ENCRYPTION
98 size_t securityPoliciesSize;
99 UA_PubSubSecurityPolicy *securityPolicies;
102#ifdef UA_ENABLE_PUBSUB_MONITORING
103 UA_PubSubMonitoringInterface monitoringInterface;
197 UA_DataSetMetaDataType *metaData);
322#ifdef UA_ENABLE_PUBSUB_ENCRYPTION
323 UA_PubSubSecurityPolicy *securityPolicy;
348 UA_PubSubState *state);
365#ifdef UA_ENABLE_PUBSUB_ENCRYPTION
412 UA_PubSubState *state);
440 const UA_NodeId *targetVariableIdentifier,
441 void *targetVariableContext,
446 const UA_NodeId *targetVariableIdentifier,
447 void *targetVariableContext,
460 size_t targetVariablesSize,
521 UA_PubSubState *state);
543#ifdef UA_ENABLE_PUBSUB_ENCRYPTION
544 UA_PubSubSecurityPolicy *securityPolicy;
575 UA_PubSubState *state);
599#ifdef UA_ENABLE_PUBSUB_ENCRYPTION
#define _UA_BEGIN_DECLS
#undef UA_DEBUG_DUMP_PKGS
UA_StatusCode UA_Server_WriterGroup_getState(UA_Server *server, UA_NodeId writerGroupIdentifier, UA_PubSubState *state)
Get state of WriterGroup.
UA_StatusCode 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_StatusCode UA_Server_DataSetReader_getState(UA_Server *server, UA_NodeId dataSetReaderIdentifier, UA_PubSubState *state)
Get state of DataSetReader.
UA_StatusCode UA_Server_removeDataSetWriter(UA_Server *server, const UA_NodeId dsw)
void UA_PublishedDataSetConfig_clear(UA_PublishedDataSetConfig *pdsConfig)
UA_StatusCode UA_Server_DataSetReader_getConfig(UA_Server *server, UA_NodeId dataSetReaderIdentifier, UA_DataSetReaderConfig *config)
Get configuration of the dataSetReader.
void UA_DataSetWriterConfig_clear(UA_DataSetWriterConfig *pdsConfig)
UA_StatusCode UA_Server_DataSetReader_updateConfig(UA_Server *server, UA_NodeId dataSetReaderIdentifier, UA_NodeId readerGroupIdentifier, const UA_DataSetReaderConfig *config)
Update configuration to the dataSetReader.
UA_SubscribedDataSetEnumType
SubscribedDataSetDataType Definition.
UA_DataSetFieldResult UA_Server_addDataSetField(UA_Server *server, const UA_NodeId publishedDataSet, const UA_DataSetFieldConfig *fieldConfig, UA_NodeId *fieldIdentifier)
UA_DataSetFieldResult UA_Server_removeDataSetField(UA_Server *server, const UA_NodeId dsf)
@ UA_PUBSUB_ENCODING_JSON
@ UA_PUBSUB_ENCODING_UADP
@ UA_PUBSUB_ENCODING_BINARY
UA_StatusCode 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_StatusCode UA_ServerConfig_addPubSubTransportLayer(UA_ServerConfig *config, UA_PubSubTransportLayer pubsubTransportLayer)
@ UA_PUBSUB_DATASETFIELD_VARIABLE
@ UA_PUBSUB_DATASETFIELD_EVENT
@ UA_PUBSUB_RT_DATA_VALUE
UA_StatusCode UA_Server_getDataSetFieldConfig(UA_Server *server, const UA_NodeId dsf, UA_DataSetFieldConfig *config)
Returns a deep copy of the config.
UA_StatusCode UA_Server_updateWriterGroupConfig(UA_Server *server, UA_NodeId writerGroupIdentifier, const UA_WriterGroupConfig *config)
UA_StatusCode UA_Server_getPubSubConnectionConfig(UA_Server *server, const UA_NodeId connection, UA_PubSubConnectionConfig *config)
Returns a deep copy of the config.
UA_StatusCode UA_Server_addPubSubConnection(UA_Server *server, const UA_PubSubConnectionConfig *connectionConfig, UA_NodeId *connectionIdentifier)
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_PUBSUB_RT_DETERMINISTIC
@ UA_PUBSUB_RT_DIRECT_VALUE_ACCESS
@ UA_PUBSUB_RT_FIXED_SIZE
UA_StatusCode UA_Server_DataSetWriter_getState(UA_Server *server, UA_NodeId dataSetWriterIdentifier, UA_PubSubState *state)
Get state of DataSetWriter.
void UA_DataSetFieldConfig_clear(UA_DataSetFieldConfig *dataSetFieldConfig)
UA_AddPublishedDataSetResult UA_Server_addPublishedDataSet(UA_Server *server, const UA_PublishedDataSetConfig *publishedDataSetConfig, UA_NodeId *pdsIdentifier)
UA_StatusCode UA_Server_addDataSetReader(UA_Server *server, UA_NodeId readerGroupIdentifier, const UA_DataSetReaderConfig *dataSetReaderConfig, UA_NodeId *readerIdentifier)
Add DataSetReader to the ReaderGroup.
UA_StatusCode UA_Server_removeWriterGroup(UA_Server *server, const UA_NodeId writerGroup)
UA_StatusCode UA_Server_ReaderGroup_getState(UA_Server *server, UA_NodeId readerGroupIdentifier, UA_PubSubState *state)
Get state of ReaderGroup.
UA_StatusCode UA_Server_unfreezeWriterGroupConfiguration(UA_Server *server, const UA_NodeId writerGroup)
UA_StatusCode UA_Server_removePublishedDataSet(UA_Server *server, const UA_NodeId pds)
Remove PublishedDataSet, identified by the NodeId.
UA_StatusCode UA_Server_getPublishedDataSetConfig(UA_Server *server, const UA_NodeId pds, UA_PublishedDataSetConfig *config)
Returns a deep copy of the config.
UA_StatusCode UA_Server_freezeWriterGroupConfiguration(UA_Server *server, const UA_NodeId writerGroup)
UA_StatusCode UA_Server_removePubSubConnection(UA_Server *server, const UA_NodeId connection)
Remove Connection, identified by the NodeId.
UA_StatusCode UA_Server_getWriterGroupConfig(UA_Server *server, const UA_NodeId writerGroup, UA_WriterGroupConfig *config)
Returns a deep copy of the config.
UA_StatusCode UA_Server_setReaderGroupDisabled(UA_Server *server, const UA_NodeId readerGroupId)
UA_StatusCode UA_Server_setWriterGroupDisabled(UA_Server *server, const UA_NodeId writerGroup)
@ UA_PUBSUB_PUBLISHERID_NUMERIC
@ UA_PUBSUB_PUBLISHERID_STRING
UA_StatusCode UA_Server_setWriterGroupOperational(UA_Server *server, const UA_NodeId writerGroup)
UA_StatusCode UA_Server_setReaderGroupOperational(UA_Server *server, const UA_NodeId readerGroupId)
UA_StatusCode UA_Server_unfreezeReaderGroupConfiguration(UA_Server *server, const UA_NodeId readerGroupId)
UA_StatusCode UA_Server_removeDataSetReader(UA_Server *server, UA_NodeId readerIdentifier)
Remove DataSetReader from ReaderGroup.
UA_StatusCode UA_Server_removeReaderGroup(UA_Server *server, UA_NodeId groupIdentifier)
Remove ReaderGroup from connection.
UA_StatusCode 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_StatusCode UA_Server_freezeReaderGroupConfiguration(UA_Server *server, const UA_NodeId readerGroupId)
UA_StatusCode UA_Server_addReaderGroup(UA_Server *server, UA_NodeId connectionIdentifier, const UA_ReaderGroupConfig *readerGroupConfig, UA_NodeId *readerGroupIdentifier)
Add ReaderGroup to the created connection.
UA_StatusCode 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_Server_getDataSetWriterConfig(UA_Server *server, const UA_NodeId dsw, UA_DataSetWriterConfig *config)
Returns a deep copy of the config.
void UA_ReaderGroupConfig_clear(UA_ReaderGroupConfig *readerGroupConfig)
UA_StatusCode 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_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
UA_ConfigurationVersionDataType configurationVersion
UA_StatusCode * fieldAddResults
size_t fieldAddResultsSize
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_PubSubSecurityParameters securityParameters
UA_TargetVariables subscribedDataSetTarget
UA_PubSubRtEncoding expectedEncoding
UA_DataSetFieldContentMask dataSetFieldContentMask
UA_SubscribedDataSetEnumType subscribedDataSetType
UA_ConfigurationVersionDataType configurationVersion
UA_PublishedVariableDataType publishParameters
UA_Boolean rtInformationModelNode
UA_Boolean rtFieldSourceEnabled
UA_DataValue ** staticValueSource
size_t dataSetWriterPropertiesSize
UA_UInt16 dataSetWriterId
UA_KeyValuePair * dataSetWriterProperties
UA_DataSetFieldContentMask dataSetFieldContentMask
UA_ExtensionObject messageSettings
UA_ExtensionObject transportSettings
UA_FieldTargetDataType targetVariable
UA_DataValue ** externalDataValue
void * targetVariableContext
General PubSub configuration.
UA_PubSubTransportLayer * transportLayers
void(* stateChangeCallback)(UA_NodeId *Id, UA_PubSubState state, UA_StatusCode status)
size_t transportLayersSize
UA_KeyValuePair * connectionProperties
UA_String transportProfileUri
UA_Variant connectionTransportSettings
union UA_PubSubConnectionConfig::@19 publisherId
UA_PublisherIdType publisherIdType
size_t connectionPropertiesSize
To Do:Implementation of SubscribedDataSetMirrorType UA_StatusCode A_PubSubDataSetReader_createDataSet...
UA_String securityGroupId
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
ReaderGroup configuration.
UA_PubSub_CallbackLifecycle pubsubManagerCallback
UA_Duration subscribingInterval
UA_MessageSecurityMode securityMode
UA_KeyValuePair * groupProperties
UA_Boolean enableBlockingSocket
size_t groupPropertiesSize
UA_PubSubSecurityParameters securityParameters
size_t targetVariablesSize
UA_FieldTargetVariable * targetVariables
UA_PubSub_CallbackLifecycle pubsubManagerCallback
size_t groupPropertiesSize
UA_MessageSecurityMode securityMode
UA_Duration publishingInterval
UA_PubSubEncodingType encodingMimeType
UA_ExtensionObject transportSettings
UA_UInt16 maxEncapsulatedDataSetMessageCount
UA_ExtensionObject messageSettings
UA_KeyValuePair * groupProperties
_UA_BEGIN_DECLS typedef bool UA_Boolean
This Source Code Form is subject to the terms of the Mozilla Public License, v.
void(* UA_ServerCallback)(UA_Server *server, void *data)
UA_TimerPolicy
Timer policy to handle cycle misses.