C++ API change: common method for removing Alias.
authorMaciej J. Karpiuk <m.karpiuk2@samsung.com>
Fri, 14 Nov 2014 10:15:15 +0000 (11:15 +0100)
committerMaciej J. Karpiuk <m.karpiuk2@samsung.com>
Tue, 17 Feb 2015 10:18:55 +0000 (11:18 +0100)
No need to deliver separate methods to remove keys, certs or data.
Item is unambiguosly identified by <name, label> pair.

Change-Id: Ice2c418d66fd4f4b776ac752d8d5c6a779ad3b5a

12 files changed:
src/include/ckm/ckm-manager-async.h
src/include/ckm/ckm-manager.h
src/manager/client-async/client-manager-async-impl.cpp
src/manager/client-async/client-manager-async-impl.h
src/manager/client-async/client-manager-async.cpp
src/manager/client-async/storage-receiver.cpp
src/manager/client-capi/ckmc-manager.cpp
src/manager/client/client-manager-impl.cpp
src/manager/client/client-manager-impl.h
src/manager/service/ckm-logic.cpp
src/manager/service/ckm-logic.h
src/manager/service/ckm-service.cpp

index 2df85df..48bca05 100644 (file)
@@ -51,9 +51,7 @@ public:
         virtual void ReceivedSaveCertificate() {}
         virtual void ReceivedSaveData() {}
 
-        virtual void ReceivedRemovedKey() {}
-        virtual void ReceivedRemovedCertificate() {}
-        virtual void ReceivedRemovedData() {}
+        virtual void ReceivedRemovedAlias() {}
 
         virtual void ReceivedKey(Key &&) {}
         virtual void ReceivedCertificate(Certificate &&) {}
@@ -99,9 +97,7 @@ public:
             const RawBuffer& data,
             const Policy& policy);
 
-    void removeKey(const ObserverPtr& observer, const Alias& alias);
-    void removeCertificate(const ObserverPtr& observer, const Alias& alias);
-    void removeData(const ObserverPtr& observer, const Alias& alias);
+    void removeAlias(const ObserverPtr& observer, const Alias& alias);
 
     void getKey(const ObserverPtr& observer, const Alias& alias, const Password& password);
     void getCertificate(const ObserverPtr& observer, const Alias& alias, const Password& password);
index ac1f72b..53363d8 100644 (file)
@@ -43,14 +43,12 @@ public:
     virtual int saveCertificate(const Alias &alias, const CertificateShPtr &cert, const Policy &policy) = 0;
 
     /*
-     * Data must be extractable. If you set extractable bit to false funciton will
+     * Data must be extractable. If you set extractable bit to false function will
      * return ERROR_INPUT_PARAM.
      */
     virtual int saveData(const Alias &alias, const RawBuffer &data, const Policy &policy) = 0;
 
-    virtual int removeKey(const Alias &alias) = 0;
-    virtual int removeCertificate(const Alias &alias) = 0;
-    virtual int removeData(const Alias &alias) = 0;
+    virtual int removeAlias(const Alias &alias) = 0;
 
     virtual int getKey(const Alias &alias, const Password &password, KeyShPtr &key) = 0;
     virtual int getCertificate(
index 38b2681..e23eca8 100644 (file)
@@ -97,9 +97,8 @@ void ManagerAsync::Impl::saveBinaryData(const ManagerAsync::ObserverPtr& observe
     }, [&observer](int error){ observer->ReceivedError(error); } );
 }
 
-void ManagerAsync::Impl::removeBinaryData(const ManagerAsync::ObserverPtr& observer,
-                                          const Alias& alias,
-                                          DBDataType dataType)
+void ManagerAsync::Impl::removeAlias(const ManagerAsync::ObserverPtr& observer,
+                                     const Alias& alias)
 {
     observerCheck(observer);
     if (alias.empty()) {
@@ -111,7 +110,6 @@ void ManagerAsync::Impl::removeBinaryData(const ManagerAsync::ObserverPtr& obser
         sendToStorage(observer,
                       static_cast<int>(LogicCommand::REMOVE),
                       m_counter,
-                      static_cast<int>(dataType),
                       helper.getName(),
                       helper.getLabel());
     }, [&observer](int error){ observer->ReceivedError(error); } );
index b41d3d4..b3aea30 100644 (file)
@@ -88,10 +88,9 @@ public:
             const RawBuffer& rawData,
             const Policy& policy);
 
-    void removeBinaryData(
+    void removeAlias(
             const ManagerAsync::ObserverPtr& observer,
-            const Alias &alias,
-            DBDataType dataType);
+            const Alias &alias);
 
     void getBinaryData(
             const ManagerAsync::ObserverPtr& observer,
index e1bc5ec..75c7684 100644 (file)
@@ -58,19 +58,9 @@ void ManagerAsync::saveData(const ObserverPtr& observer,
     m_impl->saveData(observer, alias, data, policy);
 }
 
-void ManagerAsync::removeKey(const ObserverPtr& observer, const Alias& alias)
+void ManagerAsync::removeAlias(const ObserverPtr& observer, const Alias& alias)
 {
-    m_impl->removeBinaryData(observer, alias, DBDataType::DB_KEY_FIRST);
-}
-
-void ManagerAsync::removeCertificate(const ObserverPtr& observer, const Alias& alias)
-{
-    m_impl->removeBinaryData(observer, alias, DBDataType::CERTIFICATE);
-}
-
-void ManagerAsync::removeData(const ObserverPtr& observer, const Alias& alias)
-{
-    m_impl->removeBinaryData(observer, alias, DBDataType::BINARY_DATA);
+    m_impl->removeAlias(observer, alias);
 }
 
 void ManagerAsync::getKey(const ObserverPtr& observer, const Alias& alias, const Password& password)
index 8ca5717..e9c5183 100644 (file)
@@ -213,8 +213,8 @@ void StorageReceiver::parseSaveCommand()
 
 void StorageReceiver::parseRemoveCommand()
 {
-    int dataType = 0, retCode = 0;
-    m_buffer.Deserialize(retCode, dataType);
+    int retCode = 0;
+    m_buffer.Deserialize(retCode);
 
     // check error code
     if (retCode != CKM_API_SUCCESS) {
@@ -222,18 +222,7 @@ void StorageReceiver::parseRemoveCommand()
          return;
     }
 
-    switch(type(dataType))
-    {
-    case DataType::KEY:
-        m_observer->ReceivedSaveKey();
-        break;
-    case DataType::CERT:
-        m_observer->ReceivedSaveCertificate();
-        break;
-    case DataType::DATA:
-        m_observer->ReceivedSaveData();
-        break;
-    }
+    m_observer->ReceivedRemovedAlias();
 }
 
 void StorageReceiver::parseGetChainCertCommand()
index 86343ab..4a8cf82 100644 (file)
@@ -116,7 +116,7 @@ int ckmc_remove_key(const char *alias)
         return CKMC_ERROR_INVALID_PARAMETER;
     }
 
-    int ret =  mgr->removeKey(alias);
+    int ret =  mgr->removeAlias(alias);
     return to_ckmc_error(ret);
 }
 
@@ -217,7 +217,7 @@ int ckmc_remove_cert(const char *alias)
     }
 
     CKM::ManagerShPtr mgr = CKM::Manager::create();
-    int ret = mgr->removeCertificate(alias);
+    int ret = mgr->removeAlias(alias);
 
     return to_ckmc_error(ret);
 }
@@ -314,7 +314,7 @@ int ckmc_remove_data(const char *alias)
     }
 
     CKM::ManagerShPtr mgr = CKM::Manager::create();
-    int ret = mgr->removeData(alias);
+    int ret = mgr->removeAlias(alias);
     return to_ckmc_error(ret);
 }
 
index 7ce41da..c09d027 100644 (file)
@@ -101,7 +101,7 @@ int ManagerImpl::saveData(const Alias &alias, const RawBuffer &rawData, const Po
     return saveBinaryData(alias, DBDataType::BINARY_DATA, rawData, policy);
 }
 
-int ManagerImpl::removeBinaryData(const Alias &alias, DBDataType dataType)
+int ManagerImpl::removeAlias(const Alias &alias)
 {
     return try_catch([&] {
         if (alias.empty())
@@ -111,7 +111,6 @@ int ManagerImpl::removeBinaryData(const Alias &alias, DBDataType dataType)
         AliasSupport helper(alias);
         auto send = MessageBuffer::Serialize(static_cast<int>(LogicCommand::REMOVE),
                                              m_counter,
-                                             static_cast<int>(dataType),
                                              helper.getName(),
                                              helper.getLabel());
 
@@ -121,8 +120,7 @@ int ManagerImpl::removeBinaryData(const Alias &alias, DBDataType dataType)
 
         int command;
         int counter;
-        int opType;
-        recv.Deserialize(command, counter, retCode, opType);
+        recv.Deserialize(command, counter, retCode);
 
         if (counter != m_counter) {
             return CKM_API_ERROR_UNKNOWN;
@@ -132,18 +130,6 @@ int ManagerImpl::removeBinaryData(const Alias &alias, DBDataType dataType)
     });
 }
 
-int ManagerImpl::removeKey(const Alias &alias) {
-    return removeBinaryData(alias, DBDataType::KEY_RSA_PUBLIC);
-}
-
-int ManagerImpl::removeCertificate(const Alias &alias) {
-    return removeBinaryData(alias, DBDataType::CERTIFICATE);
-}
-
-int ManagerImpl::removeData(const Alias &alias) {
-    return removeBinaryData(alias, DBDataType::BINARY_DATA);
-}
-
 int ManagerImpl::getBinaryData(
     const Alias &alias,
     DBDataType sendDataType,
index d8e6dde..d584185 100644 (file)
@@ -34,20 +34,19 @@ public:
     virtual ~ManagerImpl(){}
 
     int saveKey(const Alias &alias, const KeyShPtr &key, const Policy &policy);
-    int removeKey(const Alias &alias);
     int getKey(const Alias &alias, const Password &password, KeyShPtr &key);
     int getKeyAliasVector(AliasVector &aliasVector);
 
     int saveCertificate(const Alias &alias, const CertificateShPtr &cert, const Policy &policy);
-    int removeCertificate(const Alias &alias);
     int getCertificate(const Alias &alias, const Password &password, CertificateShPtr &cert);
     int getCertificateAliasVector(AliasVector &aliasVector);
 
     int saveData(const Alias &alias, const RawBuffer &rawData, const Policy &policy);
-    int removeData(const Alias &alias);
     int getData(const Alias &alias, const Password &password, RawBuffer &cert);
     int getDataAliasVector(AliasVector &aliasVector);
 
+    int removeAlias(const Alias &alias);
+
     int createKeyPairRSA(
         const int size,              // size in bits [1024, 2048, 4096]
         const Alias &privateKeyAlias,
@@ -106,10 +105,6 @@ protected:
         const RawBuffer &rawData,
         const Policy &policy);
 
-    int removeBinaryData(
-        const Alias &alias,
-        DBDataType dataType);
-
     int getBinaryData(
         const Alias &alias,
         DBDataType sendDataType,
index 86ebf2b..c736ad4 100644 (file)
@@ -403,7 +403,6 @@ int CKMLogic::removeDataHelper(
 RawBuffer CKMLogic::removeData(
     const Credentials &cred,
     int commandId,
-    DBDataType dataType,
     const Name &name,
     const Label &label)
 {
@@ -420,8 +419,7 @@ RawBuffer CKMLogic::removeData(
 
     auto response = MessageBuffer::Serialize(static_cast<int>(LogicCommand::REMOVE),
                                              commandId,
-                                             retCode,
-                                             static_cast<int>(dataType));
+                                             retCode);
     return response.Pop();
 }
 
index 07944c4..0cbbb2b 100644 (file)
@@ -89,7 +89,6 @@ public:
     RawBuffer removeData(
         const Credentials &cred,
         int commandId,
-        DBDataType dataType,
         const Name &name,
         const Label &label);
 
index 7ca93e5..1a8cdaf 100644 (file)
@@ -201,11 +201,10 @@ RawBuffer CKMService::processStorage(Credentials &cred, MessageBuffer &buffer)
         }
         case LogicCommand::REMOVE:
         {
-            buffer.Deserialize(tmpDataType, name, label);
+            buffer.Deserialize(name, label);
             return m_logic->removeData(
                 cred,
                 msgID,
-                static_cast<DBDataType>(tmpDataType),
                 name,
                 label);
         }