UA Server SDK C++ Bundle
1.4.1.271
|
The UaSubscription class manges a UA Client created subscription. More...
#include <uasubscription.h>
Public Member Functions | |
UaStatus | modifySubscription (ServiceSettings &serviceSettings, SubscriptionSettings &subscriptionSettings) |
Modify the subscription settings. More... | |
UaStatus | setPublishingMode (ServiceSettings &serviceSettings, OpcUa_Boolean publishingEnabled) |
Set the publishing mode of the subscription. More... | |
UaStatus | createMonitoredItems (ServiceSettings &serviceSettings, OpcUa_TimestampsToReturn timestampsToReturn, const UaMonitoredItemCreateRequests &monitoredItemCreateRequests, UaMonitoredItemCreateResults &monitoredItemCreateResults) |
Creates a list of monitored items in the subscriptions. More... | |
UaStatus | modifyMonitoredItems (ServiceSettings &serviceSettings, OpcUa_TimestampsToReturn timestampsToReturn, const UaMonitoredItemModifyRequests &monitoredItemModifyRequests, UaMonitoredItemModifyResults &monitoredItemModifyResults) |
Modify monitored items. More... | |
UaStatus | setMonitoringMode (ServiceSettings &serviceSettings, OpcUa_MonitoringMode monitoringMode, const UaUInt32Array &monitoredItemIds, UaStatusCodeArray &results) |
Set monitoring mode for monitored items. More... | |
UaStatus | deleteMonitoredItems (ServiceSettings &serviceSettings, const UaUInt32Array &monitoredItemIds, UaStatusCodeArray &results) |
Delete monitored items. More... | |
UaStatus | republish (ServiceSettings &serviceSettings, OpcUa_UInt32 retransmitSequenceNumber, UaDataNotifications &dataNotifications, UaDiagnosticInfos &diagnosticInfos, UaEventFieldLists &eventFieldList, UaStatus &subscriptionStatus) |
Republish call to get lost notifications. More... | |
UaStatus | beginCreateMonitoredItems (ServiceSettings &serviceSettings, OpcUa_TimestampsToReturn timestampsToReturn, const UaMonitoredItemCreateRequests &monitoredItemCreateRequests, OpcUa_UInt32 transactionId) |
Asynchronous call to create a list of monitored items in the subscriptions. More... | |
UaStatus | beginModifyMonitoredItems (ServiceSettings &serviceSettings, OpcUa_TimestampsToReturn timestampsToReturn, const UaMonitoredItemModifyRequests &monitoredItemModifyRequests, OpcUa_UInt32 transactionId) |
Asynchronous call to modify monitored items. More... | |
UaStatus | beginSetMonitoringMode (ServiceSettings &serviceSettings, OpcUa_MonitoringMode monitoringMode, const UaUInt32Array &monitoredItemIds, OpcUa_UInt32 transactionId) |
Asynchronous call to set monitoring mode for monitored items. More... | |
UaStatus | beginDeleteMonitoredItems (ServiceSettings &serviceSettings, const UaUInt32Array &monitoredItemIds, OpcUa_UInt32 transactionId) |
Asynchronous call to delete monitored items. More... | |
OpcUa_UInt32 | subscriptionId () |
Returns the id of the subscription. | |
OpcUa_UInt32 | clientSubscriptionHandle () |
Returns the client subscription handle for the subscription. | |
OpcUa_Double | publishingInterval () |
Returns the publishing interval of the subscription. | |
OpcUa_UInt32 | lifetimeCount () |
Returns the lifetime count of the subscription. More... | |
OpcUa_UInt32 | maxKeepAliveCount () |
Returns the maximum keep alive count of the subscription. | |
OpcUa_UInt32 | maxNotificationsPerPublish () |
Returns the maximum number of notifications per publish for the subscription. | |
OpcUa_Byte | priority () |
Returns the priority of the subscription. | |
OpcUa_Boolean | publishingEnabled () |
Returns the publish enabled flag of the subscription. | |
The UaSubscription class manges a UA Client created subscription.
The class provides all Subscription related UA Services as synchronous and asynchronous methods.
The callback interface UaSubscriptionCallback needs to be implemented by the user of the UaSubscription class to receive data change, event and subscription status change callbacks from the Client SDK. The status of the subscription is normally monitored by the SDK and changes are indicated by sending subscription status changed callbacks.
In cases of Subscription errors the user of the SDK is responsible for creating a new subscription since the SDK does not keep the information to recreate the Subscription to not increase memory consumption. The necessary information also needs to be kept by the client application anyway. To duplicate this information in the SDK consumes too much memory.
A UaSubscription object is thread-safe.
UaStatus UaSubscription::beginCreateMonitoredItems | ( | ServiceSettings & | serviceSettings, |
OpcUa_TimestampsToReturn | timestampsToReturn, | ||
const UaMonitoredItemCreateRequests & | monitoredItemCreateRequests, | ||
OpcUa_UInt32 | transactionId | ||
) |
Asynchronous call to create a list of monitored items in the subscriptions.
The monitored items could be data monitored items or event monitored items.
[in,out] | serviceSettings | The general service settings like timeout. See ServiceSettings for more details |
[in] | timestampsToReturn | OPC UA defines two timestamps, the source and the server timestamp. This parameter allows the client to define which timestamps the server should return with the value. The source timestamp is only available for Value Attributes. The source timestamp is used to reflect the timestamp that was applied to a Variable value by the data source. It should indicate the last change of the value or status code. The source timestamp must be always generated by the same physical clock. This timestamp type was added for OPC UA to cover the use case to get the timestamp of the last value change which is different than the server timestamp definition. The server timestamp is used to reflect the time that the server received a Variable value or knew it to be accurate if the changes are reported by exception and the connection to the data source is operating. This is the behavior expected by Classic OPC. Possible values are:
|
[in] | monitoredItemCreateRequests | List of monitored items to create |
[in] | transactionId | Transaction ID for the asynchronous call used to assign the callback to the transaction |
UaStatus UaSubscription::beginDeleteMonitoredItems | ( | ServiceSettings & | serviceSettings, |
const UaUInt32Array & | monitoredItemIds, | ||
OpcUa_UInt32 | transactionId | ||
) |
Asynchronous call to delete monitored items.
[in,out] | serviceSettings | The general service settings like timeout. See ServiceSettings for more details |
[in] | monitoredItemIds | List of monitored items to delete |
[in] | transactionId | Transaction ID for the asynchronous call used to assign the callback to the transaction |
UaStatus UaSubscription::beginModifyMonitoredItems | ( | ServiceSettings & | serviceSettings, |
OpcUa_TimestampsToReturn | timestampsToReturn, | ||
const UaMonitoredItemModifyRequests & | monitoredItemModifyRequests, | ||
OpcUa_UInt32 | transactionId | ||
) |
Asynchronous call to modify monitored items.
[in,out] | serviceSettings | The general service settings like timeout. See ServiceSettings for more details |
[in] | timestampsToReturn | OPC UA defines two timestamps, the source and the server timestamp. This parameter allows the client to define which timestamps the server should return with the value. The source timestamp is only available for Value Attributes. The source timestamp is used to reflect the timestamp that was applied to a Variable value by the data source. It should indicate the last change of the value or status code. The source timestamp must be always generated by the same physical clock. This timestamp type was added for OPC UA to cover the use case to get the timestamp of the last value change which is different than the server timestamp definition. The server timestamp is used to reflect the time that the server received a Variable value or knew it to be accurate if the changes are reported by exception and the connection to the data source is operating. This is the behavior expected by Classic OPC. Possible values are:
|
[in] | monitoredItemModifyRequests | List of monitored items to modify |
[in] | transactionId | Transaction ID for the asynchronous call used to assign the callback to the transaction |
UaStatus UaSubscription::beginSetMonitoringMode | ( | ServiceSettings & | serviceSettings, |
OpcUa_MonitoringMode | monitoringMode, | ||
const UaUInt32Array & | monitoredItemIds, | ||
OpcUa_UInt32 | transactionId | ||
) |
Asynchronous call to set monitoring mode for monitored items.
[in,out] | serviceSettings | The general service settings like timeout. See ServiceSettings for more details |
[in] | monitoringMode | New monitoring mode. Options are OpcUa_MonitoringMode_Disabled, OpcUa_MonitoringMode_Sampling and OpcUa_MonitoringMode_Reporting |
[in] | monitoredItemIds | List of monitored items where the monitoring mode should be changed |
[in] | transactionId | Transaction ID for the asynchronous call used to assign the callback to the transaction |
UaStatus UaSubscription::createMonitoredItems | ( | ServiceSettings & | serviceSettings, |
OpcUa_TimestampsToReturn | timestampsToReturn, | ||
const UaMonitoredItemCreateRequests & | monitoredItemCreateRequests, | ||
UaMonitoredItemCreateResults & | monitoredItemCreateResults | ||
) |
Creates a list of monitored items in the subscriptions.
The monitored items could be data monitored items or event monitored items.
[in,out] | serviceSettings | The general service settings like timeout. See ServiceSettings for more details |
[in] | timestampsToReturn | OPC UA defines two timestamps, the source and the server timestamp. This parameter allows the client to define which timestamps the server should return with the value. The source timestamp is only available for Value Attributes. The source timestamp is used to reflect the timestamp that was applied to a Variable value by the data source. It should indicate the last change of the value or status code. The source timestamp must be always generated by the same physical clock. This timestamp type was added for OPC UA to cover the use case to get the timestamp of the last value change which is different than the server timestamp definition. The server timestamp is used to reflect the time that the server received a Variable value or knew it to be accurate if the changes are reported by exception and the connection to the data source is operating. This is the behavior expected by Classic OPC Possible values are:
|
[in] | monitoredItemCreateRequests | List of monitored items to create |
[out] | monitoredItemCreateResults | List of create results |
UaStatus UaSubscription::deleteMonitoredItems | ( | ServiceSettings & | serviceSettings, |
const UaUInt32Array & | monitoredItemIds, | ||
UaStatusCodeArray & | deleteResults | ||
) |
Delete monitored items.
[in,out] | serviceSettings | The general service settings like timeout. See ServiceSettings for more details |
[in] | monitoredItemIds | List of monitored items to delete |
[out] | deleteResults | List of delete results |
OpcUa_UInt32 UaSubscription::lifetimeCount | ( | ) |
Returns the lifetime count of the subscription.
UaStatus UaSubscription::modifyMonitoredItems | ( | ServiceSettings & | serviceSettings, |
OpcUa_TimestampsToReturn | timestampsToReturn, | ||
const UaMonitoredItemModifyRequests & | monitoredItemModifyRequests, | ||
UaMonitoredItemModifyResults & | monitoredItemModifyResults | ||
) |
Modify monitored items.
[in,out] | serviceSettings | The general service settings like timeout. See ServiceSettings for more details |
[in] | timestampsToReturn | OPC UA defines two timestamps, the source and the server timestamp. This parameter allows the client to define which timestamps the server should return with the value. The source timestamp is only available for Value Attributes. The source timestamp is used to reflect the timestamp that was applied to a Variable value by the data source. It should indicate the last change of the value or status code. The source timestamp must be always generated by the same physical clock. This timestamp type was added for OPC UA to cover the use case to get the timestamp of the last value change which is different than the server timestamp definition. The server timestamp is used to reflect the time that the server received a Variable value or knew it to be accurate if the changes are reported by exception and the connection to the data source is operating. This is the behavior expected by Classic OPC. Possible values are:
|
[in] | monitoredItemModifyRequests | List of monitored items to modify |
[out] | monitoredItemModifyResults | List of modify results |
UaStatus UaSubscription::modifySubscription | ( | ServiceSettings & | serviceSettings, |
SubscriptionSettings & | subscriptionSettings | ||
) |
Modify the subscription settings.
[in,out] | serviceSettings | The general service settings like timeout. See ServiceSettings for more details |
[in,out] | subscriptionSettings | The new subscription settings. See SubscriptionSettings for more details |
UaStatus UaSubscription::republish | ( | ServiceSettings & | serviceSettings, |
OpcUa_UInt32 | retransmitSequenceNumber, | ||
UaDataNotifications & | dataNotifications, | ||
UaDiagnosticInfos & | diagnosticInfos, | ||
UaEventFieldLists & | eventFieldList, | ||
UaStatus & | subscriptionStatus | ||
) |
Republish call to get lost notifications.
[in,out] | serviceSettings | The general service settings like timeout. See ServiceSettings for more details |
[in] | retransmitSequenceNumber | The sequence number which will be retransmitted |
[out] | dataNotifications | List of data notifications. The list can be empty if the message contains only event notifications. |
[out] | diagnosticInfos | List of diagnostic info related to the data notifications. This list can be empty. |
[out] | eventFieldList | List of event notifications. The list can be empty if the message contains only data change notifications. |
[out] | subscriptionStatus | Contains the status of the subscription if it has changed. |
UaStatus UaSubscription::setMonitoringMode | ( | ServiceSettings & | serviceSettings, |
OpcUa_MonitoringMode | monitoringMode, | ||
const UaUInt32Array & | monitoredItemIds, | ||
UaStatusCodeArray & | setMonitoringResults | ||
) |
Set monitoring mode for monitored items.
[in,out] | serviceSettings | The general service settings like timeout. See ServiceSettings for more details |
[in] | monitoringMode | New monitoring mode. Options are OpcUa_MonitoringMode_Disabled, OpcUa_MonitoringMode_Sampling and OpcUa_MonitoringMode_Reporting |
[in] | monitoredItemIds | List of monitored items where the monitoring mode should be changed |
[out] | setMonitoringResults | List of change results |
UaStatus UaSubscription::setPublishingMode | ( | ServiceSettings & | serviceSettings, |
OpcUa_Boolean | publishingEnabled | ||
) |
Set the publishing mode of the subscription.
[in,out] | serviceSettings | The general service settings like timeout. See ServiceSettings for more details |
[in] | publishingEnabled | New publishing enabled setting. |