X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=include%2Fproto-def.h;h=87bc63b008143a07d8a61fcef849865b73b436c0;hb=ca208671cc79bbc05c574df788035878e5d39382;hp=3e1d1c38eb1bc879135841022252af9e6c1fc6ba;hpb=b55efc33fb8df8b0518570b2584b6da9abb3221b;p=src%2Fapp-framework-binder.git diff --git a/include/proto-def.h b/include/proto-def.h index 3e1d1c38..87bc63b0 100644 --- a/include/proto-def.h +++ b/include/proto-def.h @@ -1,5 +1,5 @@ /* - alsajson-gw -- provide a REST/HTTP interface to ALSA-Mixer + proto-def.h -- provide a REST/HTTP interface Copyright (C) 2015, Fulup Ar Foll @@ -17,50 +17,42 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id: $ */ -// Rest-api - -PUBLIC json_object* apiPingTest(AFB_session *session, AFB_request *request, void* handle); -PUBLIC const char* getQueryValue (AFB_request * request, char *name); -PUBLIC const char* getQueryAll(AFB_request * request, char *query, size_t len); - - -PUBLIC int doRestApi(struct MHD_Connection *connection, AFB_session *session, const char* url, const char *method +// helper-api +extern const char* getQueryValue (const AFB_request * request, const char *name); +extern int getQueryAll(AFB_request * request, char *query, size_t len); +extern AFB_PostHandle* getPostHandle (AFB_request *request); +extern json_object* getPostFile (AFB_request *request, AFB_PostItem *item, char* destination) ; +extern AFB_PostCtx* getPostContext (AFB_request *request); +extern char* getPostPath (AFB_request *request); + +extern json_object *jsonNewMessage (AFB_error level, char* format, ...); +extern json_object *jsonNewStatus (AFB_error level); +extern json_object *jsonNewjtype (void); +extern json_object *jsonNewMessage (AFB_error level, char* format, ...); +extern void jsonDumpObject (json_object * jObject); + +// rest-api +extern void endPostRequest(AFB_PostHandle *posthandle); +extern int doRestApi(struct MHD_Connection *connection, AFB_session *session, const char* url, const char *method , const char *upload_data, size_t *upload_data_size, void **con_cls); -void initPlugins (AFB_session *session); - -typedef AFB_plugin* (*AFB_pluginCB)(AFB_session *session); -PUBLIC AFB_plugin* afsvRegister (AFB_session *session); -PUBLIC AFB_plugin* dbusRegister (AFB_session *session); -PUBLIC AFB_plugin* alsaRegister (AFB_session *session); +// Session handling +extern AFB_error ctxTokenRefresh (AFB_clientCtx *clientCtx, AFB_request *request); +extern AFB_error ctxTokenCreate (AFB_clientCtx *clientCtx, AFB_request *request); +extern AFB_error ctxTokenCheck (AFB_clientCtx *clientCtx, AFB_request *request); +extern AFB_error ctxTokenReset (AFB_clientCtx *clientCtx, AFB_request *request); +extern AFB_clientCtx *ctxClientGet (AFB_request *request, int idx); +extern void ctxStoreInit (int); -// Session handling -PUBLIC AFB_error sessionCheckdir (AFB_session *session); -PUBLIC json_object *sessionList (AFB_session *session, AFB_request *request); -PUBLIC json_object *sessionToDisk (AFB_session *session, AFB_request *request, char *name,json_object *jsonSession); -PUBLIC json_object *sessionFromDisk (AFB_session *session, AFB_request *request, char *name); +// Httpd server +extern AFB_error httpdStart (AFB_session *session); +extern AFB_error httpdLoop (AFB_session *session); +extern void httpdStop (AFB_session *session); -// Httpd server -PUBLIC AFB_error httpdStart (AFB_session *session); -PUBLIC AFB_error httpdLoop (AFB_session *session); -PUBLIC void httpdStop (AFB_session *session); - - -// config management -PUBLIC char *configTime (void); -PUBLIC AFB_session *configInit (void); -PUBLIC json_object *jsonNewMessage (AFB_error level, char* format, ...); -PUBLIC json_object *jsonNewStatus (AFB_error level); -PUBLIC json_object *jsonNewjtype (void); -PUBLIC json_object *jsonNewMessage (AFB_error level, char* format, ...); -PUBLIC void jsonDumpObject (json_object * jObject); -PUBLIC AFB_error configLoadFile (AFB_session * session, AFB_config *cliconfig); -PUBLIC void configStoreFile (AFB_session * session);