SMACC2
smacc2
include
smacc2
smacc_types.hpp
Go to the documentation of this file.
1
// Copyright 2021 RobosoftAI Inc.
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
15
/*****************************************************************************************************************
16
*
17
* Authors: Pablo Inigo Blasco, Brett Aldrich
18
*
19
******************************************************************************************************************/
20
21
#pragma once
22
23
#include <boost/statechart/transition.hpp>
24
25
namespace
smacc2
26
{
27
class
ISmaccState;
28
class
ISmaccStateMachine;
29
class
ISmaccClient;
30
class
ISmaccUpdatable;
31
class
ISmaccComponent;
32
class
ISmaccClientBehavior;
33
class
SmaccClientBehavior;
34
class
SmaccAsyncClientBehavior;
35
class
SignalDetector;
36
37
class
StateReactor;
38
class
SmaccEventGenerator;
39
40
namespace
client_bases
41
{
42
class
ISmaccActionClient;
43
class
ISmaccSubscriber;
44
}
// namespace client_bases
45
46
namespace
introspection
47
{
48
class
SmaccStateMachineInfo;
49
class
SmaccStateInfo;
50
class
StateReactorHandler;
51
class
SmaccStateReactorInfo;
52
class
SmaccEventGeneratorInfo;
53
class
TypeInfo;
54
}
// namespace introspection
55
56
// ----TAGS FOR TRANSITIONS -----
57
58
namespace
default_transition_tags
59
{
60
// you can also use these other labels in order to have
61
// a better code readability and also to improve the visual representation
62
// in the viewer
63
struct
DEFAULT
64
{
65
};
66
67
struct
ABORT
68
{
69
};
70
71
struct
SUCCESS
72
{
73
};
74
75
struct
CANCEL
76
{
77
};
78
79
/*
80
struct PREEMPT
81
{
82
};
83
84
85
struct REJECT
86
{
87
};*/
88
89
struct
CONTINUELOOP
90
{
91
};
92
struct
ENDLOOP
93
{
94
};
95
96
struct
default_transition_name
:
SUCCESS
97
{
98
};
99
}
// namespace default_transition_tags
100
101
template
<
102
class
Event,
class
Destination,
typename
Tag =
default_transition_tags::default_transition_name
,
103
class
TransitionContext = boost::statechart::detail::no_context<Event>,
104
void (TransitionContext::*pTransitionAction)(
const
Event &) =
105
&boost::statechart::detail::no_context<Event>::no_function>
106
class
Transition
;
107
108
}
// namespace smacc2
smacc2::Transition
Definition:
smacc_transition.hpp:32
smacc2
Definition:
cp_topic_publisher.hpp:28
smacc2::default_transition_tags::ABORT
Definition:
smacc_types.hpp:68
smacc2::default_transition_tags::CANCEL
Definition:
smacc_types.hpp:76
smacc2::default_transition_tags::CONTINUELOOP
Definition:
smacc_types.hpp:90
smacc2::default_transition_tags::DEFAULT
Definition:
smacc_types.hpp:64
smacc2::default_transition_tags::ENDLOOP
Definition:
smacc_types.hpp:93
smacc2::default_transition_tags::SUCCESS
Definition:
smacc_types.hpp:72
smacc2::default_transition_tags::default_transition_name
Definition:
smacc_types.hpp:97
Generated by
1.9.4