summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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