summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorFulup Ar Foll <fulup@iot.bzh>2015-12-16 02:30:20 +0100
committerFulup Ar Foll <fulup@iot.bzh>2015-12-16 02:30:20 +0100
commit4e43e3b53482bff8cb835271eb3207aeaf593812 (patch)
tree58f74bbb4554ea1c3f545661f21cca438460e639 /include
parent1250a56369315c017abfe429c556b863730b9b44 (diff)
Add Middleware and change Hashtable techno
Diffstat (limited to 'include')
-rw-r--r--include/local-def.h10
-rw-r--r--include/proto-def.h1
2 files changed, 8 insertions, 3 deletions
diff --git a/include/local-def.h b/include/local-def.h
index 021ef13e..cbbef0f9 100644
--- a/include/local-def.h
+++ b/include/local-def.h
@@ -77,7 +77,7 @@ typedef int BOOL;
extern int verbose; // this is the only global variable
// Plugin Type
-typedef enum {AFB_PLUGIN_JSON=123456789, AFB_PLUGIN_JSCRIPT=987654321, AFB_PLUGIN_RAW=987123546} AFB_pluginT;
+typedef enum {AFB_PLUGIN_JSON=123456789, AFB_PLUGIN_JSCRIPT=987654321, AFB_PLUGIN_RAW=987123546} AFB_pluginE;
// prebuild json error are constructed in config.c
typedef enum { AFB_FALSE, AFB_TRUE, AFB_FATAL, AFB_FAIL, AFB_WARNING, AFB_EMPTY, AFB_SUCCESS, AFB_DONE, AFB_UNAUTH} AFB_error;
@@ -116,7 +116,7 @@ typedef struct {
int uid; // post uid for debug
AFB_PostType type; // JSON or FORM
AFB_apiCB completeCB; // callback when post is completed
- void *private; // use internally to keep track or partial buffer
+ char *private; // use internally to keep track or partial buffer
struct MHD_PostProcessor *pp; // iterator handle
} AFB_PostHandle;
@@ -183,9 +183,13 @@ typedef struct {
size_t len;
} AFB_redirect_msg;
+// Enum for Session/Token/Authentication middleware
+typedef enum {AFB_SESSION_NONE, AFB_SESSION_CREATE, AFB_SESSION_CLOSE, AFB_SESSION_RENEW, AFB_SESSION_CHECK} AFB_sessionE;
+
// API definition
typedef struct {
char *name;
+ AFB_sessionE session;
AFB_apiCB callback;
char *info;
AFB_privateApi *private;
@@ -193,7 +197,7 @@ typedef struct {
// Plugin definition
typedef struct {
- AFB_pluginT type;
+ AFB_pluginE type;
char *info;
char *prefix;
size_t prefixlen;
diff --git a/include/proto-def.h b/include/proto-def.h
index 1a3145f5..d8001142 100644
--- a/include/proto-def.h
+++ b/include/proto-def.h
@@ -49,6 +49,7 @@ PUBLIC AFB_error ctxTokenCreate (AFB_request *request);
PUBLIC AFB_error ctxTokenCheck (AFB_request *request);
PUBLIC AFB_error ctxTokenReset (AFB_request *request);
PUBLIC AFB_error ctxClientGet (AFB_request *request, AFB_plugin *plugin);
+PUBLIC void ctxStoreInit (int);