15 #ifndef FAIRMQSTATEMACHINE_H_ 16 #define FAIRMQSTATEMACHINE_H_ 18 #define FAIRMQ_INTERFACE_VERSION 3 20 #include "FairMQLogger.h" 33 internal_DEVICE_READY,
65 int GetInterfaceVersion()
const;
67 bool ChangeState(
int event);
68 bool ChangeState(
const std::string& event);
70 void WaitForEndOfState(
int event);
71 void WaitForEndOfState(
const std::string& event);
73 bool WaitForEndOfStateForMs(
int event,
int durationInMs);
74 bool WaitForEndOfStateForMs(
const std::string& event,
int durationInMs);
76 void SubscribeToStateChange(
const std::string& key, std::function<
void(
const State)> callback);
77 void UnsubscribeFromStateChange(
const std::string& key);
79 void CallStateChangeCallbacks(
const State state)
const;
81 std::string GetCurrentStateName()
const;
82 static std::string GetStateName(
const State);
83 int GetCurrentState()
const;
84 bool CheckCurrentState(
int state)
const;
85 bool CheckCurrentState(
const std::string& state)
const;
88 virtual void InitWrapper() {}
89 virtual void InitTaskWrapper() {}
90 virtual void RunWrapper() {}
91 virtual void PauseWrapper() {}
92 virtual void ResetWrapper() {}
93 virtual void ResetTaskWrapper() {}
94 virtual void Exit() {}
95 virtual void Unblock() {}
100 static int GetEventNumber(
const std::string& event);
102 std::mutex fChangeStateMutex;
104 std::shared_ptr<void> fFsm;
Definition: FairMQStateMachine.h:27