From: Przemyslaw Ciezkowski
Date: Fri, 24 Apr 2015 10:42:22 +0000 (+0200)
Subject: [KeyManager] getKeyAlias implementation
X-Git-Tag: submit/tizen_mobile/20150603.064609~1^2~51
X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=86e3f1e1cc02e364aa2f1a1258d4bbbf6b2aa52e;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git
[KeyManager] getKeyAlias implementation
[Verification]
items = tizen.keymanager.getKeyAliasList();
console.log('length: ' + items.length);
console.log("isArray: " + Array.isArray(items));
Change-Id: I0c85704b8141e2d5d3c4063b1af4ee6aba278d27
Signed-off-by: Przemyslaw Ciezkowski
---
diff --git a/src/keymanager/keymanager_instance.cc b/src/keymanager/keymanager_instance.cc
index 090fb92..949327e 100644
--- a/src/keymanager/keymanager_instance.cc
+++ b/src/keymanager/keymanager_instance.cc
@@ -5,6 +5,7 @@
#include "keymanager/keymanager_instance.h"
#include
+#include
#include "common/logger.h"
#include "common/picojson.h"
@@ -15,12 +16,34 @@ namespace keymanager {
KeyManagerInstance::KeyManagerInstance() {
- using namespace std::placeholders;
+ using std::placeholders::_1;
+ using std::placeholders::_2;
+ RegisterSyncHandler("KeyManager_getKeyAliasList",
+ std::bind(&KeyManagerInstance::GetKeyAliasList, this, _1, _2));
}
KeyManagerInstance::~KeyManagerInstance() {
}
+void KeyManagerInstance::GetKeyAliasList(const picojson::value& args,
+ picojson::object& out) {
+ LoggerD("Enter");
+ CKM::AliasVector result;
+ int ret = CKM::Manager::create()->getKeyAliasVector(result);
+ if (ret != CKM_API_SUCCESS) {
+ LoggerE("Failed to fetch list of key alias: %d", ret);
+ ReportError(common::PlatformResult(common::ErrorCode::UNKNOWN_ERR,
+ "Failed to fetch list of key alias"), &out);
+ } else {
+ picojson::array aliases;
+ for (auto& item: result) {
+ aliases.push_back(picojson::value(item));
+ }
+ picojson::value res(aliases);
+ ReportSuccess(res, out);
+ }
+}
+
} // namespace keymanager
} // namespace extension
diff --git a/src/keymanager/keymanager_instance.h b/src/keymanager/keymanager_instance.h
index 2a67e02..b34fce0 100644
--- a/src/keymanager/keymanager_instance.h
+++ b/src/keymanager/keymanager_instance.h
@@ -15,6 +15,7 @@ class KeyManagerInstance : public common::ParsedInstance {
KeyManagerInstance();
virtual ~KeyManagerInstance();
private:
+ void GetKeyAliasList(picojson::value const& args, picojson::object& out);
};
} // namespace keymanager