|
Boost Users : |
Subject: Re: [Boost-users] Boost 1.49 msm problems with events
From: Kamel Zaarouri, Mr (kamel.zaarouri_at_[hidden])
Date: 2012-07-10 16:35:13
Hi, I am having problems with my transition table and events. Let me explain the fake design that illustrates the problem:
I have a state machine (myStateMachine) containing 2 states (s0 and s1) and 1 substatemachine (subm1).
the substatemachine subm1 contains an initial state 'sub0' and also s1 (the same state as in myStateMachine).
this is the main transition table:
s0->s1 on event 'ES1'
s0->s2 on event 'ES2'
s0->subm1 on event 'ESUB'
this is the submachine transition table:
sub0->s1 on event ES1
now, assume that state s1 is using the event that triggered it to extract some information i.e.
struct s1 : public msm::front::state<>
{
template <class Event,class FSM>
void on_entry(Event const& evt,FSM& fsm)
{
evt.getEventData();
}
}
so every event that could transition to s1 needs to implement getEventData() method.
->this is normal!
now my problem is that ESUB does NOT implement getEventData() but apparently it should. And I don't get why.
I am not using ESUB to transition to s1 but I am using ESUB to transition to subm1 and subm1 contains s1 but I don't access it at that point.
I hope this is clear.
Thank you.
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net