*/
int telephony_network_get_base_station_longitude(telephony_h handle, int *bs_longitude);
+/**
+ * @brief Gets the Signal Strength (Received Signal Strength in dBm).
+ *
+ * @since_tizen 4.0
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/telephony
+ *
+ * @param[in] handle The handle from telephony_init()
+ * @param[out] dbm The Received Signal Strength in dBm \n
+ * Higher the received number, the stronger the signal strength
+ *
+ * @return @c 0 on success,
+ * otherwise a negative error value
+ *
+ * @retval #TELEPHONY_ERROR_NONE Successful
+ * @retval #TELEPHONY_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #TELEPHONY_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #TELEPHONY_ERROR_NOT_SUPPORTED Not supported
+ * @retval #TELEPHONY_ERROR_OPERATION_FAILED Operation failed
+ */
+int telephony_network_get_signal_strength(telephony_h handle, int *dbm);
+
/**
* @}
*/
Name: capi-telephony
Summary: Telephony Core API
-Version: 0.1.72
+Version: 0.1.73
Release: 1
Group: System/Libraries
License: Apache-2.0
return ret;
}
+
+int telephony_network_get_signal_strength(telephony_h handle, int *dbm)
+{
+ int ret;
+ TapiHandle *tapi_h;
+
+ CHECK_TELEPHONY_SUPPORTED(TELEPHONY_FEATURE);
+ CHECK_INPUT_PARAMETER(handle);
+ tapi_h = ((telephony_data *)handle)->tapi_h;
+ CHECK_INPUT_PARAMETER(tapi_h);
+ CHECK_INPUT_PARAMETER(dbm);
+
+ ret = tel_get_property_int(tapi_h, TAPI_PROP_NETWORK_SIGNALSTRENGTH_DBM, dbm);
+ if (ret == TAPI_API_SUCCESS) {
+ LOGI("signal strength in dBm:[%d]", *dbm);
+ ret = TELEPHONY_ERROR_NONE;
+ /* LCOV_EXCL_START */
+ } else if (ret == TAPI_API_ACCESS_DENIED) {
+ LOGE("PERMISSION_DENIED");
+ ret = TELEPHONY_ERROR_PERMISSION_DENIED;
+ } else {
+ LOGE("OPERATION_FAILED");
+ ret = TELEPHONY_ERROR_OPERATION_FAILED;
+ }
+ /* LCOV_EXCL_STOP */
+
+ return ret;
+}
return 0;
}
+static int run_network_get_signal_strength(MManager *mm, struct menu_data *menu)
+{
+ telephony_handle_list_s *handle_list = menu_manager_ref_user_data(mm);
+ int ret;
+ int dbm;
+
+ msg("call telephony_network_get_signal_strength()");
+
+ ret = telephony_network_get_signal_strength(handle_list->handle[subs_type], &dbm);
+ if (ret != TELEPHONY_ERROR_NONE) {
+ msg("telephony_network_get_signal_strength() failed!!! (ret:%d,%s)", ret, get_error_message(ret));
+ return 0;
+ }
+
+ msg(" - signal strength in dBm = %d", dbm);
+
+ return 0;
+}
+
struct menu_data menu_network[] = {
{"1", "telephony_network_get_cell_id", NULL, run_network_get_cell_id, NULL},
{"2", "telephony_network_get_lac", NULL, run_network_get_lac, NULL},
{"18", "telephony_network_get_base_station_id", NULL, run_network_get_bs_id, NULL},
{"19", "telephony_network_get_base_station_latitude", NULL, run_network_get_bs_latitude, NULL},
{"20", "telephony_network_get_base_station_longitude", NULL, run_network_get_bs_longitude, NULL},
+ {"21", "telephony_network_get_signal_strength", NULL, run_network_get_signal_strength, NULL},
{NULL, },
};