rad
3.0.0
INTROOT
include
scxml4cpp
Merger.h
Go to the documentation of this file.
1
/*
2
* scampl4cpp/engine
3
*
4
* Copyright by European Southern Observatory, 2012
5
* All rights reserved
6
*
7
* This library is free software; you can redistribute it and/or
8
* modify it under the terms of the GNU Lesser General Public
9
* License as published by the Free Software Foundation; either
10
* version 2.1 of the License, or (at your option) any later version.
11
*
12
* This library is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* Lesser General Public License for more details.
16
*
17
* You should have received a copy of the GNU Lesser General Public
18
* License along with this library; if not, write to the Free Software
19
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
20
* 02111-1307 USA.
21
*/
22
23
/*
24
* $Id: Helper.h 1139 2016-07-20 14:57:28Z landolfa $
25
*/
26
27
#ifndef SCXML4CPP_MERGER_H
28
#define SCXML4CPP_MERGER_H
29
30
#ifndef __cplusplus
31
#error This is a C++ include file and cannot be used from plain C
32
#endif
33
34
35
#include <list>
36
#include <string>
37
38
39
namespace
scxml4cpp
{
40
41
class
Transition;
42
class
StateMachine;
43
class
State;
44
45
46
class
Merger
47
{
48
public
:
49
Merger
(
StateMachine
& sm);
50
~Merger
();
51
52
void
append
(
StateMachine
&
append
);
53
54
State
*
findState
(
const
std::string&
id
, std::list<State*>& list);
55
56
private
:
57
StateMachine
& mStateMachine;
58
59
void
checkForNewTransition(
Transition
* t,
State
* s,
State
* d);
60
void
checkForNewState(
State
* p,
State
* s, std::list<State*>& list);
61
void
copyState(
State
* src,
State
* dst);
62
63
Merger
(
const
Merger
&);
64
Merger
& operator= (
const
Merger
&);
65
};
66
67
}
// namespace scxml4cpp
68
69
#endif // SCXML4CPP_MERGER_H
70
71
72
scxml4cpp
Definition:
Action.h:36
scxml4cpp::Merger
Definition:
Merger.h:47
scxml4cpp::Transition
Definition:
Transition.h:55
scxml4cpp::Merger::~Merger
~Merger()
Definition:
Merger.cpp:51
scxml4cpp::StateMachine
Definition:
StateMachine.h:45
scxml4cpp::State
Definition:
State.h:48
scxml4cpp::Merger::append
void append(StateMachine &append)
Definition:
Merger.cpp:58
scxml4cpp::Merger::Merger
Merger(StateMachine &sm)
Definition:
Merger.cpp:45
scxml4cpp::Merger::findState
State * findState(const std::string &id, std::list< State * > &list)
Definition:
Merger.cpp:244
Generated by
1.8.20