summaryrefslogtreecommitdiffstats
path: root/binding/radio-binding.c
diff options
context:
space:
mode:
Diffstat (limited to 'binding/radio-binding.c')
-rw-r--r--binding/radio-binding.c75
1 files changed, 2 insertions, 73 deletions
diff --git a/binding/radio-binding.c b/binding/radio-binding.c
index 19cea20..847e822 100644
--- a/binding/radio-binding.c
+++ b/binding/radio-binding.c
@@ -55,71 +55,6 @@ static void scan_callback(uint32_t frequency, void *data)
afb_event_push(scan_event, json_object_get(jresp));
}
-static int set_role_state(bool state, char **output)
-{
-#ifdef HAVE_4A_FRAMEWORK
- int rc;
- json_object *response = NULL;
- json_object *jsonData = json_object_new_object();
-
- json_object_object_add(jsonData, "action", json_object_new_string(state ? "open" : "close"));
- rc = afb_service_call_sync("ahl-4a", "radio", jsonData, &response);
- if (rc < 0) {
- AFB_ERROR("Failed to %s 4A 'radio' role", state ? "open" : "close");
- goto failed;
- }
-
- if(!state) {
- // No need to look at the response on close
- goto done;
- }
-
- // Handle response on open
- json_object *valJson = NULL;
- json_object *val = NULL;
- rc = json_object_object_get_ex(response, "response", &valJson);
- if (rc == 0) {
- AFB_ERROR("Reply from 4A is missing a 'response' field");
- rc = -1;
- goto failed_malformed;
- }
-
- rc = json_object_object_get_ex(valJson, "device_uri", &val);
- if (rc == 0) {
- AFB_ERROR("Reply from 4A is missing a 'device_uri' field");
- rc = -1;
- goto failed_malformed;
- }
-
- const char *jres_pcm = json_object_get_string(val);
- char * p = strchr(jres_pcm, ':');
-
- if (p == NULL) {
- AFB_ERROR("Unable to parse 'device_uri' value field");
- rc = -1;
- goto failed_malformed;
- }
-
- if (output) {
- if (asprintf(output, "hw:%s", p + 1) < 0) {
- AFB_ERROR("Insufficient memory");
- rc = -1;
- goto failed_malformed;
- }
- }
-done:
- rc = 0;
-
-failed_malformed:
- json_object_put(response);
-
-failed:
- return rc;
-#else
- return 0;
-#endif
-}
-
/*
* Binding verb handlers
*/
@@ -373,13 +308,8 @@ static void frequency_step(struct afb_req request)
*/
static void start(struct afb_req request)
{
- char *output = NULL;
-
- if(set_role_state(true, &output) == 0) {
- radio_impl_ops->set_output(output);
- radio_impl_ops->start();
- free(output);
- }
+ radio_impl_ops->set_output(NULL);
+ radio_impl_ops->start();
afb_req_success(request, NULL, NULL);
json_object *jresp = json_object_new_object();
@@ -397,7 +327,6 @@ static void start(struct afb_req request)
static void stop(struct afb_req request)
{
radio_impl_ops->stop();
- set_role_state(false, NULL);
afb_req_success(request, NULL, NULL);
json_object *jresp = json_object_new_object();