Re-organized sub-directory by category
[staging/basesystem.git] / service / native / framework_unified / client / include / native_service / frameworkunified_sm_guard.h
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_StateMachine
19 /// \brief
20 ///
21 /// This file has the CFrameworkunifiedGuard class definitions. This is an interface that defines the Evaluate
22 /// interface for guard condition validation.
23 ///
24 ///////////////////////////////////////////////////////////////////////////////
25 //@{
26 /**
27  * @file frameworkunified_sm_guard.h
28  * @brief \~english This file has the CFrameworkunifiedGuard class definitions.
29  *
30  */
31 /** @addtogroup BaseSystem
32  *  @{
33  */
34 /** @addtogroup native_service
35  *  @ingroup BaseSystem
36  *  @{
37  */
38 /** @addtogroup framework_unified
39  *  @ingroup native_service
40  *  @{
41  */
42 /** @addtogroup framework
43  *  @ingroup framework_unified
44  *  @{
45  */
46 /** @addtogroup statemachine
47  *  @ingroup framework
48  *  @{
49  */
50 #ifndef _FRAMEWORKUNIFIEDGUARD_H  // NOLINT  (build/header_guard)
51 #define _FRAMEWORKUNIFIEDGUARD_H
52
53 #include <native_service/frameworkunified_types.h>
54 #include <string>
55
56
57 /**
58  * @class CNSSharedMem
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.
63  *
64  */
65 class CFrameworkunifiedGuard {
66  public :
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
75   ///           - None
76   /// \~english @par Change of internal status
77   ///           - None
78   /// \~english @par Conditions of processing failure
79   ///           - None
80   /// \~english @par Detail
81   ///           - CFrameworkunifiedGuard's constructor
82   /// \~english @par Classification
83   ///           - Public
84   /// \~english @par Type
85   ///           - Sync only
86   /// \~english @see ~CFrameworkunifiedGuard
87   ////////////////////////////////////////////////////////////////////////////////////
88   CFrameworkunifiedGuard(std::string f_strName);  // NOLINT  (readability/nolint)
89
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
99   ///           - None
100   /// \~english @par Conditions of processing failure
101   ///           - None
102   /// \~english @par Detail
103   ///           - Destruct the object of this class.
104   /// \~english @par Classification
105   ///           - Public
106   /// \~english @par Type
107   ///           - Sync only
108   /// \~english @see CFrameworkunifiedGuard
109   ////////////////////////////////////////////////////////////////////////////////////
110   virtual ~CFrameworkunifiedGuard();
111
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
120   ///           - None
121   /// \~english @par Change of internal status
122   ///           - None
123   /// \~english @par Conditions of processing failure
124   ///           - None
125   /// \~english @par Detail
126   ///           - This is a pure virtual function that defines the logic for evaluating the guard condition
127   /// \~english @par Classification
128   ///           - Public
129   /// \~english @par Type
130   ///           - Sync only
131   /// \~english @see None
132   ////////////////////////////////////////////////////////////////////////////////////
133   virtual BOOL FrameworkunifiedEvaluate() = 0;
134
135  private:
136   std::string m_strName;
137 };
138
139 #endif  // _FRAMEWORKUNIFIEDGUARD_H  // NOLINT  (build/header_guard)
140 /** @}*/
141 /** @}*/
142 /** @}*/
143 /** @}*/
144 /** @}*/
145 //@}