diff options
-rw-r--r-- | binding/CMakeLists.txt | 2 | ||||
-rw-r--r-- | binding/radio-binding.c | 112 | ||||
-rw-r--r-- | binding/radio_impl_kingfisher.c | 16 | ||||
-rw-r--r-- | binding/radio_impl_rtlsdr.c | 16 |
4 files changed, 73 insertions, 73 deletions
diff --git a/binding/CMakeLists.txt b/binding/CMakeLists.txt index 97bc2a6..8f5b43a 100644 --- a/binding/CMakeLists.txt +++ b/binding/CMakeLists.txt @@ -21,7 +21,7 @@ # Add target to project dependency list PROJECT_TARGET_ADD(radio-binding) - add_definitions(-DAFB_BINDING_VERSION=2) + add_definitions(-DAFB_BINDING_VERSION=3) # Define project Targets set(radio_SOURCES diff --git a/binding/radio-binding.c b/binding/radio-binding.c index 847e822..1dae5da 100644 --- a/binding/radio-binding.c +++ b/binding/radio-binding.c @@ -33,9 +33,9 @@ static radio_impl_ops_t *radio_impl_ops; -static struct afb_event freq_event; -static struct afb_event scan_event; -static struct afb_event status_event; +static afb_event_t freq_event; +static afb_event_t scan_event; +static afb_event_t status_event; static void freq_callback(uint32_t frequency, void *data) { @@ -62,10 +62,10 @@ static void scan_callback(uint32_t frequency, void *data) /* * @brief Get (and optionally set) frequency * - * @param struct afb_req : an afb request structure + * @param afb_req_t : an afb request structure * */ -static void frequency(struct afb_req request) +static void frequency(afb_req_t request) { json_object *ret_json; const char *value = afb_req_value(request, "value"); @@ -77,28 +77,28 @@ static void frequency(struct afb_req request) if(frequency && *p == '\0') { radio_impl_ops->set_frequency(frequency); } else { - afb_req_fail(request, "failed", "Invalid scan direction"); + afb_req_reply(request, NULL, "failed", "Invalid scan direction"); return; } } ret_json = json_object_new_object(); frequency = radio_impl_ops->get_frequency(); json_object_object_add(ret_json, "frequency", json_object_new_int((int32_t) frequency)); - afb_req_success(request, ret_json, NULL); + afb_req_reply(request, ret_json, NULL, NULL); } /* @brief Get RDS information * -* @param struct afb_req : an afb request structure +* @param afb_req_t : an afb request structure * */ -static void rds(struct afb_req request) +static void rds(afb_req_t request) { json_object *ret_json; char * rds; if (radio_impl_ops->get_rds_info == NULL) { - afb_req_fail(request, "failed", "not supported"); + afb_req_reply(request, NULL, "failed", "not supported"); return; } @@ -107,16 +107,16 @@ static void rds(struct afb_req request) json_object_object_add(ret_json, "rds", json_object_new_string(rds?rds:"")); free(rds); - afb_req_success(request, ret_json, NULL); + afb_req_reply(request, ret_json, NULL, NULL); } /* * @brief Get (and optionally set) frequency band * - * @param struct afb_req : an afb request structure + * @param afb_req_t : an afb request structure * */ -static void band(struct afb_req request) +static void band(afb_req_t request) { json_object *ret_json; const char *value = afb_req_value(request, "value"); @@ -148,7 +148,7 @@ static void band(struct afb_req request) if(valid) { radio_impl_ops->set_band(band); } else { - afb_req_fail(request, "failed", "Invalid band"); + afb_req_reply(request, NULL, "failed", "Invalid band"); return; } } @@ -156,16 +156,16 @@ static void band(struct afb_req request) band = radio_impl_ops->get_band(); sprintf(band_name, "%s", band == BAND_AM ? "AM" : "FM"); json_object_object_add(ret_json, "band", json_object_new_string(band_name)); - afb_req_success(request, ret_json, NULL); + afb_req_reply(request, ret_json, NULL, NULL); } /* * @brief Check if band is supported * - * @param struct afb_req : an afb request structure + * @param afb_req_t : an afb request structure * */ -static void band_supported(struct afb_req request) +static void band_supported(afb_req_t request) { json_object *ret_json; const char *value = afb_req_value(request, "band"); @@ -195,23 +195,23 @@ static void band_supported(struct afb_req request) } } if(!valid) { - afb_req_fail(request, "failed", "Invalid band"); + afb_req_reply(request, NULL, "failed", "Invalid band"); return; } ret_json = json_object_new_object(); json_object_object_add(ret_json, "supported", json_object_new_int(radio_impl_ops->band_supported(band))); - afb_req_success(request, ret_json, NULL); + afb_req_reply(request, ret_json, NULL, NULL); } /* * @brief Get frequency range for a band * - * @param struct afb_req : an afb request structure + * @param afb_req_t : an afb request structure * */ -static void frequency_range(struct afb_req request) +static void frequency_range(afb_req_t request) { json_object *ret_json; const char *value = afb_req_value(request, "band"); @@ -243,7 +243,7 @@ static void frequency_range(struct afb_req request) } } if(!valid) { - afb_req_fail(request, "failed", "Invalid band"); + afb_req_reply(request, NULL, "failed", "Invalid band"); return; } ret_json = json_object_new_object(); @@ -251,16 +251,16 @@ static void frequency_range(struct afb_req request) max_frequency = radio_impl_ops->get_max_frequency(band); json_object_object_add(ret_json, "min", json_object_new_int((int32_t) min_frequency)); json_object_object_add(ret_json, "max", json_object_new_int((int32_t) max_frequency)); - afb_req_success(request, ret_json, NULL); + afb_req_reply(request, ret_json, NULL, NULL); } /* * @brief Get frequency step size (Hz) for a band * - * @param struct afb_req : an afb request structure + * @param afb_req_t : an afb request structure * */ -static void frequency_step(struct afb_req request) +static void frequency_step(afb_req_t request) { json_object *ret_json; const char *value = afb_req_value(request, "band"); @@ -291,26 +291,26 @@ static void frequency_step(struct afb_req request) } } if(!valid) { - afb_req_fail(request, "failed", "Invalid band"); + afb_req_reply(request, NULL, "failed", "Invalid band"); return; } ret_json = json_object_new_object(); step = radio_impl_ops->get_frequency_step(band); json_object_object_add(ret_json, "step", json_object_new_int((int32_t) step)); - afb_req_success(request, ret_json, NULL); + afb_req_reply(request, ret_json, NULL, NULL); } /* * @brief Start radio playback * - * @param struct afb_req : an afb request structure + * @param afb_req_t : an afb request structure * */ -static void start(struct afb_req request) +static void start(afb_req_t request) { radio_impl_ops->set_output(NULL); radio_impl_ops->start(); - afb_req_success(request, NULL, NULL); + afb_req_reply(request, NULL, NULL, NULL); json_object *jresp = json_object_new_object(); json_object *value = json_object_new_string("playing"); @@ -321,13 +321,13 @@ static void start(struct afb_req request) /* * @brief Stop radio playback * - * @param struct afb_req : an afb request structure + * @param afb_req_t : an afb request structure * */ -static void stop(struct afb_req request) +static void stop(afb_req_t request) { radio_impl_ops->stop(); - afb_req_success(request, NULL, NULL); + afb_req_reply(request, NULL, NULL, NULL); json_object *jresp = json_object_new_object(); json_object *value = json_object_new_string("stopped"); @@ -338,10 +338,10 @@ static void stop(struct afb_req request) /* * @brief Scan for a station in the specified direction * - * @param struct afb_req : an afb request structure + * @param afb_req_t : an afb request structure * */ -static void scan_start(struct afb_req request) +static void scan_start(afb_req_t request) { const char *value = afb_req_value(request, "direction"); int valid = 0; @@ -370,32 +370,32 @@ static void scan_start(struct afb_req request) } } if(!valid) { - afb_req_fail(request, "failed", "Invalid direction"); + afb_req_reply(request, NULL, "failed", "Invalid direction"); return; } radio_impl_ops->scan_start(direction, scan_callback, NULL); - afb_req_success(request, NULL, NULL); + afb_req_reply(request, NULL, NULL, NULL); } /* * @brief Stop station scan * - * @param struct afb_req : an afb request structure + * @param afb_req_t : an afb request structure * */ -static void scan_stop(struct afb_req request) +static void scan_stop(afb_req_t request) { radio_impl_ops->scan_stop(); - afb_req_success(request, NULL, NULL); + afb_req_reply(request, NULL, NULL, NULL); } /* * @brief Get (and optionally set) stereo mode * - * @param struct afb_req : an afb request structure + * @param afb_req_t : an afb request structure * */ -static void stereo_mode(struct afb_req request) +static void stereo_mode(afb_req_t request) { json_object *ret_json; const char *value = afb_req_value(request, "value"); @@ -426,7 +426,7 @@ static void stereo_mode(struct afb_req request) if(valid) { radio_impl_ops->set_stereo_mode(mode); } else { - afb_req_fail(request, "failed", "Invalid mode"); + afb_req_reply(request, NULL, "failed", "Invalid mode"); return; } } @@ -434,16 +434,16 @@ static void stereo_mode(struct afb_req request) mode = radio_impl_ops->get_stereo_mode(); json_object_object_add(ret_json, "mode", json_object_new_string(mode == MONO ? "mono" : "stereo")); - afb_req_success(request, ret_json, NULL); + afb_req_reply(request, ret_json, NULL, NULL); } /* * @brief Subscribe for an event * - * @param struct afb_req : an afb request structure + * @param afb_req_t : an afb request structure * */ -static void subscribe(struct afb_req request) +static void subscribe(afb_req_t request) { const char *value = afb_req_value(request, "value"); if(value) { @@ -454,20 +454,20 @@ static void subscribe(struct afb_req request) } else if(!strcasecmp(value, "status")) { afb_req_subscribe(request, status_event); } else { - afb_req_fail(request, "failed", "Invalid event"); + afb_req_reply(request, NULL, "failed", "Invalid event"); return; } } - afb_req_success(request, NULL, NULL); + afb_req_reply(request, NULL, NULL, NULL); } /* * @brief Unsubscribe for an event * - * @param struct afb_req : an afb request structure + * @param afb_req_t : an afb request structure * */ -static void unsubscribe(struct afb_req request) +static void unsubscribe(afb_req_t request) { const char *value = afb_req_value(request, "value"); if(value) { @@ -478,14 +478,14 @@ static void unsubscribe(struct afb_req request) } else if(!strcasecmp(value, "status")) { afb_req_unsubscribe(request, status_event); } else { - afb_req_fail(request, "failed", "Invalid event"); + afb_req_reply(request, NULL, "failed", "Invalid event"); return; } } - afb_req_success(request, NULL, NULL); + afb_req_reply(request, NULL, NULL, NULL); } -static const struct afb_verb_v2 verbs[]= { +static const afb_verb_t verbs[]= { { .verb = "frequency", .session = AFB_SESSION_NONE, .callback = frequency, .info = "Get/Set frequency" }, { .verb = "band", .session = AFB_SESSION_NONE, .callback = band, .info = "Get/Set band" }, { .verb = "rds", .session = AFB_SESSION_NONE, .callback = rds, .info = "Get RDS information" }, @@ -513,10 +513,10 @@ static int init() rc = radio_impl_ops->init(); } if (rc != 0) { - AFB_ERROR("No radio device found, exiting"); + AFB_API_ERROR(afbBindingV3root, "No radio device found, exiting"); } if(rc == 0) { - AFB_NOTICE("%s found\n", radio_impl_ops->name); + AFB_API_NOTICE(afbBindingV3root, "%s found\n", radio_impl_ops->name); radio_impl_ops->set_frequency_callback(freq_callback, NULL); } else { return rc; @@ -530,7 +530,7 @@ static int init() return 0; } -const struct afb_binding_v2 afbBindingV2 = { +const afb_binding_t afbBindingExport = { .info = "radio service", .api = "radio", .verbs = verbs, diff --git a/binding/radio_impl_kingfisher.c b/binding/radio_impl_kingfisher.c index 24c547f..7732f51 100644 --- a/binding/radio_impl_kingfisher.c +++ b/binding/radio_impl_kingfisher.c @@ -130,7 +130,7 @@ static int kf_init(void) "scan_valid_snr_threshold", &error); if(!error) { - AFB_INFO("Scan valid SNR level set to %d", n); + AFB_API_INFO(afbBindingV3root, "Scan valid SNR level set to %d", n); scan_valid_snr_threshold = n; } @@ -140,14 +140,14 @@ static int kf_init(void) "scan_valid_rssi_threshold", &error); if(!error) { - AFB_INFO("Scan valid SNR level set to %d", n); + AFB_API_INFO(afbBindingV3root, "Scan valid SNR level set to %d", n); scan_valid_rssi_threshold = n; } g_key_file_free(conf_file); } - AFB_INFO("Using FM Bandplan: %s", known_fm_band_plans[bandplan].name); + AFB_API_INFO(afbBindingV3root, "Using FM Bandplan: %s", known_fm_band_plans[bandplan].name); current_frequency = kf_get_min_frequency(BAND_FM); snprintf(cmd, sizeof(cmd), @@ -159,7 +159,7 @@ static int kf_init(void) current_frequency / 1000); rc = system(cmd); if(rc != 0) { - AFB_ERROR("%s failed, rc = %d", SI_CTL, rc); + AFB_API_ERROR(afbBindingV3root, "%s failed, rc = %d", SI_CTL, rc); return -1; } @@ -171,12 +171,12 @@ static int kf_init(void) GST_PIPELINE_LEN, "alsasrc device=hw:radio ! queue ! audioconvert ! audioresample ! pwaudiosink stream-properties=\"p,media.role=Multimedia\""); if(rc >= GST_PIPELINE_LEN) { - AFB_ERROR("pipeline string too long"); + AFB_API_ERROR(afbBindingV3root, "pipeline string too long"); return -1; } pipeline = gst_parse_launch(gst_pipeline_str, NULL); if(!pipeline) { - AFB_ERROR("pipeline construction failed!"); + AFB_API_ERROR(afbBindingV3root, "pipeline construction failed!"); return -1; } @@ -363,14 +363,14 @@ static void kf_scan_start(radio_scan_direction_t direction, SI_CTL, direction == SCAN_FORWARD ? "up" : "down"); fp = popen(cmd, "r"); if(fp == NULL) { - AFB_ERROR("Could not run: %s!", cmd); + AFB_API_ERROR(afbBindingV3root, "Could not run: %s!", cmd); return; } // Look for "Frequency:" in output while(fgets(line, SI_CTL_OUTPUT_MAXLEN, fp) != NULL) { if(strncmp("Frequency:", line, 10) == 0) { new_frequency = atoi(line + 10); - //AFB_DEBUG("%s: got new_frequency = %d", __FUNCTION__, new_frequency); + //AFB_API_DEBUG(afbBindingV3root, "%s: got new_frequency = %d", __FUNCTION__, new_frequency); break; } } diff --git a/binding/radio_impl_rtlsdr.c b/binding/radio_impl_rtlsdr.c index 044da0e..62ec623 100644 --- a/binding/radio_impl_rtlsdr.c +++ b/binding/radio_impl_rtlsdr.c @@ -178,7 +178,7 @@ static int rtlsdr_init(void) if(!helper_path) return -ENOMEM; if(snprintf(helper_path, HELPER_MAX, "%s/bin/%s --detect", rootdir, HELPER_NAME) == HELPER_MAX) { - AFB_ERROR("Could not create command for \"%s --detect\"", HELPER_NAME); + AFB_API_ERROR(afbBindingV3root, "Could not create command for \"%s --detect\"", HELPER_NAME); return -EINVAL; } if(system(helper_path) != 0) { @@ -316,7 +316,7 @@ static int rtlsdr_start_helper(void) if(helper_output) { // Indicate desired output to helper - AFB_INFO("Setting RADIO_OUTPUT=%s", helper_output); + AFB_API_INFO(afbBindingV3root, "Setting RADIO_OUTPUT=%s", helper_output); setenv("RADIO_OUTPUT", helper_output, 1); } @@ -325,15 +325,15 @@ static int rtlsdr_start_helper(void) if(!helper_path) return -ENOMEM; if(snprintf(helper_path, PATH_MAX, "%s/bin/%s", rootdir, HELPER_NAME) == PATH_MAX) { - AFB_ERROR("Could not create path to %s", HELPER_NAME); + AFB_API_ERROR(afbBindingV3root, "Could not create path to %s", HELPER_NAME); return -EINVAL; } helper_pid = popen2(helper_path, &helper_out, &helper_in); if(helper_pid < 0) { - AFB_ERROR("Could not run %s!", HELPER_NAME); + AFB_API_ERROR(afbBindingV3root, "Could not run %s!", HELPER_NAME); return -1; } - AFB_DEBUG("%s started", HELPER_NAME); + AFB_API_DEBUG(afbBindingV3root, "%s started", HELPER_NAME); helper_started = true; free(helper_path); @@ -359,7 +359,7 @@ static void rtlsdr_start(void) rc = write(helper_in, cmd, strlen(cmd)); pthread_mutex_unlock(&helper_mutex); if (rc < 0) { - AFB_ERROR("Failed to ask \"%s\" to start", HELPER_NAME); + AFB_API_ERROR(afbBindingV3root, "Failed to ask \"%s\" to start", HELPER_NAME); return; } active = true; @@ -381,7 +381,7 @@ static void rtlsdr_stop(void) rc = write(helper_in, cmd, strlen(cmd)); pthread_mutex_unlock(&helper_mutex); if (rc < 0) { - AFB_ERROR("Failed to ask \"%s\" to stop", HELPER_NAME); + AFB_API_ERROR(afbBindingV3root, "Failed to ask \"%s\" to stop", HELPER_NAME); return; } active = false; @@ -454,7 +454,7 @@ static void rtlsdr_scan_stop(void) rc = write(helper_in, cmd, strlen(cmd)); pthread_mutex_unlock(&helper_mutex); if (rc < 0) - AFB_ERROR("Failed to ask \"%s\" to stop scan", HELPER_NAME); + AFB_API_ERROR(afbBindingV3root, "Failed to ask \"%s\" to stop scan", HELPER_NAME); } static radio_stereo_mode_t rtlsdr_get_stereo_mode(void) |