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 CFrameworkunifiedDeepHistoryState . CFrameworkunifiedDeepHistoryState is
22 /// derived from CFrameworkunifiedHistoryState class.This class implements the additional functionality supported
23 /// by HSM Deep History state.
25 ///////////////////////////////////////////////////////////////////////////////
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.
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_DEEPHISTORYSTATE_H__ // NOLINT (build/header_guard)
53 #define __FRAMEWORKUNIFIED_SM_DEEPHISTORYSTATE_H__
55 #include <native_service/frameworkunified_sm_historystate.h>
58 ///////////////////////////////////////////////////////////////////////////////////////////////////
59 /// This class implements the additional functionality supported by HSM Shallow History state.
60 ///////////////////////////////////////////////////////////////////////////////////////////////////
61 class CFrameworkunifiedDeepHistoryState : public CFrameworkunifiedHistoryState {
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
71 /// \~english @par Prerequisite
73 /// \~english @par Change of internal state
75 /// \~english @par Conditions of processing failure
77 /// \~english @par Detail
78 /// Inherite from base class CFrameworkunifiedHistoryState.
79 /// \~english @par Classification
81 /// \~english @par Type
83 /// \~english @see CFrameworkunifiedHistoryState, ~CFrameworkunifiedDeepHistoryState
84 ///////////////////////////////////////////////////////////////////////////////////////////
85 CFrameworkunifiedDeepHistoryState(std::string f_pName); // NOLINT (readability/nolint)
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
96 /// \~english @par Conditions of processing failure
98 /// \~english @par Detail
99 /// Class CFrameworkunifiedHistoryState instance and CFrameworkunifiedDeepHistoryState instance release.
100 /// \~english @par Classification
102 /// \~english @par Type
104 /// \~english @see CFrameworkunifiedDeepHistoryState::CFrameworkunifiedDeepHistoryState
105 ///////////////////////////////////////////////////////////////////////////////////////////
106 ~CFrameworkunifiedDeepHistoryState();
108 ////////////////////////////////////////////////////////////////////////////////////////////
109 /// \ingroup CFrameworkunifiedDeepHistoryState
110 /// \~english @par Brief
111 /// This function stores the last active state
113 /// \~english @retval EFrameworkunifiedStatus eFrameworkunifiedStatusOK
114 /// eFrameworkunifiedStatusNullPointer
115 /// \~english @par Preconditons
116 /// - Self instance of CFrameworkunifiedConditionConnector created.
117 /// \~english @par Change of internal status
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
125 /// \~english @par Type
127 /// \~english @see none
128 ////////////////////////////////////////////////////////////////////////////////////////////
129 EFrameworkunifiedStatus UpdateHistory();
132 static const UI_32 m_suievDeepHistory;
135 #endif /* __FRAMEWORKUNIFIED_SM_DEEPHISTORYSTATE_H__ */ // NOLINT (build/header_guard)