From: Piotr Kosko
Date: Tue, 6 Oct 2015 13:11:17 +0000 (+0200)
Subject: [Systeminfo] Resolved TODOs
X-Git-Tag: submit/tizen/20151026.073646^2^2~48
X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=11d216b7f53885e497041a1a066a082b2321e34c;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git
[Systeminfo] Resolved TODOs
[Feature] Support iccid of SIM cards.
[Verification] TCT passrate 100%.
Change-Id: I45c1803304b27b7f1c110659a977aad9effba48c
Signed-off-by: Piotr Kosko
---
diff --git a/src/systeminfo/systeminfo_device_capability.cc b/src/systeminfo/systeminfo_device_capability.cc
index ab722d6f..b7d9a6cb 100644
--- a/src/systeminfo/systeminfo_device_capability.cc
+++ b/src/systeminfo/systeminfo_device_capability.cc
@@ -21,7 +21,7 @@
#include "common/logger.h"
-// TODO:: hardcoded value, only for IsBluetoothAlwaysOn
+// hardcoded value, only for IsBluetoothAlwaysOn
#define PROFILE_MOBILE 1
namespace extension {
@@ -61,7 +61,7 @@ const char* kPlatformCoreVfpv3 = "vfpv3";
/*API feature*/
/*Network feature*/
-const char* kTizenFeatureBluetoothAlwaysOn = "http://tizen.org/capability/network.bluetooth.always_on"; //TODO mobile/wearable: false, tv: true
+const char* kTizenFeatureBluetoothAlwaysOn = "http://tizen.org/capability/network.bluetooth.always_on"; //hardcoded values for mobile/wearable: false, tv: true
const char* kTizenFeatureOpenglesTextureFormat = "http://tizen.org/feature/opengles.texture_format";
const char* kTizenFeatureCoreApiVersion = "http://tizen.org/feature/platform.core.api.version";
const char* kTizenFeaturePlatfromCoreCpuArch = "http://tizen.org/feature/platform.core.cpu.arch";
diff --git a/src/systeminfo/systeminfo_sim_details_manager.cc b/src/systeminfo/systeminfo_sim_details_manager.cc
index 5493164f..1c4cb0d7 100644
--- a/src/systeminfo/systeminfo_sim_details_manager.cc
+++ b/src/systeminfo/systeminfo_sim_details_manager.cc
@@ -94,6 +94,24 @@ void SimSpnValueCallback(TapiHandle */*handle*/, int result, void *data, void *u
sim_mgr->set_spn(result_spn);
sim_mgr->TryReturn();
}
+
+void SimIccidValueCallback(TapiHandle */*handle*/, int result, void *data, void *user_data) {
+ LoggerD("Entered");
+ SimDetailsManager* sim_mgr = static_cast(user_data);
+ TelSimAccessResult_t access_rt = static_cast(result);
+ TelSimIccIdInfo_t *iccid_info = static_cast(data);
+
+ std::string result_iccid;
+ if (TAPI_SIM_ACCESS_SUCCESS == access_rt) {
+ result_iccid = (char *)iccid_info->icc_num;
+ } else {
+ LoggerW("Failed to retrieve iccid_: %d", access_rt);
+ }
+
+ sim_mgr->set_iccid(result_iccid);
+ sim_mgr->TryReturn();
+}
+
} //namespace
using common::PlatformResult;
@@ -148,6 +166,13 @@ PlatformResult SimDetailsManager::GatherSimInformation(TapiHandle* handle, picoj
} else {
LoggerE("Failed getting spn: %d", result);
}
+
+ result = tel_get_sim_iccid(handle, SimIccidValueCallback, this);
+ if (TAPI_API_SUCCESS == result) {
+ ++to_process_;
+ } else {
+ LoggerE("Failed getting iccid: %d", result);
+ }
}
//prevent returning not filled result
std::lock_guard lock_sim(sim_info_mutex_);
@@ -217,8 +242,6 @@ PlatformResult SimDetailsManager::FetchSimSyncProps(TapiHandle *tapi_handle) {
return PlatformResult(ErrorCode::UNKNOWN_ERR, "Failed to get sim imsi");
}
- //TODO add code for iccid value fetching, when proper API would be ready
- iccid_ = "";
return PlatformResult(ErrorCode::NO_ERROR);
}
@@ -289,5 +312,13 @@ void SimDetailsManager::set_spn(const std::string& spn) {
LoggerD("SPN value: %s", this->spn_.c_str());
};
+void SimDetailsManager::set_iccid(const std::string& iccid) {
+ LoggerD("Entered");
+ std::lock_guard lock(sim_to_process_mutex_);
+ this->iccid_ = iccid;
+ --to_process_;
+ LoggerD("ICCID value: %s", this->iccid_.c_str());
+};
+
} // namespace systeminfo
} // namespace webapi
diff --git a/src/systeminfo/systeminfo_sim_details_manager.h b/src/systeminfo/systeminfo_sim_details_manager.h
index 38def8f0..0b6a4ed9 100644
--- a/src/systeminfo/systeminfo_sim_details_manager.h
+++ b/src/systeminfo/systeminfo_sim_details_manager.h
@@ -40,6 +40,7 @@ class SimDetailsManager {
void set_operator_name(const std::string& name);
void set_msisdn(const std::string& msisdn);
void set_spn(const std::string& spn);
+ void set_iccid(const std::string& iccid);
private:
void ResetSimHolder(picojson::object* out);