19 #include <sys/epoll.h>
21 #define xroad_node_is_offline() \
22 (xroad_node_get_data()->status == xroad_node_status_offline || \
23 xroad_node_get_data()->status == xroad_node_status_sleep)
39 void (*on_object)(
void*, xroad_node_id_t,
void*);
52 void (*on_event)(
const struct epoll_event*);
62 tsc_t before_event_cb;
76 uint32_t major_version,
77 uint32_t minor_version,
346 #define xroad_node_find_object(type, fun, ...) \
348 xroad_cursor_t* cur __xroad_cursor_dtor__ = xroad_node_create_cursor(type); \
349 void* obj = xroad_node_cursor_get_first(cur); \
352 if (fun(obj, __VA_ARGS__)) \
356 obj = xroad_node_cursor_get_next(cur); \
Definition: xroad_node.h:60
Definition: xroad_node.h:34
Definition: xroad_system.h:132
Definition: xroad_node.h:46
Definition: xroad_string.h:29
Definition: xroad_system.h:119
void xroad_node_destroy_cursor(xroad_cursor_t *cursor)
xroad_errno_t xroad_node_clear_cache(xroad_object_type_t type, bool force)
int32_t xroad_node_receive(void)
void * xroad_node_cursor_get_prev(xroad_cursor_t *cursor)
xroad_errno_t xroad_node_unsubscribe(xroad_domain_t group, xroad_node_callback_t cback)
xroad_errno_t xroad_node_del_epoll(xroad_node_epoll_callback_t *cback)
void * xroad_node_get_fun(xroad_str_t fname)
void xroad_node_renamed()
xroad_str_t xroad_node_get_env_param(xroad_str_t param)
xroad_cache_t * xroad_node_get_cache()
void xroad_node_set_flags(uint32_t flags)
const xroad_epoll_timestamps * xroad_node_get_epoll_timestamps(void)
xroad_errno_t xroad_node_send_object(void *obj, xroad_node_id_t id)
int32_t xroad_node_get_epoll_fd(void)
xroad_errno_t xroad_node_mod_epoll(uint32_t events, xroad_node_epoll_callback_t *cback)
void * xroad_node_cursor_get_last(xroad_cursor_t *cursor)
void * xroad_node_create_object(xroad_object_type_t type)
void * xroad_node_cursor_get_next(xroad_cursor_t *cursor)
const xroad_version_t * xroad_node_get_version(void)
xroad_node_data_t * xroad_node_get_data(void)
int32_t xroad_node_get_link_descriptor(void)
int32_t xroad_node_receive_ex(int32_t timeout)
size_t xroad_node_get_object_count(xroad_object_type_t type)
void * xroad_node_cursor_get_first(xroad_cursor_t *cursor)
xroad_lock_by_pid_t * xroad_node_get_used_lock(void)
bool xroad_node_is_initialized(void)
xroad_errno_t xroad_node_create(xroad_str_t node_name, uint32_t major_version, uint32_t minor_version, xroad_str_t git_hash, xroad_node_callback_t callback)
void * xroad_node_clone_object(const void *obj)
xroad_xml_doc_t * xroad_node_get_config(void)
xroad_errno_t xroad_node_reconfig(void)
void * xroad_node_cursor_offset(xroad_cursor_t *cursor, int64_t offset)
xroad_errno_t xroad_node_route_object_va(void *obj, va_list ap)
xroad_str_t xroad_node_get_working_dir(void)
void * xroad_node_get_object(xroad_object_type_t type, xroad_object_id_t id)
xroad_errno_t xroad_node_subscribe(xroad_domain_t group, xroad_node_callback_t cback)
xroad_errno_t xroad_node_add_epoll(uint32_t events, xroad_node_epoll_callback_t *cback)
void xroad_node_reset_statistic(void)
void xroad_node_destroy(void)
xroad_errno_t xroad_node_route_object(void *obj,...)
xroad_cursor_t * xroad_node_create_cursor(xroad_object_type_t type)
CAUTION: do not change this file - it is autogenerated.