open62541 1.4.15
Open source implementation of OPC UA
Loading...
Searching...
No Matches
client_subscriptions.h
Go to the documentation of this file.
1/** This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4
5#ifndef UA_CLIENT_SUBSCRIPTIONS_H_
6#define UA_CLIENT_SUBSCRIPTIONS_H_
7
8#include <open62541/client.h>
9
11
12
13
14/** Callbacks defined for Subscriptions */
16 (UA_Client *client, UA_UInt32 subId, void *subContext);
17
19 (UA_Client *client, UA_UInt32 subId, void *subContext,
20 UA_StatusChangeNotification *notification);
21
22/** Provides default values for a new subscription.
23 *
24 * RequestedPublishingInterval: 500.0 [ms]
25 * RequestedLifetimeCount: 10000
26 * RequestedMaxKeepAliveCount: 10
27 * MaxNotificationsPerPublish: 0 (unlimited)
28 * PublishingEnabled: true
29 * Priority: 0 */
31UA_CreateSubscriptionRequest_default(void) {
33 UA_CreateSubscriptionRequest_init(&request);
34
35 request.requestedPublishingInterval = 500.0;
36 request.requestedLifetimeCount = 10000;
37 request.requestedMaxKeepAliveCount = 10;
39 request.publishingEnabled = true;
40 request.priority = 0;
41 return request;
42}
43
46 const UA_CreateSubscriptionRequest request,
47 void *subscriptionContext,
50
53 const UA_CreateSubscriptionRequest request,
54 void *subscriptionContext,
58 void *userdata, UA_UInt32 *requestId);
59
62 const UA_ModifySubscriptionRequest request);
63
66 const UA_ModifySubscriptionRequest request,
68 void *userdata, UA_UInt32 *requestId);
69
72 const UA_DeleteSubscriptionsRequest request);
73
78 void *userdata, UA_UInt32 *requestId);
79
80/** Delete a single subscription */
83
85UA_Client_Subscriptions_setPublishingMode(UA_Client *client,
86 const UA_SetPublishingModeRequest request) {
91 return response;
92}
93
94
95
96/** Provides default values for a new monitored item. */
98UA_MonitoredItemCreateRequest_default(UA_NodeId nodeId) {
100 UA_MonitoredItemCreateRequest_init(&request);
101 request.itemToMonitor.nodeId = nodeId;
105 request.requestedParameters.discardOldest = true;
106 request.requestedParameters.queueSize = 1;
107 return request;
108}
109
110
111
112/** Callback for the deletion of a MonitoredItem */
114 (UA_Client *client, UA_UInt32 subId, void *subContext,
115 UA_UInt32 monId, void *monContext);
116
117/** Callback for DataChange notifications */
119 (UA_Client *client, UA_UInt32 subId, void *subContext,
120 UA_UInt32 monId, void *monContext,
121 UA_DataValue *value);
122
123/** Callback for Event notifications */
125 (UA_Client *client, UA_UInt32 subId, void *subContext,
126 UA_UInt32 monId, void *monContext,
127 size_t nEventFields, UA_Variant *eventFields);
128
129/** Don't use to monitor the EventNotifier attribute */
132 const UA_CreateMonitoredItemsRequest request, void **contexts,
135
138 const UA_CreateMonitoredItemsRequest request, void **contexts,
141 UA_ClientAsyncServiceCallback createCallback,
142 void *userdata, UA_UInt32 *requestId);
143
146 UA_UInt32 subscriptionId,
147 UA_TimestampsToReturn timestampsToReturn,
149 void *context, UA_Client_DataChangeNotificationCallback callback,
151
152/** Monitor the EventNotifier attribute only */
155 const UA_CreateMonitoredItemsRequest request, void **contexts,
158
159/** Monitor the EventNotifier attribute only */
162 const UA_CreateMonitoredItemsRequest request, void **contexts,
165 UA_ClientAsyncServiceCallback createCallback,
166 void *userdata, UA_UInt32 *requestId);
167
170 UA_UInt32 subscriptionId,
171 UA_TimestampsToReturn timestampsToReturn,
173 void *context, UA_Client_EventNotificationCallback callback,
175
179
182 const UA_DeleteMonitoredItemsRequest request,
184 void *userdata, UA_UInt32 *requestId);
185
188 UA_UInt32 subscriptionId, UA_UInt32 monitoredItemId);
189
190/** The clientHandle parameter will be filled automatically */
193 const UA_ModifyMonitoredItemsRequest request);
194
197 const UA_ModifyMonitoredItemsRequest request,
199 void *userdata, UA_UInt32 *requestId);
200
201
202
204UA_Client_MonitoredItems_setMonitoringMode(UA_Client *client,
205 const UA_SetMonitoringModeRequest request) {
207 __UA_Client_Service(client,
210 return response;
211}
212
213static UA_StatusCode
214UA_Client_MonitoredItems_setMonitoringMode_async(UA_Client *client,
215 const UA_SetMonitoringModeRequest request,
217 void *userdata, UA_UInt32 *requestId) {
218 return __UA_Client_AsyncService(client, &request,
221 userdata, requestId);
222}
223
225UA_Client_MonitoredItems_setTriggering(UA_Client *client,
226 const UA_SetTriggeringRequest request) {
228 __UA_Client_Service(client,
231 return response;
232}
233
234static UA_StatusCode
235UA_Client_MonitoredItems_setTriggering_async(UA_Client *client,
236 const UA_SetTriggeringRequest request,
238 void *userdata, UA_UInt32 *requestId) {
239 return __UA_Client_AsyncService(client, &request,
242 userdata, requestId);
243}
244
246
247#endif /* UA_CLIENT_SUBSCRIPTIONS_H_ */
void(* UA_ClientAsyncServiceCallback)(UA_Client *client, void *userdata, UA_UInt32 requestId, void *response)
Definition client.h:685
UA_StatusCode UA_THREADSAFE __UA_Client_AsyncService(UA_Client *client, const void *request, const UA_DataType *requestType, UA_ClientAsyncServiceCallback callback, const UA_DataType *responseType, void *userdata, UA_UInt32 *requestId)
void UA_THREADSAFE __UA_Client_Service(UA_Client *client, const void *request, const UA_DataType *requestType, void *response, const UA_DataType *responseType)
Don't use this function.
UA_StatusCode UA_Client_Subscriptions_create_async(UA_Client *client, const UA_CreateSubscriptionRequest request, void *subscriptionContext, UA_Client_StatusChangeNotificationCallback statusChangeCallback, UA_Client_DeleteSubscriptionCallback deleteCallback, UA_ClientAsyncServiceCallback callback, void *userdata, UA_UInt32 *requestId)
UA_MonitoredItemCreateResult UA_Client_MonitoredItems_createEvent(UA_Client *client, UA_UInt32 subscriptionId, UA_TimestampsToReturn timestampsToReturn, const UA_MonitoredItemCreateRequest item, void *context, UA_Client_EventNotificationCallback callback, UA_Client_DeleteMonitoredItemCallback deleteCallback)
UA_StatusCode UA_Client_MonitoredItems_modify_async(UA_Client *client, const UA_ModifyMonitoredItemsRequest request, UA_ClientAsyncServiceCallback callback, void *userdata, UA_UInt32 *requestId)
UA_StatusCode UA_Client_Subscriptions_deleteSingle(UA_Client *client, UA_UInt32 subscriptionId)
Delete a single subscription.
void(* UA_Client_EventNotificationCallback)(UA_Client *client, UA_UInt32 subId, void *subContext, UA_UInt32 monId, void *monContext, size_t nEventFields, UA_Variant *eventFields)
Callback for Event notifications.
void(* UA_Client_DeleteMonitoredItemCallback)(UA_Client *client, UA_UInt32 subId, void *subContext, UA_UInt32 monId, void *monContext)
Callback for the deletion of a MonitoredItem.
UA_DeleteSubscriptionsResponse UA_Client_Subscriptions_delete(UA_Client *client, const UA_DeleteSubscriptionsRequest request)
UA_StatusCode UA_Client_MonitoredItems_createEvents_async(UA_Client *client, const UA_CreateMonitoredItemsRequest request, void **contexts, UA_Client_EventNotificationCallback *callbacks, UA_Client_DeleteMonitoredItemCallback *deleteCallbacks, UA_ClientAsyncServiceCallback createCallback, void *userdata, UA_UInt32 *requestId)
Monitor the EventNotifier attribute only.
void(* UA_Client_StatusChangeNotificationCallback)(UA_Client *client, UA_UInt32 subId, void *subContext, UA_StatusChangeNotification *notification)
_UA_BEGIN_DECLS typedef void(* UA_Client_DeleteSubscriptionCallback)(UA_Client *client, UA_UInt32 subId, void *subContext)
This Source Code Form is subject to the terms of the Mozilla Public License, v.
UA_ModifyMonitoredItemsResponse UA_Client_MonitoredItems_modify(UA_Client *client, const UA_ModifyMonitoredItemsRequest request)
The clientHandle parameter will be filled automatically.
void(* UA_Client_DataChangeNotificationCallback)(UA_Client *client, UA_UInt32 subId, void *subContext, UA_UInt32 monId, void *monContext, UA_DataValue *value)
Callback for DataChange notifications.
UA_StatusCode UA_Client_MonitoredItems_delete_async(UA_Client *client, const UA_DeleteMonitoredItemsRequest request, UA_ClientAsyncServiceCallback callback, void *userdata, UA_UInt32 *requestId)
UA_ModifySubscriptionResponse UA_Client_Subscriptions_modify(UA_Client *client, const UA_ModifySubscriptionRequest request)
UA_StatusCode UA_Client_Subscriptions_delete_async(UA_Client *client, const UA_DeleteSubscriptionsRequest request, UA_ClientAsyncServiceCallback callback, void *userdata, UA_UInt32 *requestId)
UA_CreateMonitoredItemsResponse UA_Client_MonitoredItems_createDataChanges(UA_Client *client, const UA_CreateMonitoredItemsRequest request, void **contexts, UA_Client_DataChangeNotificationCallback *callbacks, UA_Client_DeleteMonitoredItemCallback *deleteCallbacks)
Don't use to monitor the EventNotifier attribute.
UA_CreateMonitoredItemsResponse UA_Client_MonitoredItems_createEvents(UA_Client *client, const UA_CreateMonitoredItemsRequest request, void **contexts, UA_Client_EventNotificationCallback *callback, UA_Client_DeleteMonitoredItemCallback *deleteCallback)
Monitor the EventNotifier attribute only.
UA_CreateSubscriptionResponse UA_Client_Subscriptions_create(UA_Client *client, const UA_CreateSubscriptionRequest request, void *subscriptionContext, UA_Client_StatusChangeNotificationCallback statusChangeCallback, UA_Client_DeleteSubscriptionCallback deleteCallback)
UA_DeleteMonitoredItemsResponse UA_Client_MonitoredItems_delete(UA_Client *client, const UA_DeleteMonitoredItemsRequest)
UA_StatusCode UA_Client_MonitoredItems_deleteSingle(UA_Client *client, UA_UInt32 subscriptionId, UA_UInt32 monitoredItemId)
UA_StatusCode UA_Client_MonitoredItems_createDataChanges_async(UA_Client *client, const UA_CreateMonitoredItemsRequest request, void **contexts, UA_Client_DataChangeNotificationCallback *callbacks, UA_Client_DeleteMonitoredItemCallback *deleteCallbacks, UA_ClientAsyncServiceCallback createCallback, void *userdata, UA_UInt32 *requestId)
UA_MonitoredItemCreateResult UA_Client_MonitoredItems_createDataChange(UA_Client *client, UA_UInt32 subscriptionId, UA_TimestampsToReturn timestampsToReturn, const UA_MonitoredItemCreateRequest item, void *context, UA_Client_DataChangeNotificationCallback callback, UA_Client_DeleteMonitoredItemCallback deleteCallback)
UA_StatusCode UA_Client_Subscriptions_modify_async(UA_Client *client, const UA_ModifySubscriptionRequest request, UA_ClientAsyncServiceCallback callback, void *userdata, UA_UInt32 *requestId)
struct UA_Client UA_Client
Definition common.h:206
@ UA_ATTRIBUTEID_VALUE
Definition common.h:35
#define _UA_BEGIN_DECLS
#undef UA_DEBUG_DUMP_PKGS
Definition config.h:100
#define _UA_END_DECLS
Definition config.h:107
CreateMonitoredItemsRequest.
CreateMonitoredItemsResponse.
CreateSubscriptionRequest.
CreateSubscriptionResponse.
DeleteMonitoredItemsRequest.
DeleteMonitoredItemsResponse.
DeleteSubscriptionsRequest.
DeleteSubscriptionsResponse.
ModifyMonitoredItemsRequest.
ModifyMonitoredItemsResponse.
ModifySubscriptionRequest.
ModifySubscriptionResponse.
MonitoredItemCreateRequest.
UA_MonitoringParameters requestedParameters
MonitoredItemCreateResult.
SetMonitoringModeRequest.
SetMonitoringModeResponse.
SetPublishingModeRequest.
SetPublishingModeResponse.
SetTriggeringRequest.
SetTriggeringResponse.
StatusChangeNotification.
char id nodeId
Definition types.h:440
uint32_t UA_UInt32
Definition types.h:57
uint32_t UA_StatusCode
Definition types.h:82
#define UA_TYPES_SETTRIGGERINGRESPONSE
#define UA_TYPES_SETTRIGGERINGREQUEST
UA_TimestampsToReturn
TimestampsToReturn.
#define UA_TYPES_SETMONITORINGMODEREQUEST
#define UA_TYPES_SETPUBLISHINGMODERESPONSE
#define UA_TYPES_SETMONITORINGMODERESPONSE
@ UA_MONITORINGMODE_REPORTING
#define UA_TYPES_SETPUBLISHINGMODEREQUEST
UA_DataType UA_TYPES[388]