summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLoïc Collignon <loic.collignon@iot.bzh>2017-06-26 16:26:03 +0200
committerLoïc Collignon <loic.collignon@iot.bzh>2017-06-26 16:26:03 +0200
commit554f373cfa2e47253072b439ff1ad1e0d14682a7 (patch)
tree48dfa14bc940126c655661bab14363ddd86bf69a
parent99d28457a1285f1709ae0782bd3687fde77ba819 (diff)
added the binding's stub.
Change-Id: Ifa41de28f071d013a4631f69fb238b53c2ab98e1 Signed-off-by: Loïc Collignon <loic.collignon@iot.bzh>
-rw-r--r--CMakeLists.txt5
-rw-r--r--binding/CMakeLists.txt2
-rw-r--r--binding/identity-binding.c96
-rw-r--r--pam/CMakeLists.txt1
4 files changed, 104 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..87d1329
--- /dev/null
+++ b/CMakeLists.txt
@@ -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
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)
+{
+}
diff --git a/pam/CMakeLists.txt b/pam/CMakeLists.txt
new file mode 100644
index 0000000..3953704
--- /dev/null
+++ b/pam/CMakeLists.txt
@@ -0,0 +1 @@
+add_library(agl-identity-usbstick-pam SHARED ) \ No newline at end of file