open62541 1.3.12
Open source implementation of OPC UA
Loading...
Searching...
No Matches
ua_pubsub_manager.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 * Copyright (c) 2017-2019 Fraunhofer IOSB (Author: Andreas Ebner)
6 */
7
8#ifndef UA_PUBSUB_MANAGER_H_
9#define UA_PUBSUB_MANAGER_H_
10
12
13#include "ua_pubsub.h"
14
16
17#ifdef UA_ENABLE_PUBSUB /* conditional compilation */
18
19typedef struct UA_PubSubManager {
20 /* Connections and PublishedDataSets can exist alone (own lifecycle) -> top
21 * level components */
23 TAILQ_HEAD(UA_ListOfPubSubConnection, UA_PubSubConnection) connections;
24
26 TAILQ_HEAD(UA_ListOfPublishedDataSet, UA_PublishedDataSet) publishedDataSets;
27
28#ifndef UA_ENABLE_PUBSUB_INFORMATIONMODEL
30#endif
32
33void
35
36#ifndef UA_ENABLE_PUBSUB_INFORMATIONMODEL
37void
39#endif
40
43
46
47
48/** PubSub Jobs abstraction */
49
52 void *data, UA_Double interval_ms, UA_DateTime *baseTime,
53 UA_TimerPolicy timerPolicy, UA_UInt64 *callbackId);
56 UA_Double interval_ms, UA_DateTime *baseTime,
57 UA_TimerPolicy timerPolicy);
58void
60
61
62/** PubSub component monitoring */
63
64
65#ifdef UA_ENABLE_PUBSUB_MONITORING
66
68UA_PubSubManager_setDefaultMonitoringCallbacks(UA_PubSubMonitoringInterface *monitoringInterface);
69
70#endif /* UA_ENABLE_PUBSUB_MONITORING */
71
72#endif /* UA_ENABLE_PUBSUB */
73
75
76#endif /* UA_PUBSUB_MANAGER_H_ */
#define _UA_BEGIN_DECLS
#undef UA_DEBUG_DUMP_PKGS
Definition config.h:89
#define _UA_END_DECLS
Definition config.h:96
This Source Code Form is subject to the terms of the Mozilla Public License, v.
TAILQ_HEAD(UA_ListOfPubSubConnection, UA_PubSubConnection) connections
TAILQ_HEAD(UA_ListOfPublishedDataSet, UA_PublishedDataSet) publishedDataSets
PublishedDataSet
Definition ua_pubsub.h:38
uint32_t UA_UInt32
Definition types.h:56
int64_t UA_DateTime
Definition types.h:144
uint32_t UA_StatusCode
Definition types.h:77
double UA_Double
Definition types.h:74
uint64_t UA_UInt64
Definition types.h:66
UA_StatusCode UA_PubSubManager_addRepeatedCallback(UA_Server *server, UA_ServerCallback callback, void *data, UA_Double interval_ms, UA_DateTime *baseTime, UA_TimerPolicy timerPolicy, UA_UInt64 *callbackId)
PubSub Jobs abstraction
UA_StatusCode UA_PubSubManager_changeRepeatedCallback(UA_Server *server, UA_UInt64 callbackId, UA_Double interval_ms, UA_DateTime *baseTime, UA_TimerPolicy timerPolicy)
UA_UInt32 UA_PubSubConfigurationVersionTimeDifference(void)
void UA_PubSubManager_generateUniqueNodeId(UA_PubSubManager *psm, UA_NodeId *nodeId)
UA_Guid UA_PubSubManager_generateUniqueGuid(UA_Server *server)
void UA_PubSubManager_delete(UA_Server *server, UA_PubSubManager *pubSubManager)
void UA_PubSubManager_removeRepeatedPubSubCallback(UA_Server *server, UA_UInt64 callbackId)
_UA_BEGIN_DECLS struct UA_PubSubManager UA_PubSubManager
This Source Code Form is subject to the terms of the Mozilla Public License, v.
void(* UA_ServerCallback)(UA_Server *server, void *data)
Definition util.h:25
UA_TimerPolicy
Timer policy to handle cycle misses.
Definition util.h:31