XROAD
xroad_process.h
Go to the documentation of this file.
1 
6 #pragma once
7 
8 #include <node/xroad_node.h>
10 #include <cache/xroad_objects.h>
11 #include <logger/xroad_logger.h>
12 #include <common/xroad_signal.h>
13 
14 #ifdef __cplusplus
15 extern "C"
16 {
17 #endif
18 
19 typedef struct process_s process_t;
20 
24 typedef struct xroad_process_iface_s
25 {
32  process_t* (*create)(int32_t, char*[]);
33  /*
34  * fired at process destruction. required.
35  * @param [] - process instance to destroy
36  */
37  void (*destroy)(process_t*);
42  void (*start)(process_t*);
47  void (*stop)(process_t*);
52  void (*activate)(process_t*);
57  void (*deactivate)(process_t*);
62  void (*shutdown)(process_t*);
69  void (*on_node_object)(process_t*, void*, xroad_node_id_t);
75  xroad_errno_t (*reconfig)(process_t*);
80  void (*date_changed)(process_t*);
86  void (*reset)(process_t*, void* reset_obj);
94  int32_t (*enter_loop)(process_t*);
99  void (*print_help)();
101 
102 typedef struct xroad_process_s xroad_process_t;
103 
111 int32_t xroad_process(int32_t argc, char* argv[], xroad_process_iface_t piface);
112 
113 #ifdef __cplusplus
114 }
115 #endif
Definition: xroad_process.h:25
void(* stop)(process_t *)
Definition: xroad_process.h:47
void(* shutdown)(process_t *)
Definition: xroad_process.h:62
void(* activate)(process_t *)
Definition: xroad_process.h:52
void(* on_node_object)(process_t *, void *, xroad_node_id_t)
Definition: xroad_process.h:69
void(* start)(process_t *)
Definition: xroad_process.h:42
void(* deactivate)(process_t *)
Definition: xroad_process.h:57
xroad_errno_t(* reconfig)(process_t *)
Definition: xroad_process.h:75
void(* reset)(process_t *, void *reset_obj)
Definition: xroad_process.h:86
void(* print_help)()
Definition: xroad_process.h:99
void(* date_changed)(process_t *)
Definition: xroad_process.h:80
int32_t(* enter_loop)(process_t *)
Definition: xroad_process.h:94
CAUTION: do not change this file - it is autogenerated.
struct xroad_process_iface_s xroad_process_iface_t
int32_t xroad_process(int32_t argc, char *argv[], xroad_process_iface_t piface)