summaryrefslogtreecommitdiffstats
path: root/nsframework/framework_unified/client/include/native_service/frameworkunified_sm_shallowhistorystate.h
blob: 945749dbc849dc55d49602f61eef39c29bd5cb8a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
/*
 * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

///////////////////////////////////////////////////////////////////////////////
/// \ingroup  tag_NSFramework
/// \brief
///
/// This file has the declaration of class CFrameworkunifiedShallowHistoryState . CFrameworkunifiedShallowHistoryState is
/// derived from CFrameworkunifiedHistoryState class.This class implements the additional functionality supported
/// by HSM Shallow History state.
///
///////////////////////////////////////////////////////////////////////////////
//@{
/**
 * @file frameworkunified_sm_shallowhistorystate.h
 * @brief \~english This file has the declaration of class CFrameworkunifiedShallowHistoryState . CFrameworkunifiedShallowHistoryState is
 *        derived from CFrameworkunifiedHistoryState class.This class implements the additional functionality supported
 *        by HSM Shallow History state.
 */
/** @addtogroup BaseSystem
 *  @{
 */
/** @addtogroup native_service
 *  @ingroup BaseSystem
 *  @{
 */
/** @addtogroup framework_unified
 *  @ingroup native_service
 *  @{
 */
/** @addtogroup framework
 *  @ingroup framework_unified
 *  @{
 */
/** @addtogroup statemachine
 *  @ingroup framework
 *  @{
 */
#ifndef __FRAMEWORKUNIFIED_SM_SHALLOWHISTORYSTATE_H__  // NOLINT  (build/header_guard)
#define __FRAMEWORKUNIFIED_SM_SHALLOWHISTORYSTATE_H__

#include <native_service/frameworkunified_sm_historystate.h>
#include <string>
///////////////////////////////////////////////////////////////////////////////////////////////////
/// This class implements the additional functionality supported by HSM Shallow History state.
///////////////////////////////////////////////////////////////////////////////////////////////////
class CFrameworkunifiedShallowHistoryState : public CFrameworkunifiedHistoryState {
 public :
  ///////////////////////////////////////////////////////////////////////////////////////////
  /// \ingroup CFrameworkunifiedShallowHistoryState
  /// \~english @par Brief
  ///        CFrameworkunifiedShallowHistoryState constructor
  /// \~english @param [in] f_pName
  ///        std::string   - Name of the state
  /// \~english @retval None
  /// \~english @par Prerequisite
  ///        - None
  /// \~english @par Change of internal state
  ///        - None
  /// \~english @par Conditions of processing failure
  ///        - None
  /// \~english @par Detail
  ///       This class inherits from CFrameworkunifiedHistoryState class and creates CFrameworkunifiedShallowHistoryState object. \n
  ///       In this function, we set member variable m_uiEventId to ShallowHistoryID(71), \n
  ///       and set member variable m_cEventName to evShallowHistory"evShallowHistory".
  /// \~english @par Classification
  ///        Public
  /// \~english @par Type
  ///        sync only
  /// \~english @see ~CFrameworkunifiedShallowHistoryState
  ///
  ///////////////////////////////////////////////////////////////////////////////////////////
  /// CFrameworkunifiedShallowHistoryState
  /// Parameterized constructor
  /// \param [in] f_pName
  ///     string - Name of the state
  ///
  /// \return none
  CFrameworkunifiedShallowHistoryState(std::string f_pName);  // NOLINT  (readability/nolint)

  ///////////////////////////////////////////////////////////////////////////////////////////
  /// \ingroup CFrameworkunifiedShallowHistoryState
  /// \~english @par Brief
  ///        CFrameworkunifiedShallowHistoryState destructor
  /// \~english @param None
  /// \~english @retval None
  /// \~english @par Prerequisite
  ///        - Calls constructor to successfully create object.
  /// \~english @par Change of internal state
  ///        - None
  /// \~english @par Conditions of processing failure
  ///        - None
  /// \~english @par Detail
  ///       Destory CFrameworkunifiedShallowHistoryState object.
  /// \~english @par Classification
  ///        Public
  /// \~english @par Type
  ///        sync only
  /// \~english @see CFrameworkunifiedShallowHistoryState::CFrameworkunifiedShallowHistoryState
  ///
  ///////////////////////////////////////////////////////////////////////////////////////////
  /// ~CFrameworkunifiedShallowHistoryState
  /// Class destructor
  ///
  /// \return none
  ~CFrameworkunifiedShallowHistoryState();

  /////////////////////////////////////////////////////////////////////////////////////
  /// \ingroup CFrameworkunifiedShallowHistoryState
  /// \~english @par Brief
  ///        update history infomation
  /// \~english @param None
  /// \~english @retval eFrameworkunifiedStatusOK   update history infomation success
  /// \~english @retval eFrameworkunifiedStatusNullPointer  exception occur when update history infomation
  /// \~english @par Prerequisite
  ///        None
  /// \~english @par Change of internal state
  ///        None
  /// \~english @par Conditions of processing failure
  ///        m_pParentState is NULL
  /// \~english @par Detail
  ///        update last active state, failed if m_pParentState is NULL
  /// \~english @par Classification
  ///        Public
  /// \~english @par Type
  ///        sync only
  /// \~english @see
  ///
  /////////////////////////////////////////////////////////////////////////////////////
  ///////////////////////////////////////////////////////////////////////////////////////////
  /// UpdateHistory
  /// This function stores the last active state
  /// \param
  ///
  /// \return EFrameworkunifiedStatus
  ///     EFrameworkunifiedStatus - Returns status of operation
  ///////////////////////////////////////////////////////////////////////////////////////////
  EFrameworkunifiedStatus UpdateHistory();

 private:
  static const UI_32 m_suievShallowHistory;
};

#endif /* __FRAMEWORKUNIFIED_SM_SHALLOWHISTORYSTATE_H__ */  // NOLINT  (build/header_guard)
/** @}*/
/** @}*/
/** @}*/
/** @}*/
/** @}*/
//@}