#include <uabase/uatype_config.h>
#ifdef ENABLE_SERVICE_SUBSCRIPTION
#include <uaserver/monitoreditem/monitoreditem.h>
#include <uaserver/attribute/read_internal.h>
#include <uaserver/addressspace/variable.h>
#include <uabase/statuscodes.h>
#include <uabase/variant.h>
#include <uabase/datavalue.h>
#include <uabase/attributeid.h>
#include <uabase/structure/nodeclass.h>
#include <uaserver/provider/provider.h>
#include <memory/memory.h>
#include <timer/timer.h>
#include <trace/trace.h>
#include "custom_provider.h"
#include "custom_provider_read.h"
#include "custom_provider_subscription.h"
static int custom_provider_timer_callback(uint64_t elapsed, void *data)
{
uint8_t storeidx = 0;
int ret;
UA_UNUSED(elapsed);
if (dv == NULL)
return 0;
} else {
if (session) {
if (storeidx != 0) {
} else {
custom_provider_read_value(node, session, item->
ts, item->
range, item->
num_ranges, dv);
}
} else {
}
} else {
}
}
if (ret != 0) {
}
return 0;
}
{
int ret;
uint32_t timer_id;
uint8_t storeidx = 0;
UA_UNUSED(max_items);
if (dv == NULL)
if (storeidx != 0) {
} else {
custom_provider_read_value(node, session, item->
ts, item->
range, item->
num_ranges, dv);
}
} else {
}
}
}
&timer_id,
custom_provider_timer_callback,
item,
if (ret != 0) {
if (ret == UA_EBADOUTOFRESOURCE) {
}
}
if (ret != 0) {
}
return 0;
}
{
if (ret != 0)
UA_UNUSED(max_items);
return 0;
}
{
uint32_t timer_id;
int ret;
UA_UNUSED(max_items);
if (new_sampling_interval < g_appconfig.subscription.min_sampling_interval) {
new_sampling_interval = g_appconfig.subscription.min_sampling_interval;
}
&timer_id,
new_sampling_interval,
custom_provider_timer_callback,
item,
if (ret == UA_EBADOUTOFRESOURCE) {
} else if (ret != 0) {
}
return 0;
}
}
#endif