X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=include%2Fafb%2Fafb-daemon-common.h;h=b78f9af98d8535a6d53d2b7ccbced56cded84307;hb=f30be1ca9ce04cfab55b9e6ce25cec6952f7e21d;hp=7b2414926c107fc607b8796528ba2eb9d152ea27;hpb=95c29ef579d6320a721f96d7146efd10f74a201b;p=src%2Fapp-framework-binder.git diff --git a/include/afb/afb-daemon-common.h b/include/afb/afb-daemon-common.h index 7b241492..b78f9af9 100644 --- a/include/afb/afb-daemon-common.h +++ b/include/afb/afb-daemon-common.h @@ -17,14 +17,20 @@ #pragma once +#include + /* declaration of features of libsystemd */ struct sd_event; struct sd_bus; +struct afb_stored_req; +struct afb_req; +struct afb_dynapi; /* * Definition of the facilities provided by the daemon. */ -struct afb_daemon_itf { +struct afb_daemon_itf +{ int (*event_broadcast)(void *closure, const char *name, struct json_object *object); /* broadcasts evant 'name' with 'object' */ struct sd_event *(*get_event_loop)(void *closure); /* gets the common systemd's event loop */ struct sd_bus *(*get_user_bus)(void *closure); /* gets the common systemd's user d-bus */ @@ -35,13 +41,18 @@ struct afb_daemon_itf { int (*rootdir_open_locale)(void *closure, const char *filename, int flags, const char *locale); int (*queue_job)(void *closure, void (*callback)(int signum, void *arg), void *argument, void *group, int timeout); void (*vverbose_v2)(void*closure, int level, const char *file, int line, const char * func, const char *fmt, va_list args); + struct afb_req (*unstore_req)(void*closure, struct afb_stored_req *sreq); + int (*require_api)(void*closure, const char *name, int initialized); + int (*rename_api)(void*closure, const char *name); + int (*new_api)(void *closure, const char *api, const char *info, int (*preinit)(void*, struct afb_dynapi *), void *preinit_closure); }; /* * Structure for accessing daemon. * See also: afb_daemon_get_event_sender, afb_daemon_get_event_loop, afb_daemon_get_user_bus, afb_daemon_get_system_bus */ -struct afb_daemon { +struct afb_daemon +{ const struct afb_daemon_itf *itf; /* the interfacing functions */ void *closure; /* the closure when calling these functions */ };