X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=include%2Flocal-def.h;h=22a3608b5b3e37c65ebd8788e1ece2d03170184e;hb=6d575b22b86ebfac5e2b4c9d672f45805a5b63ce;hp=021ef13ec9eba833f045d319dd35fa2ea4777ae9;hpb=1250a56369315c017abfe429c556b863730b9b44;p=src%2Fapp-framework-binder.git diff --git a/include/local-def.h b/include/local-def.h index 021ef13e..22a3608b 100644 --- a/include/local-def.h +++ b/include/local-def.h @@ -18,6 +18,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +#ifndef LOCAL_DEF_H +#define LOCAL_DEF_H #ifndef _GNU_SOURCE #define _GNU_SOURCE @@ -74,10 +76,12 @@ typedef int BOOL; #define STATIC static #define FAILED -1 +#define AUDIO_BUFFER "/tmp/buf" + 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; @@ -103,6 +107,14 @@ typedef struct { typedef enum {AFB_POST_NONE=0, AFB_POST_JSON, AFB_POST_FORM} AFB_PostType; +// Post Upload File Handle +typedef struct { + int fd; + char *path; + int errcode; + json_object* jresp; +} AFB_PostCtx; + typedef struct { int len; // post element size char *data; // post data in raw format @@ -116,7 +128,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 +195,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 +209,7 @@ typedef struct { // Plugin definition typedef struct { - AFB_pluginT type; + AFB_pluginE type; char *info; char *prefix; size_t prefixlen; @@ -245,6 +261,7 @@ typedef struct { int fakemod; // respond to GET/POST request without interacting with sndboard int forceexit; // when autoconfig from script force exit before starting server AFB_plugin **plugins; // pointer to REST/API plugins + int pluginCount; // loaded plugins count magic_t magic; // Mime type file magic lib sigjmp_buf restartCkpt; // context save for restart set/longjmp } AFB_session; @@ -252,3 +269,5 @@ typedef struct { #include "proto-def.h" + +#endif /* LOCAL_DEF_H */