rad 6.2.0
Loading...
Searching...
No Matches
Merger.h
Go to the documentation of this file.
1
10/*
11 * scampl4cpp/engine
12 *
13 * Copyright by European Southern Observatory, 2012
14 * All rights reserved
15 *
16 * This library is free software; you can redistribute it and/or
17 * modify it under the terms of the GNU Lesser General Public
18 * License as published by the Free Software Foundation; either
19 * version 2.1 of the License, or (at your option) any later version.
20 *
21 * This library is distributed in the hope that it will be useful,
22 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
24 * Lesser General Public License for more details.
25 *
26 * You should have received a copy of the GNU Lesser General Public
27 * License along with this library; if not, write to the Free Software
28 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
29 * 02111-1307 USA.
30 */
31
32#ifndef SCXML4CPP_MERGER_H
33#define SCXML4CPP_MERGER_H
34
35#ifndef __cplusplus
36#error This is a C++ include file and cannot be used from plain C
37#endif
38
39
40#include <list>
41#include <string>
42
43
44namespace scxml4cpp {
45
46class Transition;
47class StateMachine;
48class State;
49
61class Merger
62{
63 public:
70 ~Merger();
71
77
85 State* findState(const std::string& id, std::list<State*>& list);
86
87 private:
88 StateMachine& mStateMachine;
89
98 void checkForNewTransition(Transition* t, State* s, State* d);
99
108 void checkForNewState(State* p, State* s, std::list<State*>& list);
109
119 void copyState(State* src, State* dst);
120
121 Merger(const Merger&);
122 Merger& operator= (const Merger&);
123};
124
125} // namespace scxml4cpp
126
127#endif // SCXML4CPP_MERGER_H
128
129
130
Definition Merger.h:62
void append(StateMachine &append)
Definition Merger.cpp:59
~Merger()
Definition Merger.cpp:54
Merger(StateMachine &sm)
Definition Merger.cpp:48
State * findState(const std::string &id, std::list< State * > &list)
Definition Merger.cpp:263
Definition StateMachine.h:64
Definition State.h:60
Definition Transition.h:68
Definition Action.cpp:36