Init basesystem source codes.
[staging/basesystem.git] / video_in_hal / nsframework / framework_unified / client / include / native_service / frameworkunified_framework_error.hpp
1 /*
2  * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 ///////////////////////////////////////////////////////////////////////////////
18 /// \ingroup  tag_NSFramework
19 /// \brief    This file provides framework's API which are used by system services.
20 ///////////////////////////////////////////////////////////////////////////////
21 //@{
22 /**
23  * @file frameworkunified_framework_error.hpp
24  * @brief \~english This file provides framework's API which are used by system services.
25  *
26  */
27 /** @addtogroup BaseSystem
28  *  @{
29  */
30 /** @addtogroup native_service
31  *  @ingroup BaseSystem
32  *  @{
33  */
34 /** @addtogroup framework_unified
35  *  @ingroup native_service
36  *  @{
37  */
38 /** @addtogroup framework
39  *  @ingroup native_service
40  *  @{
41  */
42 #ifndef __NATIVESERVICES_FRAMEWORK_FRAMEWORKUNIFIED_FRAMEWORK_ERROR_H__  // NOLINT  (build/header_guard)
43 #define __NATIVESERVICES_FRAMEWORK_FRAMEWORKUNIFIED_FRAMEWORK_ERROR_H__
44
45 #include <native_service/frameworkunified_types.h>
46 #include <stdexcept>
47
48 namespace frameworkunified {
49 namespace framework {
50 namespace error {
51
52 class error : public std::runtime_error {
53  public:
54   explicit error(EFrameworkunifiedStatus error, PCSTR errorMsg);
55  private:
56   const EFrameworkunifiedStatus m_error;
57 };
58
59 }
60 }
61 }
62
63 #define DEFINE_FRAMEWORKUNIFIED_ERROR( name ) \
64 class name : public framework_unified::framework::error::error \
65 { \
66 public: \
67   explicit name ( EFrameworkunifiedStatus error, PCSTR str ) \
68     : framework_unified::framework::error::error ( error, str ) \
69   {} \
70 }
71
72 #endif  // __NATIVESERVICES_FRAMEWORK_FRAMEWORKUNIFIED_FRAMEWORK_ERROR_H__ NOLINT  (build/header_guard)
73 /** @}*/
74 /** @}*/
75 /** @}*/
76 /** @}*/
77 //@}