[KeyManager] getCertificateAliasList and getDataAliasList
authorPrzemyslaw Ciezkowski <p.ciezkowski@samsung.com>
Tue, 28 Apr 2015 09:47:52 +0000 (11:47 +0200)
committerPawel Andruszkiewicz <p.andruszkie@samsung.com>
Mon, 11 May 2015 12:09:42 +0000 (21:09 +0900)
[Verification]
console.log("key list size: " + tizen.keymanager.getKeyAliasList().length);
console.log("cert list size: " + tizen.keymanager.getCertificatesAliasList().length);
console.log("data list size: " + tizen.keymanager.getDataAliasList().length);

Change-Id: Ieeda0feaa7bbc09a20851e4bf2b9ed6533fcc75b
Signed-off-by: Przemyslaw Ciezkowski <p.ciezkowski@samsung.com>
src/keymanager/keymanager_instance.cc
src/keymanager/keymanager_instance.h

index f2a83a7..bcd665f 100644 (file)
@@ -27,6 +27,10 @@ KeyManagerInstance::KeyManagerInstance() {
 
   RegisterSyncHandler("KeyManager_getKeyAliasList",
       std::bind(&KeyManagerInstance::GetKeyAliasList, this, _1, _2));
+  RegisterSyncHandler("KeyManager_getCertificatesAliasList",
+      std::bind(&KeyManagerInstance::GetCertificateAliasList, this, _1, _2));
+  RegisterSyncHandler("KeyManager_getDataAliasList",
+      std::bind(&KeyManagerInstance::GetDataAliasList, this, _1, _2));
   RegisterSyncHandler("KeyManager_getKey",
       std::bind(&KeyManagerInstance::GetKey, this, _1, _2));
   RegisterSyncHandler("KeyManager_saveKey",
@@ -40,15 +44,15 @@ KeyManagerInstance::KeyManagerInstance() {
 KeyManagerInstance::~KeyManagerInstance() {
 }
 
-void KeyManagerInstance::GetKeyAliasList(const picojson::value& args,
-    picojson::object& out) {
+void KeyManagerInstance::GetAliasList(
+    std::function<int(CKM::AliasVector&)> coreFunc, picojson::object& out) {
   LoggerD("Enter");
   CKM::AliasVector result;
-  int ret = CKM::Manager::create()->getKeyAliasVector(result);
+  int ret = coreFunc(result);
   if (ret != CKM_API_SUCCESS) {
-      LoggerE("Failed to fetch list of key alias: %d", ret);
+      LoggerE("Failed to fetch list of alias: %d", ret);
       ReportError(common::PlatformResult(common::ErrorCode::UNKNOWN_ERR,
-        "Failed to fetch list of key alias"), &out);
+        "Failed to fetch list of alias"), &out);
   } else {
       picojson::array aliases;
       for (auto& item: result) {
@@ -59,6 +63,33 @@ void KeyManagerInstance::GetKeyAliasList(const picojson::value& args,
   }
 }
 
+void KeyManagerInstance::GetKeyAliasList(const picojson::value& args,
+    picojson::object& out) {
+  LoggerD("Enter");
+  using std::placeholders::_1;
+  GetAliasList(
+      std::bind(&CKM::Manager::getKeyAliasVector, CKM::Manager::create(), _1),
+      out);
+}
+
+void KeyManagerInstance::GetCertificateAliasList(const picojson::value& args,
+    picojson::object& out) {
+  LoggerD("Enter");
+  using std::placeholders::_1;
+  GetAliasList(
+      std::bind(&CKM::Manager::getCertificateAliasVector, CKM::Manager::create(), _1),
+      out);
+}
+
+void KeyManagerInstance::GetDataAliasList(const picojson::value& args,
+    picojson::object& out) {
+  LoggerD("Enter");
+  using std::placeholders::_1;
+  GetAliasList(
+      std::bind(&CKM::Manager::getDataAliasVector, CKM::Manager::create(), _1),
+      out);
+}
+
 void KeyManagerInstance::SaveKey(const picojson::value& args,
     picojson::object& out) {
   LoggerD("Enter");
index 1b5cabe..a842b0b 100644 (file)
@@ -22,7 +22,12 @@ class KeyManagerInstance :
   void OnSaveKey(double callbackId, const common::PlatformResult& result);
   void OnCreateKeyPair(double callbackId, const common::PlatformResult& result);
  private:
+  void GetAliasList(std::function<int(CKM::AliasVector&)> coreFunc,
+      picojson::object& out);
   void GetKeyAliasList(picojson::value const& args, picojson::object& out);
+  void GetCertificateAliasList(picojson::value const& args,
+      picojson::object& out);
+  void GetDataAliasList(picojson::value const& args, picojson::object& out);
   void GetKey(const picojson::value& args, picojson::object& out);
   void SaveKey(const picojson::value& args, picojson::object& out);
   void RemoveKey(const picojson::value& args, picojson::object& out);