summaryrefslogtreecommitdiffstats
path: root/src/afb-svc.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/afb-svc.h')
-rw-r--r--src/afb-svc.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/afb-svc.h b/src/afb-svc.h
index 84b03d83..fb82e3c4 100644
--- a/src/afb-svc.h
+++ b/src/afb-svc.h
@@ -19,9 +19,37 @@
struct afb_svc;
struct afb_service;
+struct afb_session;
struct afb_apiset;
+struct afb_evt_listener;
struct afb_binding_data_v2;
+struct json_object;
+
+/*
+ * Structure for recording service
+ */
+struct afb_svc
+{
+ /* api/prefix */
+ const char *api;
+
+ /* session of the service */
+ struct afb_session *session;
+
+ /* the apiset for the service */
+ struct afb_apiset *apiset;
+
+ /* event listener of the service or NULL */
+ struct afb_evt_listener *listener;
+
+ /* on event callback for the service */
+ void (*on_event)(const char *event, struct json_object *object);
+
+ /* hooking flags */
+ int hookflags;
+};
+
extern struct afb_svc *afb_svc_create_v1(
const char *api,
struct afb_apiset *apiset,
@@ -36,3 +64,6 @@ extern struct afb_svc *afb_svc_create_v2(
int (*start)(),
void (*on_event)(const char *event, struct json_object *object),
struct afb_binding_data_v2 *data);
+
+extern void afb_svc_update_hook(struct afb_svc *svc);
+