BondSM_sm.cpp
Go to the documentation of this file.
1 /*
2  * ex: set ro:
3  * DO NOT EDIT.
4  * generated by smc (http://smc.sourceforge.net/)
5  * from file : BondSM_sm.sm
6  */
7 
8 #include "bondcpp/bond.h"
9 #include "bondcpp/BondSM_sm.h"
10 
11 // Static class declarations.
12 SM_WaitingForSister SM::WaitingForSister("SM::WaitingForSister", 0);
13 SM_Alive SM::Alive("SM::Alive", 1);
14 SM_AwaitSisterDeath SM::AwaitSisterDeath("SM::AwaitSisterDeath", 2);
15 SM_Dead SM::Dead("SM::Dead", 3);
16 
18 {
19  Default(context);
20  return;
21 }
22 
24 {
25  Default(context);
26  return;
27 }
28 
30 {
31  Default(context);
32  return;
33 }
34 
36 {
37  Default(context);
38  return;
39 }
40 
42 {
43  Default(context);
44  return;
45 }
46 
48 {
49  Default(context);
50  return;
51 }
52 
54 {
55  throw (
57  context.getState().getName(),
58  context.getTransition()));
59 
60  return;
61 }
62 
64 {
65  BondSM& ctxt(context.getOwner());
66 
67  (context.getState()).Exit(context);
68  context.clearState();
69  try
70  {
71  ctxt.Death();
72  context.setState(SM::Dead);
73  }
74  catch (...)
75  {
76  context.setState(SM::Dead);
77  throw;
78  }
79  (context.getState()).Entry(context);
80 
81  return;
82 }
83 
85 {
86  BondSM& ctxt(context.getOwner());
87 
88  (context.getState()).Exit(context);
89  context.clearState();
90  try
91  {
92  ctxt.Death();
93  context.setState(SM::Dead);
94  }
95  catch (...)
96  {
97  context.setState(SM::Dead);
98  throw;
99  }
100  (context.getState()).Entry(context);
101 
102  return;
103 }
104 
106 {
107  BondSM& ctxt(context.getOwner());
108 
109  (context.getState()).Exit(context);
110  context.clearState();
111  try
112  {
113  ctxt.Connected();
114  context.setState(SM::Alive);
115  }
116  catch (...)
117  {
118  context.setState(SM::Alive);
119  throw;
120  }
121  (context.getState()).Entry(context);
122 
123  return;
124 }
125 
127 {
128  BondSM& ctxt(context.getOwner());
129 
130  (context.getState()).Exit(context);
131  context.clearState();
132  try
133  {
134  ctxt.Connected();
135  ctxt.SisterDied();
136  ctxt.Death();
137  context.setState(SM::Dead);
138  }
139  catch (...)
140  {
141  context.setState(SM::Dead);
142  throw;
143  }
144  (context.getState()).Entry(context);
145 
146  return;
147 }
148 
150 {
151  BondSM& ctxt(context.getOwner());
152 
153  (context.getState()).Exit(context);
154  context.clearState();
155  try
156  {
157  ctxt.StartDying();
159  }
160  catch (...)
161  {
163  throw;
164  }
165  (context.getState()).Entry(context);
166 
167  return;
168 }
169 
171 {
172  BondSM& ctxt(context.getOwner());
173 
174  (context.getState()).Exit(context);
175  context.clearState();
176  try
177  {
178  ctxt.Death();
179  context.setState(SM::Dead);
180  }
181  catch (...)
182  {
183  context.setState(SM::Dead);
184  throw;
185  }
186  (context.getState()).Entry(context);
187 
188  return;
189 }
190 
192 {
193  BondSM& ctxt(context.getOwner());
194 
195  (context.getState()).Exit(context);
196  context.clearState();
197  try
198  {
199  ctxt.Heartbeat();
200  context.setState(SM::Alive);
201  }
202  catch (...)
203  {
204  context.setState(SM::Alive);
205  throw;
206  }
207  (context.getState()).Entry(context);
208 
209  return;
210 }
211 
213 {
214  BondSM& ctxt(context.getOwner());
215 
216  (context.getState()).Exit(context);
217  context.clearState();
218  try
219  {
220  ctxt.SisterDied();
221  ctxt.Death();
222  context.setState(SM::Dead);
223  }
224  catch (...)
225  {
226  context.setState(SM::Dead);
227  throw;
228  }
229  (context.getState()).Entry(context);
230 
231  return;
232 }
233 
235 {
236  (context.getState()).Exit(context);
238  (context.getState()).Entry(context);
239 
240  return;
241 }
242 
244 {
245  BondSM& ctxt(context.getOwner());
246 
247  (context.getState()).Exit(context);
248  context.clearState();
249  try
250  {
251  ctxt.Death();
252  context.setState(SM::Dead);
253  }
254  catch (...)
255  {
256  context.setState(SM::Dead);
257  throw;
258  }
259  (context.getState()).Entry(context);
260 
261  return;
262 }
263 
265 {
266  (context.getState()).Exit(context);
268  (context.getState()).Entry(context);
269 
270  return;
271 }
272 
274 {
275  (context.getState()).Exit(context);
277  (context.getState()).Entry(context);
278 
279  return;
280 }
281 
283 {
284  BondSM& ctxt(context.getOwner());
285 
286  (context.getState()).Exit(context);
287  context.clearState();
288  try
289  {
290  ctxt.Death();
291  context.setState(SM::Dead);
292  }
293  catch (...)
294  {
295  context.setState(SM::Dead);
296  throw;
297  }
298  (context.getState()).Entry(context);
299 
300  return;
301 }
302 
304 {
305  (context.getState()).Exit(context);
306  context.setState(SM::Dead);
307  (context.getState()).Entry(context);
308 
309  return;
310 }
311 
313 {
314  (context.getState()).Exit(context);
315  context.setState(SM::Dead);
316  (context.getState()).Entry(context);
317 
318  return;
319 }
320 
322 {
323  (context.getState()).Exit(context);
324  context.setState(SM::Dead);
325  (context.getState()).Entry(context);
326 
327  return;
328 }
329 
331 {
332  (context.getState()).Exit(context);
333  context.setState(SM::Dead);
334  (context.getState()).Entry(context);
335 
336  return;
337 }
338 
340 {
341  (context.getState()).Exit(context);
342  context.setState(SM::Dead);
343  (context.getState()).Entry(context);
344 
345  return;
346 }
347 
349 {
350  (context.getState()).Exit(context);
351  context.setState(SM::Dead);
352  (context.getState()).Entry(context);
353 
354  return;
355 }
356 
357 /*
358  * Local variables:
359  * buffer-read-only: t
360  * End:
361  */
SM_Alive
Definition: BondSM_sm.h:81
SM_AwaitSisterDeath::HeartbeatTimeout
void HeartbeatTimeout(BondSMContext &context)
Definition: BondSM_sm.cpp:264
BondSMState::ConnectTimeout
virtual void ConnectTimeout(BondSMContext &context)
Definition: BondSM_sm.cpp:17
bond.h
SM_WaitingForSister::SisterAlive
void SisterAlive(BondSMContext &context)
Definition: BondSM_sm.cpp:105
SM_Dead
Definition: BondSM_sm.h:110
BondSMState::Default
virtual void Default(BondSMContext &context)
Definition: BondSM_sm.cpp:53
SM_Alive::SisterAlive
void SisterAlive(BondSMContext &context)
Definition: BondSM_sm.cpp:191
BondSM::Heartbeat
void Heartbeat()
Definition: bond.cpp:409
BondSM::SisterDied
void SisterDied()
Definition: bond.cpp:394
SM_AwaitSisterDeath::Die
void Die(BondSMContext &context)
Definition: BondSM_sm.cpp:234
BondSMState::DisconnectTimeout
virtual void DisconnectTimeout(BondSMContext &context)
Definition: BondSM_sm.cpp:29
SM_Dead::HeartbeatTimeout
void HeartbeatTimeout(BondSMContext &context)
Definition: BondSM_sm.cpp:330
BondSMState::Exit
virtual void Exit(BondSMContext &)
Definition: BondSM_sm.h:36
SM_Dead::Die
void Die(BondSMContext &context)
Definition: BondSM_sm.cpp:312
SM::AwaitSisterDeath
static SM_AwaitSisterDeath AwaitSisterDeath
Definition: BondSM_sm.h:54
BondSM::Connected
void Connected()
Definition: bond.cpp:385
SM::WaitingForSister
static SM_WaitingForSister WaitingForSister
Definition: BondSM_sm.h:52
SM_AwaitSisterDeath::SisterDead
void SisterDead(BondSMContext &context)
Definition: BondSM_sm.cpp:282
BondSMContext::getOwner
BondSM & getOwner() const
Definition: BondSM_sm.h:146
BondSM
Definition: bond.h:200
BondSMState::Die
virtual void Die(BondSMContext &context)
Definition: BondSM_sm.cpp:23
BondSMState::HeartbeatTimeout
virtual void HeartbeatTimeout(BondSMContext &context)
Definition: BondSM_sm.cpp:35
BondSMState::SisterDead
virtual void SisterDead(BondSMContext &context)
Definition: BondSM_sm.cpp:47
SM_Alive::HeartbeatTimeout
void HeartbeatTimeout(BondSMContext &context)
Definition: BondSM_sm.cpp:170
SM_WaitingForSister::Die
void Die(BondSMContext &context)
Definition: BondSM_sm.cpp:84
statemap::FSMContext::setState
void setState(const State &state)
statemap::TransitionUndefinedException
BondSM::StartDying
void StartDying()
Definition: bond.cpp:414
SM_WaitingForSister
Definition: BondSM_sm.h:67
SM_Alive::Die
void Die(BondSMContext &context)
Definition: BondSM_sm.cpp:149
SM_AwaitSisterDeath
Definition: BondSM_sm.h:95
SM::Dead
static SM_Dead Dead
Definition: BondSM_sm.h:55
BondSMState::Entry
virtual void Entry(BondSMContext &)
Definition: BondSM_sm.h:35
statemap::FSMContext::clearState
void clearState()
SM::Alive
static SM_Alive Alive
Definition: BondSM_sm.h:53
SM_Dead::DisconnectTimeout
void DisconnectTimeout(BondSMContext &context)
Definition: BondSM_sm.cpp:321
SM_Alive::SisterDead
void SisterDead(BondSMContext &context)
Definition: BondSM_sm.cpp:212
BondSMState::SisterAlive
virtual void SisterAlive(BondSMContext &context)
Definition: BondSM_sm.cpp:41
statemap::State::getName
const char * getName() const
BondSM_sm.h
statemap::FSMContext::getTransition
char * getTransition()
BondSM::Death
void Death()
Definition: bond.cpp:399
SM_WaitingForSister::ConnectTimeout
void ConnectTimeout(BondSMContext &context)
Definition: BondSM_sm.cpp:63
SM_Dead::SisterAlive
void SisterAlive(BondSMContext &context)
Definition: BondSM_sm.cpp:339
SM_WaitingForSister::SisterDead
void SisterDead(BondSMContext &context)
Definition: BondSM_sm.cpp:126
BondSMContext::getState
BondSMState & getState() const
Definition: BondSM_sm.h:151
SM_AwaitSisterDeath::DisconnectTimeout
void DisconnectTimeout(BondSMContext &context)
Definition: BondSM_sm.cpp:243
BondSMContext
Definition: BondSM_sm.h:126
SM_AwaitSisterDeath::SisterAlive
void SisterAlive(BondSMContext &context)
Definition: BondSM_sm.cpp:273
SM_Dead::ConnectTimeout
void ConnectTimeout(BondSMContext &context)
Definition: BondSM_sm.cpp:303
SM_Dead::SisterDead
void SisterDead(BondSMContext &context)
Definition: BondSM_sm.cpp:348


bondcpp
Author(s): Stuart Glaser
autogenerated on Tue Mar 1 2022 23:53:37