summaryrefslogtreecommitdiffstats
path: root/binding
diff options
context:
space:
mode:
Diffstat (limited to 'binding')
-rw-r--r--binding/CMakeLists.txt2
-rw-r--r--binding/identity-binding.c96
2 files changed, 98 insertions, 0 deletions
diff --git a/binding/CMakeLists.txt b/binding/CMakeLists.txt
new file mode 100644
index 0000000..781e007
--- /dev/null
+++ b/binding/CMakeLists.txt
@@ -0,0 +1,2 @@
+
+add_library(agl-identity SHARED identity-binding.c) \ No newline at end of file
diff --git a/binding/identity-binding.c b/binding/identity-binding.c
new file mode 100644
index 0000000..a0e9232
--- /dev/null
+++ b/binding/identity-binding.c
@@ -0,0 +1,96 @@
+#define _GNU_SOURCE
+#define AFB_BINDING_PRAGMA_NO_VERBOSE_MACRO
+
+#include <string.h>
+#include <json-c/json.h>
+#include <afb/afb-binding-v2.h>
+#include <afb/afb-req-v2.h>
+#include <afb/afb-req-itf.h>
+
+// ---------- Verb's declaration ----------------------------------------------
+static void verb_login(struct afb_req req);
+static void verb_logout(struct afb_req req);
+static void verb_open_session(struct afb_req req);
+static void verb_close_session(struct afb_req req);
+static void verb_set_data(struct afb_req req);
+static void verb_get_data(struct afb_req req);
+
+// ---------- Binding's metadata ----------------------------------------------
+static const struct afb_auth _afb_auth_v2_identity[] = {};
+
+static const struct afb_verb_v2 _afb_verbs_v2_identity[] =
+{
+ {
+ .verb = "login",
+ .callback = verb_login,
+ .auth = NULL,
+ .session = 0,
+ },
+ {
+ .verb = "logout",
+ .callback = verb_logout,
+ .auth = NULL,
+ .session = 0,
+ },
+ {
+ .verb = "open_session",
+ .callback = verb_open_session,
+ .auth = NULL,
+ .session = 0,
+ },
+ {
+ .verb = "close_session",
+ .callback = verb_close_session,
+ .auth = NULL,
+ .session = 0,
+ },
+ {
+ .verb = "get_data",
+ .callback = verb_get_data,
+ .auth = NULL,
+ .session = 0,
+ },
+ {
+ .verb = "set_data",
+ .callback = set_data,
+ .auth = NULL,
+ .session = 0,
+ },
+ { .verb = NULL }
+};
+
+static const struct afb_binding_v2 _afb_binding_v2_identity =
+{
+ .api = "identity",
+ .specification = NULL,
+ .verbs = _afb_verbs_v2_identity,
+ .preinit = NULL,
+ .init = NULL,
+ .onevent = NULL
+};
+
+// ---------- Verb's implementation -------------------------------------------
+
+static void verb_login(struct afb_req req)
+{
+}
+
+static void verb_logout(struct afb_req req)
+{
+}
+
+static void verb_open_session(struct afb_req req)
+{
+}
+
+static void verb_close_session(struct afb_req req)
+{
+}
+
+static void verb_get_data(struct afb_req req)
+{
+}
+
+static void verb_set_data(struct afb_req req)
+{
+}