46b971b33373a5c1aad8abc16dd32e65caac6a18
[src/app-framework-binder.git] / src / alsa-api.c
1 /*
2  * Copyright (C) 2015 "IoT.bzh"
3  * Author "Fulup Ar Foll"
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation, either version 3 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
17  */
18
19
20 #include "local-def.h"
21
22 STATIC json_object* wrongApi (AFB_request *request, void* handle) {
23     int zero=0;
24     int bug=1234;
25     int impossible;
26     
27     impossible=bug/zero;
28 }
29
30 STATIC json_object* pingSample (AFB_request *request) {
31     static pingcount = 0;
32     json_object *response;
33     char query [512];
34
35     // request all query key/value
36     getQueryAll (request,query, sizeof(query)); 
37     
38     // check if we have some post data
39     if (request->post == NULL)  request->post="NoData";  
40         
41     // return response to caller
42     response = jsonNewMessage(AFB_SUCCESS, "Ping Binder Daemon %d query={%s} handle=[%s] PostData: \'%s\' " 
43                              , pingcount++, query, request->post);
44     
45     return (response);
46 }
47
48
49 STATIC struct {
50     void * somedata;
51 } handle;
52
53
54 STATIC  AFB_restapi pluginApis[]= {
55   {"ping"     , (AFB_apiCB)pingSample , "Ping Application Framework"},
56   {"error"    , (AFB_apiCB)wrongApi   , "Ping Application Framework"},
57   {"ctx-store", (AFB_apiCB)pingSample , "Verbose Mode"},
58   {"ctx-load" , (AFB_apiCB)pingSample , "Verbose Mode"},
59   {NULL}
60 };
61
62 PUBLIC AFB_plugin *alsaRegister () {
63     AFB_plugin *plugin = malloc (sizeof (AFB_plugin));
64     plugin->type  = AFB_PLUGIN_JSON;
65     plugin->info  = "Application Framework Binder Service";
66     plugin->prefix= "alsa";        
67     plugin->apis  = pluginApis;
68     return (plugin);
69 };