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_StateMachine
21 /// This file has the CFrameworkunifiedInternalTransition class definitions. CFrameworkunifiedInternalTransition is derived
22 /// from CFrameworkunifiedReaction class.This class provides the interface for defining a reaction for an event
23 ///////////////////////////////////////////////////////////////////////////////
26 * @file frameworkunified_sm_internaltransition.h
27 * @brief \~english This file has the CFrameworkunifiedInternalTransition class definitions. CFrameworkunifiedInternalTransition is derived
28 * from CFrameworkunifiedReaction class.This class provides the interface for defining a reaction for an event
31 /** @addtogroup BaseSystem
34 /** @addtogroup native_service
38 /** @addtogroup framework_unified
39 * @ingroup native_service
42 /** @addtogroup framework
43 * @ingroup framework_unified
46 /** @addtogroup statemachine
50 #ifndef _FRAMEWORKUNIFIEDINTERNALTRANSITION_H // NOLINT (build/header_guard)
51 #define _FRAMEWORKUNIFIEDINTERNALTRANSITION_H
53 ///////////////////////////////////////////////////////////////////////////////////////////////////
55 ///////////////////////////////////////////////////////////////////////////////////////////////////
57 #include <native_service/frameworkunified_sm_reaction.h>
59 ///////////////////////////////////////////////////////////////////////////////////////////////////
60 /// This class provides the interface for defining a reaction for an event
61 ///////////////////////////////////////////////////////////////////////////////////////////////////
62 class CFrameworkunifiedInternalTransition : public CFrameworkunifiedReaction {
65 /////////////////////////////////////////////////////////////////////////////////////
66 /// \ingroup CFrameworkunifiedInternalTransition
67 /// \~english @par Summary
68 /// pure virtual fuction
69 /// \~english @param [in] f_pSourceState
70 /// CFrameworkunifiedState* f_pSourceState - source state
71 /// \~english @param [in] f_pData
72 /// CEventDataPtr f_pData - event data
73 /// \~english @retval None
74 /// \~english @par Preconditions
76 /// \~english @par Change of the internal state
78 /// \~english @par Causes of failures
80 /// \~english @par Classification
82 /// \~english @par Type
84 /// \~english @par Detail
85 /// Pure virtual function , implemented by child class
87 ////////////////////////////////////////////////////////////////////////////////////
88 ///////////////////////////////////////////////////////////////////////////////////////////
89 /// FrameworkunifiedReaction
90 /// The reaction for the event has to be implemented in this function
92 /// \param [in] f_pSourceState
93 /// CFrameworkunifiedState* - Event id of the event to be added in the state
95 /// \param [in] f_pData
96 /// CEventDataPtr - Reaction to be associated with the with event id in the state
98 /// \return ActiveState
99 /// CFrameworkunifiedState* - Returns Active state
101 ///////////////////////////////////////////////////////////////////////////////////////////
102 virtual CFrameworkunifiedState *FrameworkunifiedReaction(CFrameworkunifiedState *f_pSourceState, CEventDataPtr f_pData) = 0;
105 #endif // _FRAMEWORKUNIFIEDINTERNALTRANSITION_H // NOLINT (build/header_guard)