X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=include%2Fproto-def.h;h=a030a27b13f269bc9b53c2130181bcbd5898bdd1;hb=3a10185ae380956bd356c73f34138f97255bf7e6;hp=f5b9f79c7b64506ad97316bc650f90e282dfa54a;hpb=335eeec7aaf944d66cac87b5bb3f64f8fc7e385e;p=src%2Fapp-framework-binder.git diff --git a/include/proto-def.h b/include/proto-def.h index f5b9f79c..a030a27b 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,28 +17,26 @@ 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); +// helper-api +PUBLIC json_object* getPingTest(AFB_request *request); +PUBLIC const char* getQueryValue (const AFB_request * request, const char *name); PUBLIC int getQueryAll(AFB_request * request, char *query, size_t len); +PUBLIC AFB_PostHandle* getPostHandle (AFB_request *request); +PUBLIC json_object* getPostFile (AFB_request *request, AFB_PostItem *item, char* destination) ; +PUBLIC AFB_PostCtx* getPostContext (AFB_request *request); +PUBLIC char* getPostPath (AFB_request *request); - +// rest-api +PUBLIC void endPostRequest(AFB_PostHandle *posthandle); PUBLIC 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); -PUBLIC AFB_plugin* radioRegister (AFB_session *session); - - +typedef AFB_plugin* (*AFB_pluginCB)(); +PUBLIC AFB_plugin* pluginRegister (); // Session handling PUBLIC AFB_error sessionCheckdir (AFB_session *session); @@ -46,6 +44,14 @@ 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); +PUBLIC AFB_error ctxTokenRefresh (AFB_clientCtx *clientCtx, AFB_request *request); +PUBLIC AFB_error ctxTokenCreate (AFB_clientCtx *clientCtx, AFB_request *request); +PUBLIC AFB_error ctxTokenCheck (AFB_clientCtx *clientCtx, AFB_request *request); +PUBLIC AFB_error ctxTokenReset (AFB_clientCtx *clientCtx, AFB_request *request); +PUBLIC AFB_clientCtx *ctxClientGet (AFB_request *request, int idx); +PUBLIC void ctxStoreInit (int); + + // Httpd server PUBLIC AFB_error httpdStart (AFB_session *session);