[KeyManager] remove() implementation.
authorTomasz Marciniak <t.marciniak@samsung.com>
Wed, 1 Jul 2015 10:26:18 +0000 (12:26 +0200)
committerPawel Andruszkiewicz <p.andruszkie@samsung.com>
Wed, 1 Jul 2015 11:06:31 +0000 (20:06 +0900)
[Verification] Code compiles without errors.

Change-Id: Idc3a371603b1c50dd2d0f029378d7e48090bd063
Signed-off-by: Tomasz Marciniak <t.marciniak@samsung.com>
src/keymanager/keymanager_api.js
src/keymanager/keymanager_instance.cc
src/keymanager/keymanager_instance.h

index f63a53ae3bf0915817d2efe94920f0a071478a38..af55c9ae54fd502e2326df5471fab5d5783e0ef2 100755 (executable)
@@ -134,8 +134,8 @@ Key.prototype.save = function() {
 
 Key.prototype.remove = function() {
   xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.KEYMANAGER);
-  var ret = native.callSync('KeyManager_removeKey', {
-    key: this
+  var ret = native.callSync('KeyManager_removeAlias', {
+    alias: this.name
   });
   if (native.isFailure(ret)) {
     throw native.getErrorObject(ret);
@@ -239,8 +239,8 @@ Certificate.prototype.loadFromFile = function() {
 
 Certificate.prototype.remove = function() {
   xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.KEYMANAGER);
-  var ret = native.callSync('KeyManager_removeCertificate', {
-    certificate: this
+  var ret = native.callSync('KeyManager_removeAlias', {
+    alias: this.name
   });
   if (native.isFailure(ret)) {
     throw native.getErrorObject(ret);
@@ -304,8 +304,8 @@ Data.prototype.save = function() {
 
 Data.prototype.remove = function() {
   xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.KEYMANAGER);
-  var ret = native.callSync('KeyManager_removeData', {
-    data: this
+  var ret = native.callSync('KeyManager_removeAlias', {
+    alias: this.name
   });
   if (native.isFailure(ret)) {
     throw native.getErrorObject(ret);
index 597ce374ff81034836226a837d43ba4131f4ef43..ea0c06b6cae9c575b49066df02e107539165632e 100755 (executable)
@@ -122,8 +122,8 @@ KeyManagerInstance::KeyManagerInstance() {
       std::bind(&KeyManagerInstance::GetKey, this, _1, _2));
   RegisterSyncHandler("KeyManager_saveKey",
       std::bind(&KeyManagerInstance::SaveKey, this, _1, _2));
-  RegisterSyncHandler("KeyManager_removeKey",
-      std::bind(&KeyManagerInstance::RemoveKey, this, _1, _2));
+  RegisterSyncHandler("KeyManager_removeAlias",
+      std::bind(&KeyManagerInstance::RemoveAlias, this, _1, _2));
   RegisterSyncHandler("KeyManager_generateKeyPair",
       std::bind(&KeyManagerInstance::GenerateKeyPair, this, _1, _2));
   RegisterSyncHandler("KeyManager_getCertificate",
@@ -132,12 +132,8 @@ KeyManagerInstance::KeyManagerInstance() {
       std::bind(&KeyManagerInstance::SaveCertificate, this, _1, _2));
   RegisterSyncHandler("KeyManager_loadCertificateFromFile",
       std::bind(&KeyManagerInstance::LoadCertificateFromFile, this, _1, _2));
-  RegisterSyncHandler("KeyManager_removeCertificate",
-      std::bind(&KeyManagerInstance::RemoveCertificate, this, _1, _2));
   RegisterSyncHandler("KeyManager_saveData",
       std::bind(&KeyManagerInstance::SaveData, this, _1, _2));
-  RegisterSyncHandler("KeyManager_removeData",
-      std::bind(&KeyManagerInstance::RemoveData, this, _1, _2));
   RegisterSyncHandler("KeyManager_getData",
       std::bind(&KeyManagerInstance::GetData, this, _1, _2));
   RegisterSyncHandler("KeyManager_createSignature",
@@ -234,9 +230,29 @@ void KeyManagerInstance::SaveKey(const picojson::value& args,
       std::shared_ptr<picojson::value>(new picojson::value(picojson::object())));
 }
 
-void KeyManagerInstance::RemoveKey(const picojson::value& args,
+void KeyManagerInstance::RemoveAlias(const picojson::value& args,
                                    picojson::object& out) {
   LoggerD("Enter");
+
+  const std::string& alias = args.get("alias").get<std::string>();
+  int ret = ckmc_remove_alias(alias.c_str());
+
+  if (CKMC_ERROR_NONE != ret) {
+    PlatformResult result = PlatformResult(ErrorCode::NO_ERROR);
+    switch(ret) {
+      case CKMC_ERROR_INVALID_PARAMETER:
+        result = PlatformResult(ErrorCode::INVALID_VALUES_ERR, "Invalid parameter passed");
+        break;
+      case CKMC_ERROR_DB_ALIAS_UNKNOWN:
+        result = PlatformResult(ErrorCode::NOT_FOUND_ERR, "Alias not found");
+        break;
+      default:
+        result = PlatformResult(ErrorCode::UNKNOWN_ERR, "Failed to remove alias");
+    }
+    ReportError(result, &out);
+  } else {
+    ReportSuccess(out);
+  }
 }
 
 void KeyManagerInstance::GenerateKeyPair(const picojson::value& args,
@@ -366,21 +382,11 @@ void KeyManagerInstance::LoadCertificateFromFile(const picojson::value& args,
   LoggerD("Enter");
 }
 
-void KeyManagerInstance::RemoveCertificate(const picojson::value& args,
-                                           picojson::object& out) {
-  LoggerD("Enter");
-}
-
 void KeyManagerInstance::SaveData(const picojson::value& args,
                                   picojson::object& out) {
   LoggerD("Enter");
 }
 
-void KeyManagerInstance::RemoveData(const picojson::value& args,
-                                    picojson::object& out) {
-  LoggerD("Enter");
-}
-
 void KeyManagerInstance::GetData(const picojson::value& args,
                                  picojson::object& out) {
   LoggerD("Enter");
index 500e89f94d264344c61271ded8bff5d8a8a6a7a8..dfc1a235d557434c2f0636de9c6a0053b6da79f6 100755 (executable)
@@ -34,15 +34,13 @@ class KeyManagerInstance : public common::ParsedInstance {
   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);
+  void RemoveAlias(const picojson::value& args, picojson::object& out);
   void GenerateKeyPair(const picojson::value& args, picojson::object& out);
   void GetCertificate(const picojson::value& args, picojson::object& out);
   void SaveCertificate(const picojson::value& args, picojson::object& out);
   void LoadCertificateFromFile(const picojson::value& args,
                                picojson::object& out);
-  void RemoveCertificate(const picojson::value& args, picojson::object& out);
   void SaveData(const picojson::value& args, picojson::object& out);
-  void RemoveData(const picojson::value& args, picojson::object& out);
   void GetData(const picojson::value& args, picojson::object& out);
   void CreateSignature(const picojson::value& args, picojson::object& out);
   void VerifySignature(const picojson::value& args, picojson::object& out);