X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fdbus-api.c;h=90fa3b506765823a0c63d0aea8fe102919859a1b;hb=446e0a75684131f2f2fec251775db9ee450003ec;hp=9d34e436d0025875054f1fdb8c722b7119e2c3e8;hpb=c2bda43c447016a20ed061078b0dff3e64d09940;p=src%2Fapp-framework-binder.git diff --git a/src/dbus-api.c b/src/dbus-api.c index 9d34e436..90fa3b50 100644 --- a/src/dbus-api.c +++ b/src/dbus-api.c @@ -19,22 +19,57 @@ #include "local-def.h" -STATIC json_object* pingAfbs (AFB_plugin *plugin, AFB_session *session, AFB_request *request) { - static pingcount=0; +STATIC json_object* pingSample (AFB_session *session, AFB_request *request, void* handle) { + static pingcount = 0; json_object *response; - response = jsonNewMessage(AFB_SUCCESS, "Ping Application Framework %d", pingcount++); + char query [512]; + int len; + + // request all query key/value + len = getQueryAll (request, query, sizeof(query)); + if (len == 0) strcpy (query,"NoSearchQueryList"); + + // check if we have some post data + if (request->post == NULL) request->post="NoData"; + + // return response to caller + response = jsonNewMessage(AFB_SUCCESS, "Ping Binder Daemon %d query={%s} PostData: \'%s\' ", pingcount++, query, request->post); + if (verbose) fprintf(stderr, "%d: \n", pingcount); return (response); -}; +} + +STATIC json_object* pingFail (AFB_session *session, AFB_request *request, void* handle) { + return NULL; +} + +STATIC json_object* pingBug (AFB_session *session, AFB_request *request, void* handle) { + int a,b,c; + + fprintf (stderr, "Use --timeout=10 to trap error\n"); + b=4; + c=0; + a=b/c; + + // should never return + return NULL; +} + +STATIC struct { + void * somedata; +} handle; STATIC AFB_restapi pluginApis[]= { - {"ping" , (AFB_apiCB)pingAfbs ,"Ping Application Framework"}, - {"ctx-store", (AFB_apiCB)pingSample ,"Verbose Mode"}, - {"ctx-load" , (AFB_apiCB)pingSample ,"Verbose Mode"}, + {"ping" , (AFB_apiCB)pingSample , "Ping Application Framework",NULL}, + {"pingnull" , (AFB_apiCB)pingFail , "Return NULL", NULL}, + {"pingbug" , (AFB_apiCB)pingBug , "Do a Memory Violation", NULL}, + {"ctx-store", (AFB_apiCB)pingSample , "Verbose Mode", NULL}, + {"ctx-load" , (AFB_apiCB)pingSample , "Verbose Mode", NULL}, {0,0,0} }; + PUBLIC AFB_plugin *dbusRegister (AFB_session *session) { AFB_plugin *plugin = malloc (sizeof (AFB_plugin)); plugin->type = AFB_PLUGIN;