Deduplicate client manager impl deserialization 51/242551/4
authorKonrad Lipinski <k.lipinski2@samsung.com>
Thu, 27 Aug 2020 15:21:41 +0000 (17:21 +0200)
committerKonrad Lipinski <k.lipinski2@samsung.com>
Mon, 14 Sep 2020 13:17:02 +0000 (15:17 +0200)
Change-Id: I9205aac1c97dd1d9a4f16caffdd24e6e7b1f2b85

src/manager/client/client-manager-impl.cpp

index 3bbdcc3..3a2994a 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2014 - 2020 Samsung Electronics Co., Ltd All Rights Reserved
+/* Copyright (c) 2014-2020 Samsung Electronics Co., Ltd. All rights reserved
  *
  *  Licensed under the Apache License, Version 2.0 (the "License");
  *  you may not use this file except in compliance with the License.
 namespace CKM {
 
 namespace {
+template <class...T>
+int deserialize(const int msgId, MessageBuffer &recv, T&&...t)
+{
+       int retMsgId, retCode;
+       recv.Deserialize(retMsgId, retCode, std::forward<T>(t)...);
+       return msgId != retMsgId ? CKM_API_ERROR_UNKNOWN : retCode;
+}
+
 template <class T>
 int getCertChain(
        ServiceConnection &serviceConnection,
@@ -61,12 +69,8 @@ int getCertChain(
        if (CKM_API_SUCCESS != retCode)
                return retCode;
 
-       int retMsgId;
        RawBufferVector rawBufferVector;
-       recv.Deserialize(retMsgId, retCode, rawBufferVector);
-
-       if (msgId != retMsgId)
-               return CKM_API_ERROR_UNKNOWN;
+       retCode = deserialize(msgId, recv, rawBufferVector);
 
        if (retCode != CKM_API_SUCCESS)
                return retCode;
@@ -124,14 +128,8 @@ int Manager::Impl::saveBinaryData(
        if (CKM_API_SUCCESS != retCode)
                return retCode;
 
-       int retMsgId;
        int opType;
-       recv.Deserialize(retMsgId, retCode, opType);
-
-       if (retMsgId != msgId)
-               return CKM_API_ERROR_UNKNOWN;
-
-       return retCode;
+       return deserialize(msgId, recv, opType);
 
        EXCEPTION_GUARD_END
 }
@@ -199,13 +197,7 @@ int Manager::Impl::savePKCS12(
        if (CKM_API_SUCCESS != retCode)
                return retCode;
 
-       int retMsgId;
-       recv.Deserialize(retMsgId, retCode);
-
-       if (retMsgId != msgId)
-               return CKM_API_ERROR_UNKNOWN;
-
-       return retCode;
+       return deserialize(msgId, recv);
 
        EXCEPTION_GUARD_END
 }
@@ -275,13 +267,7 @@ int Manager::Impl::removeAlias(const Alias &alias)
        if (CKM_API_SUCCESS != retCode)
                return retCode;
 
-       int retMsgId;
-       recv.Deserialize(retMsgId, retCode);
-
-       if (retMsgId != msgId)
-               return CKM_API_ERROR_UNKNOWN;
-
-       return retCode;
+       return deserialize(msgId, recv);
 
        EXCEPTION_GUARD_END
 }
@@ -314,13 +300,7 @@ int Manager::Impl::getBinaryData(
        if (CKM_API_SUCCESS != retCode)
                return retCode;
 
-       int retMsgId;
-       recv.Deserialize(retMsgId, retCode, recvDataType, rawData);
-
-       if (retMsgId != msgId)
-               return CKM_API_ERROR_UNKNOWN;
-
-       return retCode;
+       return deserialize(msgId, recv, recvDataType, rawData);
 
        EXCEPTION_GUARD_END
 }
@@ -349,13 +329,9 @@ int Manager::Impl::getBinaryDataEncryptionStatus(const DataType sendDataType,
        if (CKM_API_SUCCESS != retCode)
                return retCode;
 
-       int retMsgId;
        DataType tmpDataType;
        bool passwordProtectionStatus;
-       recv.Deserialize(retMsgId, retCode, tmpDataType, passwordProtectionStatus);
-
-       if (retMsgId != msgId)
-               return CKM_API_ERROR_UNKNOWN;
+       retCode = deserialize(msgId, recv, tmpDataType, passwordProtectionStatus);
 
        if (retCode != CKM_API_SUCCESS) {
                return retCode;
@@ -620,13 +596,7 @@ int Manager::Impl::createKeyAES(
        if (CKM_API_SUCCESS != retCode)
                return retCode;
 
-       int retMsgId;
-       recv.Deserialize(retMsgId, retCode);
-
-       if (retMsgId != msgId)
-               return CKM_API_ERROR_UNKNOWN;
-
-       return retCode;
+       return deserialize(msgId, recv);
 
        EXCEPTION_GUARD_END
 }
@@ -689,13 +659,7 @@ int Manager::Impl::createKeyPair(
        if (CKM_API_SUCCESS != retCode)
                return retCode;
 
-       int retMsgId;
-       recv.Deserialize(retMsgId, retCode);
-
-       if (retMsgId != msgId)
-               return CKM_API_ERROR_UNKNOWN;
-
-       return retCode;
+       return deserialize(msgId, recv);
 
        EXCEPTION_GUARD_END
 }
@@ -796,13 +760,7 @@ int Manager::Impl::createSignature(
        if (CKM_API_SUCCESS != retCode)
                return retCode;
 
-       int retMsgId;
-       recv.Deserialize(retMsgId, retCode, signature);
-
-       if (retMsgId != msgId)
-               return CKM_API_ERROR_UNKNOWN;
-
-       return retCode;
+       return deserialize(msgId, recv, signature);
 
        EXCEPTION_GUARD_END
 }
@@ -834,13 +792,7 @@ int Manager::Impl::verifySignature(
        if (CKM_API_SUCCESS != retCode)
                return retCode;
 
-       int retMsgId;
-       recv.Deserialize(retMsgId, retCode);
-
-       if (retMsgId != msgId)
-               return CKM_API_ERROR_UNKNOWN;
-
-       return retCode;
+       return deserialize(msgId, recv);
 
        EXCEPTION_GUARD_END
 }
@@ -871,13 +823,7 @@ int Manager::Impl::ocspCheck(const CertificateShPtrVector &certChain,
        if (CKM_API_SUCCESS != retCode)
                return retCode;
 
-       int retMsgId;
-       recv.Deserialize(retMsgId, retCode, ocspStatus);
-
-       if (msgId != retMsgId)
-               return CKM_API_ERROR_UNKNOWN;
-
-       return retCode;
+       return deserialize(msgId, recv, ocspStatus);
 
        EXCEPTION_GUARD_END
 }
@@ -904,13 +850,7 @@ int Manager::Impl::setPermission(const Alias &alias,
        if (CKM_API_SUCCESS != retCode)
                return retCode;
 
-       int retMsgId;
-       recv.Deserialize(retMsgId, retCode);
-
-       if (msgId != retMsgId)
-               return CKM_API_ERROR_UNKNOWN;
-
-       return retCode;
+       return deserialize(msgId, recv);
 
        EXCEPTION_GUARD_END
 }
@@ -942,13 +882,7 @@ int Manager::Impl::crypt(EncryptionCommand command,
        if (CKM_API_SUCCESS != retCode)
                return retCode;
 
-       int retMsgId;
-       recv.Deserialize(retMsgId, retCode, output);
-
-       if (msgId != retMsgId)
-               return CKM_API_ERROR_UNKNOWN;
-
-       return retCode;
+       return deserialize(msgId, recv, output);
 
        EXCEPTION_GUARD_END
 }