#define DEFLT_CACHE_TIMEOUT 100000 // default Static File Chache [Client Side Cache 100000~=1day]
#define DEFLT_AUTH_TOKEN NULL // expect for debug should == NULL
#define DEFLT_HTTP_TIMEOUT 15 // Max MibMicroHttp timeout
+#define AFB_MAX_PLUGINS 20 // Max number of plugins for a given binder
typedef int BOOL;
#ifndef FALSE
json_object *json;
} AFB_errorT;
-typedef enum {AFB_POST_NONE=0, AFB_POST_JSON, AFB_POST_FORM} AFB_PostType;
+typedef enum {AFB_POST_NONE=0, AFB_POST_JSON, AFB_POST_FORM, AFB_POST_EMPTY} AFB_PostType;
// Post Upload File Handle
typedef struct {
int localhostOnly;
int httpdPort;
char *smack; // smack label
- char *plugins; // list of requested plugins
+ char *ldpaths; // list of plugins directories
char *rootdir; // base dir for httpd file download
char *rootbase; // Angular HTML5 base URL
char *rootapi; // Base URL for REST APIs
AFB_PostRequest *post;
json_object *jresp;
void *context; // Hold Client Context when using session
+ void *handle; // provide callback and easy access to plugin
int restfull; // request is resfull [uuid token provided]
int errcode; // http error code
sigjmp_buf checkPluginCall; // context save for timeout set/longjmp
AFB_config *config; // plugin may need access to config
struct MHD_Connection *connection;
- AFB_plugin *plugin; // provide callback and easy access to plugin
AFB_plugin **plugins;
} AFB_request;