simplification of config
[src/app-framework-binder.git] / include / local-def.h
index 7ad4e70..a55326f 100644 (file)
 
 
 
-
-#define AJQ_VERSION "0.1"
-
 /* other definitions --------------------------------------------------- */
 
 // Note: because of a bug in libmagic MAGIC_DB NULL should not be used for default
-#define MAGIC_DB "/usr/share/misc/magic.mgc"
 #define OPA_INDEX "index.html"
 #define MAX_ALIAS 10           // max number of aliases
-#define COOKIE_NAME   "AJB_session"
+#define COOKIE_NAME   "afb-session"
 
 
 #define DEFLT_CNTX_TIMEOUT  3600   // default Client Connection Timeout
@@ -87,9 +83,6 @@ typedef enum  {AFB_PLUGIN_JSON=123456789, AFB_PLUGIN_JSCRIPT=987654321,  AFB_PLU
 // 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;
 
-extern char *ERROR_LABEL[];
-#define ERROR_LABEL_DEF {"false", "true", "fatal", "fail", "warning", "empty", "success"}
-
 #define BANNER "<html><head><title>Application Framework Binder</title></head><body>Application Framework </body></html>"
 #define JSON_CONTENT  "application/json"
 #define FORM_CONTENT "multipart/form-data"
@@ -100,13 +93,6 @@ extern char *ERROR_LABEL[];
 typedef json_object* (*AFB_apiCB)();
 typedef void (*AFB_freeCtxCB)(void*, void*, char*);
 
-// Error code are requested through function to manage json usage count
-typedef struct {
-  int   level;
-  char* label;
-  json_object *json;
-} AFB_errorT;
-
 typedef enum  {AFB_POST_NONE=0, AFB_POST_JSON, AFB_POST_FORM, AFB_POST_EMPTY} AFB_PostType;
 typedef enum  {AFB_MODE_LOCAL=0, AFB_MODE_REMOTE, AFB_MODE_GLOBAL} AFB_Mode;
 
@@ -157,14 +143,6 @@ typedef struct {
   size_t len;
 } AFB_aliasdir;
 
-// Command line structure hold cli --command + help text
-typedef struct {
-  int  val;        // command number within application
-  int  has_arg;    // command number within application
-  char *name;      // command as used in --xxxx cli
-  char *help;      // help text
-} AFB_options;
-
 // main config structure
 typedef struct {
   char *logname;           // logfile path for info & error log
@@ -175,10 +153,7 @@ typedef struct {
   char *rootdir;           // base dir for httpd file download
   char *rootbase;          // Angular HTML5 base URL
   char *rootapi;           // Base URL for REST APIs
-  char *pidfile;           // where to store pid when running background
   char *sessiondir;        // where to store mixer session files
-  char *configfile;        // where to store configuration on gateway exit
-  char *setuid;            // downgrade uid to username
   char *token;             // initial authentication token [default NULL no session]
   int  cacheTimeout;
   int  apiTimeout;
@@ -188,12 +163,6 @@ typedef struct {
   AFB_aliasdir *aliasdir;  // alias mapping for icons,apps,...
 } AFB_config;
 
-typedef struct {
-  int  len;        // command number within application
-  json_object *jtype;
-} AFB_privateApi;
-
-
 typedef struct {
      char    *msg;
      size_t  len;
@@ -208,7 +177,6 @@ typedef struct {
   AFB_sessionE session;
   AFB_apiCB callback;
   char *info;
-  AFB_privateApi *privateapi;
 } AFB_restapi;
 
 // Plugin definition
@@ -253,21 +221,20 @@ typedef struct {
   AFB_plugin **plugins;
 } AFB_request;
 
-
+struct afb_hsrv_handler;
+struct MHD_Daemon;
 typedef struct {
   AFB_config  *config;   // pointer to current config
   // List of commands to execute
-  int  killPrevious;
   int  background;        // run in backround mode
   int  foreground;        // run in forground mode
-  int  configsave;        // Save config on disk on start
   char *cacheTimeout;     // http require timeout to be a string
-  void *httpd;            // anonymous structure for httpd handler
+  struct MHD_Daemon *httpd;            // structure for httpd handler
   int  fakemod;           // respond to GET/POST request without interacting with sndboard
-  int  forceexit;         // when autoconfig from script force exit before starting server
+  int  readyfd;           // a #fd to signal when ready to serve
   AFB_plugin **plugins;   // pointer to REST/API plugins 
   magic_t  magic;         // Mime type file magic lib
-  sigjmp_buf restartCkpt; // context save for restart set/longjmp
+  struct afb_hsrv_handler *handlers;
 } AFB_session;