FairMQ/fairmq/FairMQStateMachine.h
Alexey Rybalchenko 3803a3d155 a little clean up
2014-01-28 11:56:08 +01:00

40 lines
777 B
C++

/**
* FairMQStateMachine.h
*
* @since 2012-10-25
* @author D. Klein, A. Rybalchenko
*/
#ifndef FAIRMQSTATEMACHINE_H_
#define FAIRMQSTATEMACHINE_H_
#include <boost/thread.hpp>
class FairMQStateMachine
{
public:
enum State {
IDLE, INITIALIZING, SETTINGOUTPUT, SETTINGINPUT, WAITING, RUNNING
};
enum Event {
INIT, SETOUTPUT, SETINPUT, PAUSE, RUN, STOP, END
};
FairMQStateMachine();
void ChangeState(int event);
virtual ~FairMQStateMachine();
protected:
State fState;
Event fEvent;
virtual void Init();
virtual void Run();
virtual void Pause();
virtual void Shutdown();
virtual void InitOutput();
virtual void InitInput();
boost::thread running_state;
};
#endif /* FAIRMQSTATEMACHINE_H_ */