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_NSFramework
21 /// This file has the declaration of class CFrameworkunifiedShallowHistoryState . CFrameworkunifiedShallowHistoryState is
22 /// derived from CFrameworkunifiedHistoryState class.This class implements the additional functionality supported
23 /// by HSM Shallow History state.
25 ///////////////////////////////////////////////////////////////////////////////
28 * @file frameworkunified_sm_shallowhistorystate.h
29 * @brief \~english This file has the declaration of class CFrameworkunifiedShallowHistoryState . CFrameworkunifiedShallowHistoryState is
30 * derived from CFrameworkunifiedHistoryState class.This class implements the additional functionality supported
31 * by HSM Shallow History state.
33 /** @addtogroup BaseSystem
36 /** @addtogroup native_service
40 /** @addtogroup framework_unified
41 * @ingroup native_service
44 /** @addtogroup framework
45 * @ingroup framework_unified
48 /** @addtogroup statemachine
52 #ifndef __FRAMEWORKUNIFIED_SM_SHALLOWHISTORYSTATE_H__ // NOLINT (build/header_guard)
53 #define __FRAMEWORKUNIFIED_SM_SHALLOWHISTORYSTATE_H__
55 #include <native_service/frameworkunified_sm_historystate.h>
57 ///////////////////////////////////////////////////////////////////////////////////////////////////
58 /// This class implements the additional functionality supported by HSM Shallow History state.
59 ///////////////////////////////////////////////////////////////////////////////////////////////////
60 class CFrameworkunifiedShallowHistoryState : public CFrameworkunifiedHistoryState {
62 ///////////////////////////////////////////////////////////////////////////////////////////
63 /// \ingroup CFrameworkunifiedShallowHistoryState
64 /// \~english @par Brief
65 /// CFrameworkunifiedShallowHistoryState constructor
66 /// \~english @param [in] f_pName
67 /// std::string - Name of the state
68 /// \~english @retval None
69 /// \~english @par Prerequisite
71 /// \~english @par Change of internal state
73 /// \~english @par Conditions of processing failure
75 /// \~english @par Detail
76 /// This class inherits from CFrameworkunifiedHistoryState class and creates CFrameworkunifiedShallowHistoryState object. \n
77 /// In this function, we set member variable m_uiEventId to ShallowHistoryID(71), \n
78 /// and set member variable m_cEventName to evShallowHistory"evShallowHistory".
79 /// \~english @par Classification
81 /// \~english @par Type
83 /// \~english @see ~CFrameworkunifiedShallowHistoryState
85 ///////////////////////////////////////////////////////////////////////////////////////////
86 /// CFrameworkunifiedShallowHistoryState
87 /// Parameterized constructor
88 /// \param [in] f_pName
89 /// string - Name of the state
92 CFrameworkunifiedShallowHistoryState(std::string f_pName); // NOLINT (readability/nolint)
94 ///////////////////////////////////////////////////////////////////////////////////////////
95 /// \ingroup CFrameworkunifiedShallowHistoryState
96 /// \~english @par Brief
97 /// CFrameworkunifiedShallowHistoryState destructor
98 /// \~english @param None
99 /// \~english @retval None
100 /// \~english @par Prerequisite
101 /// - Calls constructor to successfully create object.
102 /// \~english @par Change of internal state
104 /// \~english @par Conditions of processing failure
106 /// \~english @par Detail
107 /// Destory CFrameworkunifiedShallowHistoryState object.
108 /// \~english @par Classification
110 /// \~english @par Type
112 /// \~english @see CFrameworkunifiedShallowHistoryState::CFrameworkunifiedShallowHistoryState
114 ///////////////////////////////////////////////////////////////////////////////////////////
115 /// ~CFrameworkunifiedShallowHistoryState
119 ~CFrameworkunifiedShallowHistoryState();
121 /////////////////////////////////////////////////////////////////////////////////////
122 /// \ingroup CFrameworkunifiedShallowHistoryState
123 /// \~english @par Brief
124 /// update history infomation
125 /// \~english @param None
126 /// \~english @retval eFrameworkunifiedStatusOK update history infomation success
127 /// \~english @retval eFrameworkunifiedStatusNullPointer exception occur when update history infomation
128 /// \~english @par Prerequisite
130 /// \~english @par Change of internal state
132 /// \~english @par Conditions of processing failure
133 /// m_pParentState is NULL
134 /// \~english @par Detail
135 /// update last active state, failed if m_pParentState is NULL
136 /// \~english @par Classification
138 /// \~english @par Type
142 /////////////////////////////////////////////////////////////////////////////////////
143 ///////////////////////////////////////////////////////////////////////////////////////////
145 /// This function stores the last active state
148 /// \return EFrameworkunifiedStatus
149 /// EFrameworkunifiedStatus - Returns status of operation
150 ///////////////////////////////////////////////////////////////////////////////////////////
151 EFrameworkunifiedStatus UpdateHistory();
154 static const UI_32 m_suievShallowHistory;
157 #endif /* __FRAMEWORKUNIFIED_SM_SHALLOWHISTORYSTATE_H__ */ // NOLINT (build/header_guard)