From 57fd245f1331b42917f2875241b617b4e2515b83 Mon Sep 17 00:00:00 2001 From: Rafal Krypa Date: Fri, 17 Apr 2015 11:18:32 +0200 Subject: [PATCH 1/1] 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 --- src/common/cynara.cpp | 8 ++++++++ src/common/include/cynara.h | 6 +++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/common/cynara.cpp b/src/common/cynara.cpp index 29b06bc..14acb36 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 a75e414..3e9a818 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 -- 2.7.4