// ====================================================================== // \title BasicGuardU32StateMachineAc.hpp // \author Generated by fpp-to-cpp // \brief hpp file for BasicGuardU32 state machine // ====================================================================== #ifndef FppTest_SmState_BasicGuardU32StateMachineAc_HPP #define FppTest_SmState_BasicGuardU32StateMachineAc_HPP #include "Fw/FPrimeBasicTypes.hpp" #include "Fw/Types/ExternalString.hpp" #include "Fw/Types/Serializable.hpp" #include "Fw/Types/String.hpp" namespace FppTest { namespace SmState { //! A basic state machine with a U32 guard class BasicGuardU32StateMachineBase { // ---------------------------------------------------------------------- // Friend classes // ---------------------------------------------------------------------- //! Tester class for the state machine friend class BasicGuardU32Tester; public: // ---------------------------------------------------------------------- // Types // ---------------------------------------------------------------------- //! The state type enum class State : FwEnumStoreType { //! The uninitialized state __FPRIME_AC_UNINITIALIZED, //! State S S, //! State T T, }; //! The signal type enum class Signal : FwEnumStoreType { //! The initial transition __FPRIME_AC_INITIAL_TRANSITION, //! Signal s s, }; protected: // ---------------------------------------------------------------------- // Constructors and Destructors // ---------------------------------------------------------------------- //! Constructor BasicGuardU32StateMachineBase(); //! Destructor virtual ~BasicGuardU32StateMachineBase(); protected: // ---------------------------------------------------------------------- // Initialization // ---------------------------------------------------------------------- //! Initialize the state machine void initBase( const FwEnumStoreType id //!< The state machine ID ); public: // ---------------------------------------------------------------------- // Getter functions // ---------------------------------------------------------------------- //! Get the state BasicGuardU32StateMachineBase::State getState() const; public: // ---------------------------------------------------------------------- // Send signal functions // ---------------------------------------------------------------------- //! Signal s void sendSignal_s( U32 value //!< The value ); protected: // ---------------------------------------------------------------------- // Actions // ---------------------------------------------------------------------- //! Action a virtual void action_a( Signal signal, //!< The signal U32 value //!< The value ) = 0; protected: // ---------------------------------------------------------------------- // Guards // ---------------------------------------------------------------------- //! Guard g virtual bool guard_g( Signal signal, //!< The signal U32 value //!< The value ) const = 0; private: // ---------------------------------------------------------------------- // State and choice entry // ---------------------------------------------------------------------- //! Enter state T void enter_T( Signal signal //!< The signal ); //! Enter state S void enter_S( Signal signal //!< The signal ); protected: // ---------------------------------------------------------------------- // Member variables // ---------------------------------------------------------------------- //! The state machine ID FwEnumStoreType m_id = 0; //! The state State m_state = State::__FPRIME_AC_UNINITIALIZED; }; } } #endif