2 * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
17 ///////////////////////////////////////////////////////////////////////////////
18 /// \ingroup tag_StateMachine
21 /// This file has the CFrameworkunifiedGuard class definitions. This is an interface that defines the Evaluate
22 /// interface for guard condition validation.
24 ///////////////////////////////////////////////////////////////////////////////
27 * @file frameworkunified_sm_guard.h
28 * @brief \~english This file has the CFrameworkunifiedGuard class definitions.
31 /** @addtogroup BaseSystem
34 /** @addtogroup native_service
38 /** @addtogroup framework_unified
39 * @ingroup native_service
42 /** @addtogroup framework
43 * @ingroup framework_unified
46 /** @addtogroup statemachine
50 #ifndef _FRAMEWORKUNIFIEDGUARD_H // NOLINT (build/header_guard)
51 #define _FRAMEWORKUNIFIEDGUARD_H
53 #include <native_service/frameworkunified_types.h>
59 * \~english @brief this file has the CFrameworkunifiedGuard class definitions
60 * \~english @par Brief Introduction
61 * This file has the CFrameworkunifiedGuard class definitions. This is an interface \n
62 * that defines the Evaluate interface for guard condition validation.
65 class CFrameworkunifiedGuard {
67 /////////////////////////////////////////////////////////////////////////////////////
68 /// \ingroup CFrameworkunifiedGuard
69 /// \~english @par Brief
70 /// CFrameworkunifiedGuard's constructor
71 /// \~english @param [in] f_strName
72 /// string - Name of the guard
73 /// \~english @retval none
74 /// \~english @par Preconditons
76 /// \~english @par Change of internal status
78 /// \~english @par Conditions of processing failure
80 /// \~english @par Detail
81 /// - CFrameworkunifiedGuard's constructor
82 /// \~english @par Classification
84 /// \~english @par Type
86 /// \~english @see ~CFrameworkunifiedGuard
87 ////////////////////////////////////////////////////////////////////////////////////
88 CFrameworkunifiedGuard(std::string f_strName); // NOLINT (readability/nolint)
90 /////////////////////////////////////////////////////////////////////////////////////
91 /// \ingroup ~CFrameworkunifiedGuard
92 /// \~english @par Brief
93 /// - Destructor of CFrameworkunifiedGuard class
94 /// \~english @param None
95 /// \~english @retval none
96 /// \~english @par Preconditons
97 /// - Calls constructor to successfully create object.
98 /// \~english @par Change of internal status
100 /// \~english @par Conditions of processing failure
102 /// \~english @par Detail
103 /// - Destruct the object of this class.
104 /// \~english @par Classification
106 /// \~english @par Type
108 /// \~english @see CFrameworkunifiedGuard
109 ////////////////////////////////////////////////////////////////////////////////////
110 virtual ~CFrameworkunifiedGuard();
112 /////////////////////////////////////////////////////////////////////////////////////
113 /// \ingroup CFrameworkunifiedGuard
114 /// \~english @par Brief
115 /// This is a pure virtual function that defines the logic for evaluating the guard condition
116 /// \~english @param None
117 /// \~english @retval TRUE - if test passes
118 /// \~english @retval FALSE - otherwise returns false
119 /// \~english @par Preconditons
121 /// \~english @par Change of internal status
123 /// \~english @par Conditions of processing failure
125 /// \~english @par Detail
126 /// - This is a pure virtual function that defines the logic for evaluating the guard condition
127 /// \~english @par Classification
129 /// \~english @par Type
131 /// \~english @see None
132 ////////////////////////////////////////////////////////////////////////////////////
133 virtual BOOL FrameworkunifiedEvaluate() = 0;
136 std::string m_strName;
139 #endif // _FRAMEWORKUNIFIEDGUARD_H // NOLINT (build/header_guard)