Add telephony_network_get_signal_strength() API in network interface 95/124895/1
authorsinikang <sinikang@samsung.com>
Thu, 13 Apr 2017 02:40:23 +0000 (11:40 +0900)
committersinikang <sinikang@samsung.com>
Thu, 13 Apr 2017 02:42:08 +0000 (11:42 +0900)
Change-Id: I05fbc0f96d1632d29722f872b8b855b1ab3d8067

include/telephony_network.h
packaging/capi-telephony.spec
src/telephony_network.c
test_src/network.c

index b6a26360ae6b3f3f85990c4db115c1ab1c232583..391970dbafabc1b22ad75cd99b967d1e84dcce5f 100644 (file)
@@ -629,6 +629,28 @@ int telephony_network_get_base_station_latitude(telephony_h handle, int *bs_lati
  */
 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);
+
 /**
  * @}
  */
index 4e6843e02f6d445eed768a6d47b6a8e25e365384..beb5d00eb8f63b491d2ff8e357495d03f5e1acb1 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-telephony
 Summary:    Telephony Core API
-Version:    0.1.72
+Version:    0.1.73
 Release:    1
 Group:      System/Libraries
 License:    Apache-2.0
index ae4f7ad7b203a701ded7b201715c7e48fe80ab2f..12b5bd879e2401a6890c829ac1448c9a53861352 100644 (file)
@@ -838,3 +838,31 @@ int telephony_network_get_base_station_longitude(telephony_h handle, int *bs_lon
 
        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;
+}
index 564bdab7add4c2c41bb2a93c71aa92ce00480323..8b2c9992441b188318a4239944d9ef5a07e21442 100644 (file)
@@ -598,6 +598,25 @@ static int run_network_get_bs_longitude(MManager *mm, struct menu_data *menu)
        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},
@@ -619,6 +638,7 @@ struct menu_data menu_network[] = {
        {"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, },
 };