common_library: gettid is multiple declaration in cl_error
[staging/basesystem.git] / video_in_hal / nsframework / framework_unified / client / include / native_service / frameworkunified_sm_action.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_NSFramework
19 /// \brief    This file has class declaration of the CFrameworkunifiedAction. This is an
20 ///       interface class that defines interfaces for implementing action
21 ///
22 ///
23 ///
24 ///////////////////////////////////////////////////////////////////////////////
25 //@{
26 /**
27  * @file frameworkunified_sm_action.h
28  * @brief \~english This file has class declaration of the CFrameworkunifiedAction. This is an interface class that defines
29  *        interfaces for implementing action
30  *
31  */
32 /** @addtogroup BaseSystem
33  *  @{
34  */
35 /** @addtogroup native_service
36  *  @ingroup BaseSystem
37  *  @{
38  */
39 /** @addtogroup framework_unified
40  *  @ingroup native_service
41  *  @{
42  */
43 /** @addtogroup framework
44  *  @ingroup framework_unified
45  *  @{
46  */
47 /** @addtogroup statemachine
48  *  @ingroup framework
49  *  @{
50  */
51 #ifndef __FRAMEWORKUNIFIED_NATIVESERVICES_NSFRAMEWORKCORE_STATEMACHINE_INC_FRAMEWORKUNIFIEDSMACTION_H__  // NOLINT  (build/header_guard)
52 #define __FRAMEWORKUNIFIED_NATIVESERVICES_NSFRAMEWORKCORE_STATEMACHINE_INC_FRAMEWORKUNIFIEDSMACTION_H__
53
54 #include <native_service/frameworkunified_types.h>
55 #include <boost/smart_ptr.hpp>
56 #include <string>
57
58 class CFrameworkunifiedState;
59
60 class CEventData;
61 typedef boost::shared_ptr<CEventData> CEventDataPtr;
62
63 class CFrameworkunifiedAction {
64  public:
65   ///////////////////////////////////////////////////////////////////////////////////////////
66   /// \ingroup CFrameworkunifiedAction
67   /// \~english @par Brief
68   ///          Constructor for class CFrameworkunifiedAction.
69   /// \~english @param [in] f_strName
70   ///     std::string -Name of Action object
71   /// \~english @retval
72   /// \~english @par Prerequisite
73   ///            none
74   /// \~english @par Change of internal state
75   ///            none
76   /// \~english @par Conditions of processing failure
77   ///            none
78   /// \~english @par Detail
79   ///           Constructor of CFrameworkunifiedAction class. Create an object of CFrameworkunifiedAction. \n
80   ///           Initialize member value with name designated by f_strName. \n
81   /// \~english @par Classification
82   ///           public
83   /// \~english @par Type
84   ///           none
85   /// \~english @see ~CFrameworkunifiedAction
86   ///////////////////////////////////////////////////////////////////////////////////////////
87   CFrameworkunifiedAction(std::string f_strName);  // NOLINT  (readability/nolint)
88
89   ///////////////////////////////////////////////////////////////////////////////////////////
90   /// \ingroup CFrameworkunifiedAction
91   /// \~english @par Brief
92   ///        Destructor for CFrameworkunifiedAction
93   /// \~english @retval none
94   /// \~english @par Preconditons
95   ///                none
96   /// \~english @par Change of internal status
97   ///                none
98   /// \~english @par Conditions of processing failure
99   ///                none
100   /// \~english @par Detail
101   ///           Pure virtual function , implemented by child class
102   /// \~english @par Classification
103   ///           public
104   /// \~english @par Type
105   ///           none
106   /// \~english @see CFrameworkunifiedAction
107   ///////////////////////////////////////////////////////////////////////////////////////////
108   virtual ~CFrameworkunifiedAction() {
109   }
110
111   ////////////////////////////////////////////////////////////////////////////////////////////
112   /// \ingroup CFrameworkunifiedAction
113   /// \~english @par Brief
114   ///          Callback function of CFrameworkunifiedAction.(pure virtual function)
115   /// \~english @param [in] f_pSourceState
116   ///           CFrameworkunifiedState - pointer of source state
117   /// \~english @param [in] f_pTargetState
118   ///           CFrameworkunifiedState - pointer of target state
119   /// \~english @param [in] f_pData
120   ///           CEventDataPtr - pointer of event data
121   /// \~english @retval none
122   /// \~english @par Preconditons
123   ///        -  none
124   /// \~english @par Change of internal status
125   ///        -  none
126   /// \~english @par Conditions of processing failure
127   ///        - none
128   /// \~english @par Detail
129   ///          Callback function of CFrameworkunifiedAction.(pure virtual function)
130   ///          Implement action by subclass
131   /// \~english @par Classification
132   ///          public
133   /// \~english @par Type
134   ///          none
135   /// \~english @see none
136   ////////////////////////////////////////////////////////////////////////////////////////////
137   virtual VOID FrameworkunifiedAction(CFrameworkunifiedState *f_pSourceState, CFrameworkunifiedState *f_pTargetState,
138                          CEventDataPtr f_pData) = 0;
139
140   // action name
141   std::string m_strName;
142 };
143
144 #endif /* __FRAMEWORKUNIFIED_NATIVESERVICES_NSFRAMEWORKCORE_STATEMACHINE_INC_FRAMEWORKUNIFIEDSMACTION_H__ */  // NOLINT  (build/header_guard)
145 /** @}*/
146 /** @}*/
147 /** @}*/
148 /** @}*/
149 /** @}*/
150 //@}