common_library: gettid is multiple declaration in cl_error
[staging/basesystem.git] / video_in_hal / nsframework / framework_unified / client / include / native_service / frameworkunified_sm_deephistorystate.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
20 ///
21 /// This file has the declaration of class CFrameworkunifiedDeepHistoryState . CFrameworkunifiedDeepHistoryState is
22 /// derived from CFrameworkunifiedHistoryState class.This class implements the additional functionality supported
23 /// by HSM Deep History state.
24 ///
25 ///////////////////////////////////////////////////////////////////////////////
26 //@{
27 /**
28  * @file frameworkunified_sm_deephistorystate.h
29  * @brief \~english This file has the declaration of class CFrameworkunifiedDeepHistoryState.CFrameworkunifiedDeepHistoryState is
30  *        derived from CFrameworkunifiedHistoryState class.This class implements the additional functionality supported
31  *        by HSM Deep History state.
32  */
33 /** @addtogroup BaseSystem
34  *  @{
35  */
36 /** @addtogroup native_service
37  *  @ingroup BaseSystem
38  *  @{
39  */
40 /** @addtogroup framework_unified
41  *  @ingroup native_service
42  *  @{
43  */
44 /** @addtogroup framework
45  *  @ingroup framework_unified
46  *  @{
47  */
48 /** @addtogroup statemachine
49  *  @ingroup framework
50  *  @{
51  */
52 #ifndef __FRAMEWORKUNIFIED_SM_DEEPHISTORYSTATE_H__  // NOLINT  (build/header_guard)
53 #define __FRAMEWORKUNIFIED_SM_DEEPHISTORYSTATE_H__
54
55 #include <native_service/frameworkunified_sm_historystate.h>
56 #include <string>
57
58 ///////////////////////////////////////////////////////////////////////////////////////////////////
59 /// This class implements the additional functionality supported by HSM Shallow History state.
60 ///////////////////////////////////////////////////////////////////////////////////////////////////
61 class CFrameworkunifiedDeepHistoryState : public CFrameworkunifiedHistoryState {
62  public :
63
64   ///////////////////////////////////////////////////////////////////////////////////////////
65   /// \ingroup CFrameworkunifiedDeepHistoryState
66   /// \~english @par Brief
67   ///          Constructor for class CFrameworkunifiedDeepHistoryState.
68   /// \~english @param [in] f_pName
69   ///        std::string   - Name of the state
70   /// \~english @retval
71   /// \~english @par Prerequisite
72   ///            none
73   /// \~english @par Change of internal state
74   ///            none
75   /// \~english @par Conditions of processing failure
76   ///            none
77   /// \~english @par Detail
78   ///           Inherite from base class CFrameworkunifiedHistoryState.
79   /// \~english @par Classification
80   ///           public
81   /// \~english @par Type
82   ///           none
83   /// \~english @see CFrameworkunifiedHistoryState, ~CFrameworkunifiedDeepHistoryState
84   ///////////////////////////////////////////////////////////////////////////////////////////
85   CFrameworkunifiedDeepHistoryState(std::string f_pName);  // NOLINT  (readability/nolint)
86
87   ///////////////////////////////////////////////////////////////////////////////////////////
88   /// \ingroup CFrameworkunifiedDeepHistoryState
89   /// \~english @par Brief
90   ///        Destructor for CFrameworkunifiedDeepHistoryState
91   /// \~english @retval none
92   /// \~english @par Preconditons
93   ///          - Self instance of CFrameworkunifiedDeepHistoryState created.
94   /// \~english @par Change of internal status
95   ///                none
96   /// \~english @par Conditions of processing failure
97   ///                none
98   /// \~english @par Detail
99   ///          Class CFrameworkunifiedHistoryState instance and CFrameworkunifiedDeepHistoryState instance release.
100   /// \~english @par Classification
101   ///           public
102   /// \~english @par Type
103   ///            none
104   /// \~english @see CFrameworkunifiedDeepHistoryState::CFrameworkunifiedDeepHistoryState
105   ///////////////////////////////////////////////////////////////////////////////////////////
106   ~CFrameworkunifiedDeepHistoryState();
107
108   ////////////////////////////////////////////////////////////////////////////////////////////
109   /// \ingroup CFrameworkunifiedDeepHistoryState
110   /// \~english @par Brief
111   ///           This function stores the last active state
112   /// \~english @param
113   /// \~english @retval EFrameworkunifiedStatus     eFrameworkunifiedStatusOK
114   ///                                   eFrameworkunifiedStatusNullPointer
115   /// \~english @par Preconditons
116   ///        -  Self instance of CFrameworkunifiedConditionConnector created.
117   /// \~english @par Change of internal status
118   ///        -  none
119   /// \~english @par Conditions of processing failure
120   ///            - If m_pParentState is NULL. [eFrameworkunifiedStatusNullPointer]
121   /// \~english @par Detail
122   ///            This function stores the last active state.\n
123   /// \~english @par Classification
124   ///          public
125   /// \~english @par Type
126   ///          none
127   /// \~english @see none
128   ////////////////////////////////////////////////////////////////////////////////////////////
129   EFrameworkunifiedStatus UpdateHistory();
130
131  private:
132   static const UI_32 m_suievDeepHistory;
133 };
134
135 #endif /* __FRAMEWORKUNIFIED_SM_DEEPHISTORYSTATE_H__ */  // NOLINT  (build/header_guard)
136 /** @}*/
137 /** @}*/
138 /** @}*/
139 /** @}*/
140 /** @}*/
141 //@}