added the binding's stub.
authorLoïc Collignon <loic.collignon@iot.bzh>
Mon, 26 Jun 2017 14:26:03 +0000 (16:26 +0200)
committerLoïc Collignon <loic.collignon@iot.bzh>
Mon, 26 Jun 2017 14:26:03 +0000 (16:26 +0200)
Change-Id: Ifa41de28f071d013a4631f69fb238b53c2ab98e1
Signed-off-by: Loïc Collignon <loic.collignon@iot.bzh>
CMakeLists.txt [new file with mode: 0644]
binding/CMakeLists.txt [new file with mode: 0644]
binding/identity-binding.c [new file with mode: 0644]
pam/CMakeLists.txt [new file with mode: 0644]

diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644 (file)
index 0000000..87d1329
--- /dev/null
@@ -0,0 +1,5 @@
+cmake_minimum_required(VERSION 3.6)
+project(agl-identity)
+
+add_subdirectory(pam)
+add_subdirectory(binding)
diff --git a/binding/CMakeLists.txt b/binding/CMakeLists.txt
new file mode 100644 (file)
index 0000000..781e007
--- /dev/null
@@ -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 (file)
index 0000000..a0e9232
--- /dev/null
@@ -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)
+{
+}
diff --git a/pam/CMakeLists.txt b/pam/CMakeLists.txt
new file mode 100644 (file)
index 0000000..3953704
--- /dev/null
@@ -0,0 +1 @@
+add_library(agl-identity-usbstick-pam SHARED )
\ No newline at end of file