#define LOCAL_DEF_H
#include <json.h>
-#include <magic.h>
#include <microhttpd.h>
/* other definitions --------------------------------------------------- */
#define DEFLT_HTTP_TIMEOUT 15 // Max MibMicroHttp timeout
#define AFB_MAX_PLUGINS 20 // Max number of plugins for a given binder
-#ifndef FALSE
- #define FALSE 0
-#endif
-#ifndef TRUE
- #define TRUE 1
-#endif
-
-#define PUBLIC
-#define STATIC static
-#define FAILED -1
-
-#define AUDIO_BUFFER "/tmp/buf"
-
-extern int verbose; // this is the only global variable
-
-// prebuild json error are constructed in helper-api.c
-typedef enum { AFB_FALSE, AFB_TRUE, AFB_FATAL, AFB_FAIL, AFB_WARNING, AFB_EMPTY, AFB_SUCCESS, AFB_DONE, AFB_UNAUTH} AFB_error;
-
#define MAX_POST_SIZE 4096 // maximum size for POST data
#define CTX_NBCLIENTS 10 // allow a default of 10 authenticated clients
-
-#if 0
-
-// Plugin Type
-enum AFB_pluginE
-{
- AFB_PLUGIN_JSON = 123456789,
- AFB_PLUGIN_JSCRIPT = 987654321,
- AFB_PLUGIN_RAW = 987123546
-};
-
-// Enum for Session/Token/Authentication middleware
-enum AFB_sessionE
-{
- AFB_SESSION_NONE,
- AFB_SESSION_CREATE,
- AFB_SESSION_CLOSE,
- AFB_SESSION_RENEW,
- AFB_SESSION_CHECK
-};
-
-// API definition
-struct AFB_restapi
-{
- const char *name;
- enum AFB_sessionE session;
- struct json_object* (*callback)();
- const char *info;
-};
-
-// Plugin definition
-struct AFB_plugin
-{
- enum AFB_pluginE type;
- const char *info;
- const char *prefix;
- const struct AFB_restapi *apis;
- void (*freeCtxCB)(void*); // callback to free application context [null for standard free]
-};
-
-typedef enum AFB_pluginE AFB_pluginE;
-typedef enum AFB_sessionE AFB_sessionE;
-typedef struct json_object* (*AFB_apiCB)();
-typedef void (*AFB_freeCtxCB)(void*);
-typedef struct AFB_restapi AFB_restapi;
-typedef struct AFB_plugin AFB_plugin;
-
-
-#endif
-
-
-
-
-
-
-
-typedef enum {AFB_MODE_LOCAL=0, AFB_MODE_REMOTE, AFB_MODE_GLOBAL} AFB_Mode;
+enum AFB_Mode;
typedef struct {
int cacheTimeout;
int apiTimeout;
int cntxTimeout; // Client Session Context timeout
- AFB_Mode mode; // mode of listening
+ int mode; // mode of listening
AFB_aliasdir *aliasdir; // alias mapping for icons,apps,...
};
struct MHD_Daemon *httpd; // structure for httpd handler
int fakemod; // respond to GET/POST request without interacting with sndboard
int readyfd; // a #fd to signal when ready to serve
- magic_t magic; // Mime type file magic lib
struct afb_hsrv_handler *handlers;
};
typedef struct AFB_config AFB_config;
typedef struct AFB_session AFB_session;
-#include "proto-def.h"
-
#endif /* LOCAL_DEF_H */