vocabulary: moving from 'plugin' to 'binding'
[src/app-framework-binder.git] / include / afb / afb-plugin.h
index 2cfe628..3a8a8f4 100644 (file)
 
 #pragma once
 
-#include <afb/afb-req-itf.h>
-#include <afb/afb-evmgr-itf.h>
+#if defined(NO_PLUGIN_VERBOSE_MACRO)
+#  define NO_BINDING_VERBOSE_MACRO
+#endif
 
-/* Plugin Type */
-enum  AFB_pluginE
-{
-       AFB_PLUGIN_JSON = 123456789,
-/*     AFB_PLUGIN_JSCRIPT = 987654321, */
-       AFB_PLUGIN_RAW = 987123546
-};
+#if defined(NO_PLUGIN_FILE_LINE_INDICATION)
+#  define NO_BINDING_FILE_LINE_INDICATION
+#endif
 
-/* Enum for Session/Token/Authentication middleware */
-enum AFB_sessionE
-{
-       AFB_SESSION_NONE = 0,
-       AFB_SESSION_CREATE = 1,
-       AFB_SESSION_CLOSE = 2,
-       AFB_SESSION_RENEW = 4,
-       AFB_SESSION_CHECK = 8,
-       AFB_SESSION_MASK = 15
-};
+#include "afb-binding.h"
 
-/* API definition */
-struct AFB_restapi
-{
-       const char *name;
-       enum AFB_sessionE session;
-       void (*callback)(struct afb_req req);
-       const char *info;
-};
-
-/* Plugin definition */
-struct AFB_plugin
-{
-       enum AFB_pluginE type;  
-       const char *info;
-       const char *prefix;
-       const struct AFB_restapi *apis;
-};
-
-/* config mode */
-enum AFB_Mode {
-       AFB_MODE_LOCAL = 0,
-       AFB_MODE_REMOTE,
-       AFB_MODE_GLOBAL
-};
-
-struct sd_event;
-struct sd_bus;
-
-struct afb_daemon_itf {
-       struct afb_evmgr (*get_evmgr)(void *closure);
-       struct sd_event *(*get_event_loop)(void *closure);
-       struct sd_bus *(*get_user_bus)(void *closure);
-       struct sd_bus *(*get_system_bus)(void *closure);
-};
-
-struct afb_daemon {
-       const struct afb_daemon_itf *itf;
-       void *closure;
-};
-
-struct AFB_interface
-{
-       int verbosity;
-       enum AFB_Mode mode;
-       struct afb_daemon daemon;
-};
-
-extern const struct AFB_plugin *pluginRegister (const struct AFB_interface *interface);
-
-static inline struct afb_evmgr afb_daemon_get_evmgr(struct afb_daemon daemon)
-{
-       return daemon.itf->get_evmgr(daemon.closure);
-}
-
-static inline struct sd_event *afb_daemon_get_event_loop(struct afb_daemon daemon)
-{
-       return daemon.itf->get_event_loop(daemon.closure);
-}
-
-static inline struct sd_bus *afb_daemon_get_user_bus(struct afb_daemon daemon)
-{
-       return daemon.itf->get_user_bus(daemon.closure);
-}
-
-static inline struct sd_bus *afb_daemon_get_system_bus(struct afb_daemon daemon)
-{
-       return daemon.itf->get_system_bus(daemon.closure);
-}
+#define AFB_plugin_version         afb_binding_type
+#define AFB_PLUGIN_VERSION_1       AFB_BINDING_VERSION_1
+#define AFB_plugin_desc_v1         afb_binding_desc_v1
+#define AFB_plugin                 afb_binding
+#define AFB_interface              afb_binding_interface
+#define pluginAfbV1Register        afbBindingV1Register
 
 
+#define AFB_Mode                   afb_mode
+#define AFB_session_v1             afb_session_v1
+#define AFB_verb_desc_v1           afb_verb_desc_v1