17#ifndef RTC_STATICFSM_H
18#define RTC_STATICFSM_H
70#define FSM_TOPSTATE(TOP) \
72 : public ::RTC::Link< TOP, ::Macho::TopBase< TOP > >
77#define FSM_SUBSTATE(STATE, SUPERSTATE) \
79 : public ::RTC::Link< STATE, SUPERSTATE >
87 S(::Macho::_StateInstance & instance) \
88 : ::RTC::Link<S, SUPER>(instance) \
90 using MustDeriveFromLink = ::CheckSameType<::RTC::Link<S, SUPER>, \
92 static_assert(static_cast<MustDeriveFromLink*>(nullptr)==nullptr, \
93 "dummy assert for suppress warning"); \
96 static const char * _state_name() { return #S; } \
97 Box & box() { return *static_cast<Box *>(_box()); } \
98 friend class ::_VS8_Bug_101615
100#define FSM_INIT_VALUE(S) \
102 const ::Macho::ID Macho::StateID<S>::value = ::Macho::Machine<typename S::TOP>::theStateCount++;
130 while (m_buffer.readable() > 0)
134 m_buffer.advanceRptr();
143 template<
class C,
class P>
146#ifdef MACHO_SNAPSHOTS
147 friend class Macho::Snapshot<TOP>;
166 template<
class C,
class P>
182 if (machine !=
nullptr) {
rtComponent = machine->rtComponent; }
228#if defined(__clang__)
229#if defined(_WIN32) || defined(_WIN64)
230#pragma clang diagnostic push
231#pragma clang diagnostic ignored "-Wsuggest-override"
233#pragma clang diagnostic push
234#pragma clang diagnostic ignored "-Winconsistent-missing-override"
236#if defined(__GNUC__) && (__GNUC__ >= 5) && !defined(__clang__)
237#pragma GCC diagnostic push
238#pragma GCC diagnostic ignored "-Wsuggest-override"
242 virtual RTC::ReturnCode_t
onEntry() {
return RTC::RTC_OK; }
243 virtual RTC::ReturnCode_t
onInit() {
return RTC::RTC_OK; }
244 virtual RTC::ReturnCode_t
onExit() {
return RTC::RTC_OK; }
245#if defined(__GNUC__) && (__GNUC__ >= 5) && !defined(__clang__)
246#pragma GCC diagnostic pop
248#if defined(__clang__)
249#pragma clang diagnostic pop
250#if defined(_WIN32) || defined(_WIN64)
251#pragma clang diagnostic pop
Machine()
Definition Macho.h:1668
Definition EventBase.h:41
Definition StaticFSM.h:169
RTObject_impl * rtComponent
Definition StaticFSM.h:255
virtual RTC::ReturnCode_t onInit()
Definition StaticFSM.h:243
Link(Macho::_StateInstance &instance)
Definition StaticFSM.h:171
void entry() override
Definition StaticFSM.h:187
void init() override
Definition StaticFSM.h:201
virtual RTC::ReturnCode_t onExit()
Definition StaticFSM.h:244
void setrtc()
Definition StaticFSM.h:177
void exit() override
Definition StaticFSM.h:214
virtual RTC::ReturnCode_t onEntry()
Definition StaticFSM.h:242
~Machine() override=default
Machine(RTC::RTObject_impl *comp)
Definition StaticFSM.h:119
virtual RingBuffer< EventBase * > & getBuffer()
Definition StaticFSM.h:124
virtual void run_event()
Definition StaticFSM.h:128
RT-Component class.
Definition RTObject.h:93
void preOnFsmEntry(const char *state)
Definition RTObject.h:4974
void postOnFsmExit(const char *state, ReturnCode_t ret)
Definition RTObject.h:5005
void preOnFsmExit(const char *state)
Definition RTObject.h:4982
void postOnFsmInit(const char *state, ReturnCode_t ret)
Definition RTObject.h:4993
void postOnFsmEntry(const char *state, ReturnCode_t ret)
Definition RTObject.h:4997
void preOnFsmStateChange(const char *state)
Definition RTObject.h:4986
void postOnFsmStateChange(const char *state, ReturnCode_t ret)
Definition RTObject.h:5009
void preOnFsmInit(const char *state)
Definition RTObject.h:4970
Ring buffer implementation class.
Definition RingBuffer.h:90