int telephony_sim_get_icc_id(telephony_h handle, char **icc_id)
{
int error_code = TELEPHONY_ERROR_NONE;
- TelSimCardStatus_t sim_card_state = TAPI_SIM_STATUS_UNKNOWN;
TapiHandle *tapi_h;
+ GError *gerr = NULL;
+ GVariant *sync_gv = NULL;
+
CHECK_TELEPHONY_SUPPORTED(TELEPHONY_FEATURE);
CHECK_INPUT_PARAMETER(handle);
tapi_h = ((telephony_data *)handle)->tapi_h;
CHECK_INPUT_PARAMETER(tapi_h);
CHECK_INPUT_PARAMETER(icc_id);
- GET_SIM_STATUS(tapi_h, sim_card_state);
*icc_id = NULL;
- if (sim_card_state == TAPI_SIM_STATUS_CARD_ERROR
- || sim_card_state == TAPI_SIM_STATUS_CARD_BLOCKED
- || sim_card_state == TAPI_SIM_STATUS_CARD_NOT_PRESENT
- || sim_card_state == TAPI_SIM_STATUS_CARD_REMOVED
- || sim_card_state == TAPI_SIM_STATUS_UNKNOWN) {
- error_code = TELEPHONY_ERROR_SIM_NOT_AVAILABLE;
- } else {
- GError *gerr = NULL;
- GVariant *sync_gv = NULL;
- sync_gv = g_dbus_connection_call_sync(tapi_h->dbus_connection,
- DBUS_TELEPHONY_SERVICE, tapi_h->path, DBUS_TELEPHONY_SIM_INTERFACE,
- "GetICCID", NULL, NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, &gerr);
+ sync_gv = g_dbus_connection_call_sync(tapi_h->dbus_connection,
+ DBUS_TELEPHONY_SERVICE, tapi_h->path, DBUS_TELEPHONY_SIM_INTERFACE,
+ "GetICCID", NULL, NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, &gerr);
- if (sync_gv) {
- TelSimAccessResult_t result = TAPI_SIM_ACCESS_SUCCESS;
- gchar *iccid = NULL;
+ if (sync_gv) {
+ TelSimAccessResult_t result = TAPI_SIM_ACCESS_SUCCESS;
+ gchar *iccid = NULL;
- g_variant_get(sync_gv, "(is)", &result, &iccid);
- if (result == TAPI_SIM_ACCESS_SUCCESS) {
- if (iccid != NULL && strlen(iccid) != 0)
- *icc_id = strdup(iccid);
- else
- *icc_id = strdup("");
- } else {
- error_code = TELEPHONY_ERROR_OPERATION_FAILED;
- }
- g_free(iccid);
- g_variant_unref(sync_gv);
+ g_variant_get(sync_gv, "(is)", &result, &iccid);
+ if (result == TAPI_SIM_ACCESS_SUCCESS) {
+ if (iccid != NULL && strlen(iccid) != 0)
+ *icc_id = strdup(iccid);
+ else
+ *icc_id = strdup("");
} else {
- /* LCOV_EXCL_START */
- LOGE("g_dbus_conn failed. error (%s)", gerr->message);
- error_code = _convert_dbus_errmsg_to_sim_error(gerr->message);
- if (error_code == TELEPHONY_ERROR_PERMISSION_DENIED) {
- if (telephony_check_legacy_telephony_privilege()) {
- LOGI("return pseudo value");
- *icc_id = strdup("0000000000000000000");
- error_code = TELEPHONY_ERROR_NONE;
- } else {
- LOGE("PERMISSION_DENIED");
- }
+ error_code = TELEPHONY_ERROR_OPERATION_FAILED;
+ }
+ g_free(iccid);
+ g_variant_unref(sync_gv);
+ } else {
+ /* LCOV_EXCL_START */
+ LOGE("g_dbus_conn failed. error (%s)", gerr->message);
+ error_code = _convert_dbus_errmsg_to_sim_error(gerr->message);
+ if (error_code == TELEPHONY_ERROR_PERMISSION_DENIED) {
+ if (telephony_check_legacy_telephony_privilege()) {
+ LOGI("return pseudo value");
+ *icc_id = strdup("0000000000000000000");
+ error_code = TELEPHONY_ERROR_NONE;
+ } else {
+ LOGE("PERMISSION_DENIED");
}
- g_error_free(gerr);
- /* LCOV_EXCL_STOP */
}
+ g_error_free(gerr);
+ /* LCOV_EXCL_STOP */
}
return error_code;