SMACC
Loading...
Searching...
No Matches
smacc_types.h
Go to the documentation of this file.
1/*****************************************************************************************************************
2 * ReelRobotix Inc. - Software License Agreement Copyright (c) 2018
3 * Authors: Pablo Inigo Blasco, Brett Aldrich
4 *
5 ******************************************************************************************************************/
6
7#pragma once
8
9#include <boost/statechart/transition.hpp>
10
11namespace smacc
12{
13class ISmaccState;
14class ISmaccStateMachine;
15class ISmaccClient;
16class ISmaccUpdatable;
17class ISmaccComponent;
18class ISmaccClientBehavior;
19class SmaccClientBehavior;
20class SignalDetector;
21
22class StateReactor;
23class SmaccEventGenerator;
24
25namespace client_bases
26{
27class ISmaccActionClient;
28class ISmaccSubscriber;
29} // namespace client_bases
30
31namespace introspection
32{
33class SmaccStateMachineInfo;
34class SmaccStateInfo;
35class StateReactorHandler;
36class SmaccStateReactorInfo;
37class SmaccEventGeneratorInfo;
38} // namespace introspection
39
40// ----TAGS FOR TRANSITIONS -----
41
42namespace default_transition_tags
43{
44
45// you can also use these other labels in order to have
46// a better code readability and also to improve the visual representation
47// in the viewer
48struct DEFAULT
49{
50};
51
52struct ABORT
53{
54};
55struct SUCCESS
56{
57};
58struct PREEMPT
59{
60};
61struct REJECT
62{
63};
64
66{
67};
68struct ENDLOOP
69{
70};
71
73{
74};
75} // namespace default_transition_tags
76
77template <class Event,
78 class Destination,
80 class TransitionContext = boost::statechart::detail::no_context<Event>,
81 void (TransitionContext::*pTransitionAction)(const Event &) =
82 &boost::statechart::detail::no_context<Event>::no_function>
83class Transition;
84
85} // namespace smacc