Add base class (Cynara::Exception) for all exceptions
authorAleksander Zdyb <a.zdyb@partner.samsung.com>
Fri, 13 Jun 2014 07:17:14 +0000 (09:17 +0200)
committerRafal Krypa <r.krypa@samsung.com>
Thu, 3 Jul 2014 12:19:09 +0000 (14:19 +0200)
Change-Id: I21c59558b4d2696907cfc69b4fac952d6b875e85

src/common/exceptions/BucketAlreadyExistsException.h
src/common/exceptions/BucketNotExistsException.h
src/common/exceptions/DefaultBucketDeletionException.h
src/common/exceptions/Exception.h [new file with mode: 0644]
src/common/exceptions/NotImplementedException.h

index b9fd569..5fbdbe9 100644 (file)
  * @brief       Implementation of BucketAlreadyExistsException
  */
 
-#ifndef BUCKETALREADYEXISTS_H
-#define BUCKETALREADYEXISTS_H
+#ifndef SRC_COMMON_EXCEPTIONS_BUCKETALREADYEXISTSEXCEPTION_H_
+#define SRC_COMMON_EXCEPTIONS_BUCKETALREADYEXISTSEXCEPTION_H_
 
+#include "Exception.h"
 #include "types/PolicyBucketId.h"
 
 #include <exception>
 
 namespace Cynara {
 
-class BucketAlreadyExistsException : public std::exception {
+class BucketAlreadyExistsException : public Exception {
 public:
-    BucketAlreadyExistsException(const PolicyBucketId &bucketId) : m_bucketId(bucketId) {
-    }
+    BucketAlreadyExistsException() = delete;
+    BucketAlreadyExistsException(const PolicyBucketId &bucketId) : m_bucketId(bucketId) {}
+    virtual ~BucketAlreadyExistsException() = default;
 
 private:
     PolicyBucketId m_bucketId;
+
+public:
+    const PolicyBucketId &bucketId() const {
+        return m_bucketId;
+    }
 };
 
 } /* namespace Cynara */
 
-#endif // BUCKETALREADYEXISTS_H
+#endif // SRC_COMMON_EXCEPTIONS_BUCKETALREADYEXISTSEXCEPTION_H_
index 4f1fbe9..c1668a6 100644 (file)
  * @brief       Implementation of BucketNotExistsException
  */
 
-#ifndef BUCKETNOTEXISTSEXCEPTION_H_
-#define BUCKETNOTEXISTSEXCEPTION_H_
+#ifndef SRC_COMMON_EXCEPTIONS_BUCKETNOTEXISTSEXCEPTION_H_
+#define SRC_COMMON_EXCEPTIONS_BUCKETNOTEXISTSEXCEPTION_H_
 
+#include "Exception.h"
 #include "types/PolicyBucketId.h"
 
 #include <exception>
 
 namespace Cynara {
 
-class BucketNotExistsException : public std::exception {
+class BucketNotExistsException : public Exception {
 public:
-    BucketNotExistsException(const PolicyBucketId &bucketId) : m_bucketId(bucketId) {
-
-    }
+    BucketNotExistsException() = delete;
+    BucketNotExistsException(const PolicyBucketId &bucketId) : m_bucketId(bucketId) {}
+    virtual ~BucketNotExistsException() = default;
 
 private:
     PolicyBucketId m_bucketId;
+
+public:
+    const PolicyBucketId &bucketId() const {
+        return m_bucketId;
+    }
 };
 
 } /* namespace Cynara */
 
 
-#endif /* BUCKETNOTEXISTSEXCEPTION_H_ */
+#endif /* SRC_COMMON_EXCEPTIONS_BUCKETNOTEXISTSEXCEPTION_H_ */
index af05475..18101e7 100644 (file)
  * @brief       Implementation of DefaultBucketDeletionException
  */
 
-#ifndef DEFAULTBUCKETDELETIONEXCEPTION_H
-#define DEFAULTBUCKETDELETIONEXCEPTION_H
+#ifndef SRC_COMMON_EXCEPTIONS_DEFAULTBUCKETDELETIONEXCEPTION_H_
+#define SRC_COMMON_EXCEPTIONS_DEFAULTBUCKETDELETIONEXCEPTION_H_
+
+#include "Exception.h"
 
 #include <exception>
 
 namespace Cynara {
 
-class DefaultBucketDeletionException : public std::exception {
-
+class DefaultBucketDeletionException : public Exception {
+public:
+    DefaultBucketDeletionException() = default;
+    virtual ~DefaultBucketDeletionException() = default;
 };
 
 } /* namespace Cynara */
 
-#endif // DEFAULTBUCKETDELETIONEXCEPTION_H
+#endif // SRC_COMMON_EXCEPTIONS_DEFAULTBUCKETDELETIONEXCEPTION_H_
diff --git a/src/common/exceptions/Exception.h b/src/common/exceptions/Exception.h
new file mode 100644 (file)
index 0000000..b4d11b5
--- /dev/null
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2014 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.
+ *    You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+/*
+ * @file        Exception.h
+ * @author      Aleksander Zdyb <a.zdyb@partner.samsung.com>
+ * @version     1.0
+ * @brief       Header for generic Cynara exception
+ */
+#ifndef SRC_COMMON_EXCEPTIONS_EXCEPTION_H_
+#define SRC_COMMON_EXCEPTIONS_EXCEPTION_H_
+
+#include <exception>
+
+namespace Cynara {
+
+class Exception : public std::exception {
+public:
+    Exception() = default;
+    virtual ~Exception() = default;
+};
+
+} /* namespace Cynara */
+
+#endif /* SRC_COMMON_EXCEPTIONS_EXCEPTION_H_ */
index 12995d5..90fa586 100644 (file)
  * @brief       Implementation of NotImplementedException
  */
 
-#ifndef NOTIMPLEMENTEDEXCEPTION_H_
-#define NOTIMPLEMENTEDEXCEPTION_H_
+#ifndef SRC_COMMON_EXCEPTIONS_NOTIMPLEMENTEDEXCEPTION_H_
+#define SRC_COMMON_EXCEPTIONS_NOTIMPLEMENTEDEXCEPTION_H_
+
+#include "Exception.h"
 
 #include <exception>
 
 namespace Cynara {
 
-class NotImplementedException : public std::exception {
-
+class NotImplementedException : public Exception {
+public:
+    NotImplementedException() = default;
+    virtual ~NotImplementedException() = default;
 };
 
+} /* namespace Cynara */
 
-}
-
-#endif /* NOTIMPLEMENTEDEXCEPTION_H_ */
+#endif /* SRC_COMMON_EXCEPTIONS_NOTIMPLEMENTEDEXCEPTION_H_ */