Initial commit
This commit is contained in:
54
test-bench/test4/src/app/statemachine04a.h
Normal file
54
test-bench/test4/src/app/statemachine04a.h
Normal file
@@ -0,0 +1,54 @@
|
||||
#ifndef STATEMACHINE04A_H
|
||||
#define STATEMACHINE04A_H
|
||||
|
||||
#include <string>
|
||||
#include "xf/behavior.h"
|
||||
|
||||
/**
|
||||
* \ingroup test04
|
||||
*
|
||||
* Implements a state machine sending its neighbour state machine
|
||||
* an \a evRestart event every four seconds.
|
||||
*
|
||||
* Following you will find the state machine implemented by StateMachine04a:
|
||||
* \image html state-machine04a.png "State Machine implemented by StateMachine04"
|
||||
*/
|
||||
class StateMachine04a : public XFBehavior
|
||||
{
|
||||
public:
|
||||
StateMachine04a(); ///< Constructor
|
||||
~StateMachine04a() override;
|
||||
|
||||
void setNeighbour(XFBehavior * pNeighbour);
|
||||
XFBehavior * getNeighbour() const;
|
||||
|
||||
protected:
|
||||
XFEventStatus processEvent() override;
|
||||
|
||||
protected:
|
||||
/**
|
||||
* Timeout identifier(s) for this state machine
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
Timeout_WAIT_id = 1 ///< Timeout id for WAIT
|
||||
} eTimeoutId;
|
||||
|
||||
/**
|
||||
* Enumeration used to have a unique identifier for every
|
||||
* state in the state machine.
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
STATE_UNKOWN = 0, ///< Unknown state
|
||||
STATE_INITIAL = 1, ///< Initial state
|
||||
STATE_WAIT = 2, ///< Wait state
|
||||
STATE_SEND_RESTART = 3 ///< State sending an restart event
|
||||
} eMainState;
|
||||
|
||||
eMainState currentState_; ///< Attribute indicating currently active state
|
||||
|
||||
XFBehavior * pNeighbour_; ///< Association to the neigbour state machine
|
||||
};
|
||||
|
||||
#endif // STATEMACHINE04A_H
|
||||
Reference in New Issue
Block a user