aboutsummaryrefslogtreecommitdiffstats
path: root/include/afb/afb-binding.h
diff options
context:
space:
mode:
authorJosé Bollo <jose.bollo@iot.bzh>2017-03-29 18:09:38 +0200
committerJosé Bollo <jose.bollo@iot.bzh>2017-03-29 18:09:38 +0200
commite94995611bd4e05a2aac1c0ae7c7f0855137b78a (patch)
tree5d05cdeabb3698c7b53520bbaf9aa2aa143bf492 /include/afb/afb-binding.h
parentb6b049eac4035c2ef581205af8eccce93f5727b3 (diff)
Prepare migration to binding v2
Change-Id: I48c1fdb5199c9fb0f001576ceed3ddcb50fc9066 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Diffstat (limited to 'include/afb/afb-binding.h')
-rw-r--r--include/afb/afb-binding.h92
1 files changed, 3 insertions, 89 deletions
diff --git a/include/afb/afb-binding.h b/include/afb/afb-binding.h
index 41ce0c52..8df08ded 100644
--- a/include/afb/afb-binding.h
+++ b/include/afb/afb-binding.h
@@ -29,17 +29,16 @@
*
* A binding is a shared library. This shared library must have at least one
* exported symbol for being registered in afb-daemon.
- * For the current version of afb-daemon, the function exported MUST be named
*
- * afbBindingV1Register
*/
/*
* Some function of the library are exported to afb-daemon.
*/
-#include <afb/afb-event-itf.h>
-#include <afb/afb-req-itf.h>
+#include "afb-event-itf.h"
+#include "afb-req-itf.h"
+#include "afb-binding-v1.h"
/*
* Definition of the type+versions of the binding.
@@ -51,69 +50,6 @@ enum afb_binding_type
};
/*
- * Enum for Session/Token/Assurance middleware.
- * This enumeration is valid for bindings of type 1
- */
-enum afb_session_v1
-{
- AFB_SESSION_NONE = 0, /* nothing required */
- AFB_SESSION_CREATE = 1, /* Obsolete */
- AFB_SESSION_CLOSE = 2, /* After token authentification, closes the session at end */
- AFB_SESSION_RENEW = 4, /* After token authentification, refreshes the token at end */
- AFB_SESSION_CHECK = 8, /* Requires token authentification */
-
- AFB_SESSION_LOA_GE = 16, /* check that the LOA is greater or equal to the given value */
- AFB_SESSION_LOA_LE = 32, /* check that the LOA is lesser or equal to the given value */
- AFB_SESSION_LOA_EQ = 48, /* check that the LOA is equal to the given value */
-
- AFB_SESSION_LOA_SHIFT = 6, /* shift for LOA */
- AFB_SESSION_LOA_MASK = 7, /* mask for LOA */
-
- AFB_SESSION_LOA_0 = 0, /* value for LOA of 0 */
- AFB_SESSION_LOA_1 = 64, /* value for LOA of 1 */
- AFB_SESSION_LOA_2 = 128, /* value for LOA of 2 */
- AFB_SESSION_LOA_3 = 192, /* value for LOA of 3 */
- AFB_SESSION_LOA_4 = 256, /* value for LOA of 4 */
-
- AFB_SESSION_LOA_LE_0 = AFB_SESSION_LOA_LE | AFB_SESSION_LOA_0, /* check LOA <= 0 */
- AFB_SESSION_LOA_LE_1 = AFB_SESSION_LOA_LE | AFB_SESSION_LOA_1, /* check LOA <= 1 */
- AFB_SESSION_LOA_LE_2 = AFB_SESSION_LOA_LE | AFB_SESSION_LOA_2, /* check LOA <= 2 */
- AFB_SESSION_LOA_LE_3 = AFB_SESSION_LOA_LE | AFB_SESSION_LOA_3, /* check LOA <= 3 */
-
- AFB_SESSION_LOA_GE_0 = AFB_SESSION_LOA_GE | AFB_SESSION_LOA_0, /* check LOA >= 0 */
- AFB_SESSION_LOA_GE_1 = AFB_SESSION_LOA_GE | AFB_SESSION_LOA_1, /* check LOA >= 1 */
- AFB_SESSION_LOA_GE_2 = AFB_SESSION_LOA_GE | AFB_SESSION_LOA_2, /* check LOA >= 2 */
- AFB_SESSION_LOA_GE_3 = AFB_SESSION_LOA_GE | AFB_SESSION_LOA_3, /* check LOA >= 3 */
-
- AFB_SESSION_LOA_EQ_0 = AFB_SESSION_LOA_EQ | AFB_SESSION_LOA_0, /* check LOA == 0 */
- AFB_SESSION_LOA_EQ_1 = AFB_SESSION_LOA_EQ | AFB_SESSION_LOA_1, /* check LOA == 1 */
- AFB_SESSION_LOA_EQ_2 = AFB_SESSION_LOA_EQ | AFB_SESSION_LOA_2, /* check LOA == 2 */
- AFB_SESSION_LOA_EQ_3 = AFB_SESSION_LOA_EQ | AFB_SESSION_LOA_3 /* check LOA == 3 */
-};
-
-/*
- * Description of one verb of the API provided by the binding
- * This enumeration is valid for bindings of type 1
- */
-struct afb_verb_desc_v1
-{
- const char *name; /* name of the verb */
- enum afb_session_v1 session; /* authorisation and session requirements of the verb */
- void (*callback)(struct afb_req req); /* callback function implementing the verb */
- const char *info; /* textual description of the verb */
-};
-
-/*
- * Description of the bindings of type 1
- */
-struct afb_binding_desc_v1
-{
- const char *info; /* textual information about the binding */
- const char *prefix; /* required prefix name for the binding */
- const struct afb_verb_desc_v1 *verbs; /* array of descriptions of verbs terminated by a NULL name */
-};
-
-/*
* Description of a binding
*/
struct afb_binding
@@ -171,28 +107,6 @@ struct afb_binding_interface
};
/*
- * Function for registering the binding
- *
- * A binding V1 MUST have a function of this name and signature.
- * This function is called during loading of the binding. It
- * receives an 'interface' that should be recorded for later access to
- * functions provided by the framework.
- *
- * This function MUST return the address of a structure that describes
- * the binding and its implemented verbs.
- *
- * In case of initialisation error, NULL must be returned.
- *
- * Be aware that the given 'interface' is not fully functionnal
- * because no provision is given to the name and description
- * of the binding. Check the function 'afbBindingV1ServiceInit'
- * defined in the file <afb/afb-service-itf.h> because when
- * the function 'afbBindingV1ServiceInit' is called, the 'interface'
- * is fully functionnal.
- */
-extern const struct afb_binding *afbBindingV1Register (const struct afb_binding_interface *interface);
-
-/*
* Retrieves the common systemd's event loop of AFB
* 'daemon' MUST be the daemon given in interface when activating the binding.
*/