Audio Plugin: add PulseAudio support
[src/app-framework-binder.git] / plugins / radio / radio-api.c
index 09fbcb5..919a875 100644 (file)
@@ -17,7 +17,6 @@
  */
 
 #include "radio-api.h"
-#include "radio-rtlsdr.h"
 
 /* ********************************************************
 
@@ -126,12 +125,13 @@ STATIC void freeRadio (void *context, void *handle) {
 
 /* ------ PUBLIC PLUGIN FUNCTIONS --------- */
 
-STATIC json_object* init (AFB_request *request) {       /* AFB_SESSION_CREATE */
+STATIC json_object* init (AFB_request *request) {        /* AFB_SESSION_CHECK */
 
     json_object *jresp;
 
     /* create a private client context */
-    request->context = initRadioCtx();
+    if (!request->context)
+        request->context = initRadioCtx();
 
     jresp = json_object_new_object();
     json_object_object_add(jresp, "info", json_object_new_string ("Radio initialized"));
@@ -140,7 +140,7 @@ STATIC json_object* init (AFB_request *request) {       /* AFB_SESSION_CREATE */
 
 STATIC json_object* power (AFB_request *request) {       /* AFB_SESSION_CHECK */
 
-    pluginHandleT *handle = (pluginHandleT*)request->plugin;
+    pluginHandleT *handle = (pluginHandleT*)request->handle;
     radioCtxHandleT *ctx = (radioCtxHandleT*)request->context;
     const char *value = getQueryValue (request, "value");
     json_object *jresp;
@@ -306,7 +306,7 @@ STATIC json_object* ping (AFB_request *request) {         /* AFB_SESSION_NONE */
 
 
 STATIC AFB_restapi pluginApis[]= {
-  {"init"   , AFB_SESSION_CREATE, (AFB_apiCB)init       , "Radio API - init"},
+  {"init"   , AFB_SESSION_CHECK,  (AFB_apiCB)init       , "Radio API - init"},
   {"power"  , AFB_SESSION_CHECK,  (AFB_apiCB)power      , "Radio API - power"},
   {"mode"   , AFB_SESSION_CHECK,  (AFB_apiCB)mode       , "Radio API - mode"},
   {"freq"   , AFB_SESSION_CHECK,  (AFB_apiCB)freq       , "Radio API - freq"},