summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafal Krypa <r.krypa@samsung.com>2015-04-17 11:18:32 +0200
committerRafal Krypa <r.krypa@samsung.com>2015-04-17 11:18:32 +0200
commit57fd245f1331b42917f2875241b617b4e2515b83 (patch)
treeaa380b8e3800c922544c7082f83bc68e98cd65cc
parent9703e341cc614b519a3a57d9356c6e8d3ca2cc1a (diff)
downloadsecurity-manager-57fd245f1331b42917f2875241b617b4e2515b83.tar.gz
security-manager-57fd245f1331b42917f2875241b617b4e2515b83.tar.bz2
security-manager-57fd245f1331b42917f2875241b617b4e2515b83.zip
cynara: handle additional error codes from Cynara API
These error codes appeared in Cynara API after security-manager was integrated with it. Change-Id: Iba495040bd8bbb9a879a0fd27e880bb7547ed583 Signed-off-by: Rafal Krypa <r.krypa@samsung.com>
-rw-r--r--src/common/cynara.cpp8
-rw-r--r--src/common/include/cynara.h6
2 files changed, 13 insertions, 1 deletions
diff --git a/src/common/cynara.cpp b/src/common/cynara.cpp
index 29b06bca..14acb360 100644
--- a/src/common/cynara.cpp
+++ b/src/common/cynara.cpp
@@ -212,12 +212,20 @@ static bool checkCynaraError(int result, const std::string &msg)
return true;
case CYNARA_API_ACCESS_DENIED:
return false;
+ case CYNARA_API_MAX_PENDING_REQUESTS:
+ ThrowMsg(CynaraException::MaxPendingRequests, msg);
case CYNARA_API_OUT_OF_MEMORY:
ThrowMsg(CynaraException::OutOfMemory, msg);
case CYNARA_API_INVALID_PARAM:
ThrowMsg(CynaraException::InvalidParam, msg);
case CYNARA_API_SERVICE_NOT_AVAILABLE:
ThrowMsg(CynaraException::ServiceNotAvailable, msg);
+ case CYNARA_API_METHOD_NOT_SUPPORTED:
+ ThrowMsg(CynaraException::MethodNotSupported, msg);
+ case CYNARA_API_OPERATION_NOT_ALLOWED:
+ ThrowMsg(CynaraException::OperationNotAllowed, msg);
+ case CYNARA_API_OPERATION_FAILED:
+ ThrowMsg(CynaraException::OperationFailed, msg);
case CYNARA_API_BUCKET_NOT_FOUND:
ThrowMsg(CynaraException::BucketNotFound, msg);
default:
diff --git a/src/common/include/cynara.h b/src/common/include/cynara.h
index a75e4143..3e9a8186 100644
--- a/src/common/include/cynara.h
+++ b/src/common/include/cynara.h
@@ -51,11 +51,15 @@ class CynaraException
{
public:
DECLARE_EXCEPTION_TYPE(SecurityManager::Exception, Base)
+ DECLARE_EXCEPTION_TYPE(Base, MaxPendingRequests)
DECLARE_EXCEPTION_TYPE(Base, OutOfMemory)
DECLARE_EXCEPTION_TYPE(Base, InvalidParam)
DECLARE_EXCEPTION_TYPE(Base, ServiceNotAvailable)
- DECLARE_EXCEPTION_TYPE(Base, UnknownError)
+ DECLARE_EXCEPTION_TYPE(Base, MethodNotSupported)
+ DECLARE_EXCEPTION_TYPE(Base, OperationNotAllowed)
+ DECLARE_EXCEPTION_TYPE(Base, OperationFailed)
DECLARE_EXCEPTION_TYPE(Base, BucketNotFound)
+ DECLARE_EXCEPTION_TYPE(Base, UnknownError)
};
struct CynaraAdminPolicy : cynara_admin_policy