14namespace opcua::services::detail {
16struct MonitoredItemContext : CallbackAdapter {
20 std::function<void(
IntegerId subId,
IntegerId monId,
const DataValue&)> dataChangeCallback;
24 static void dataChangeCallbackNativeServer(
29 [[maybe_unused]]
void* nodeContext,
30 [[maybe_unused]] uint32_t attributeId,
33 if (monContext !=
nullptr && value !=
nullptr) {
34 auto* self =
static_cast<MonitoredItemContext*
>(monContext);
35 if (!self->inserted) {
42 static void dataChangeCallbackNativeClient(
45 [[maybe_unused]]
void* subContext,
50 if (monContext !=
nullptr && value !=
nullptr) {
51 auto* self =
static_cast<MonitoredItemContext*
>(monContext);
52 if (!self->inserted) {
59 static void eventCallbackNative(
62 [[maybe_unused]]
void* subContext,
68 if (monContext !=
nullptr) {
69 auto* self =
static_cast<MonitoredItemContext*
>(monContext);
70 if (!self->inserted) {
82 static void deleteCallbackNative(
85 [[maybe_unused]]
void* subContext,
89 if (monContext !=
nullptr) {
90 auto* self =
static_cast<MonitoredItemContext*
>(monContext);
91 self->invoke(self->deleteCallback, subId, monId);
Client * asWrapper(UA_Client *client) noexcept
Convert native UA_Client pointer to its wrapper instance.
Span(Container &) -> Span< typename Container::value_type >
uint32_t IntegerId
IntegerId.