File management and Completed Part 1
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
#ifndef STATE_H
|
||||
#define STATE_H
|
||||
|
||||
class Context;
|
||||
|
||||
class State
|
||||
{
|
||||
protected:
|
||||
Context* context_ = nullptr;
|
||||
|
||||
public:
|
||||
virtual ~State() = default;
|
||||
|
||||
void set_context(Context* context)
|
||||
{
|
||||
context_ = context;
|
||||
}
|
||||
|
||||
virtual const char* name() const = 0;
|
||||
|
||||
virtual void on_entry() = 0;
|
||||
virtual void on_do() = 0;
|
||||
virtual void on_exit() = 0;
|
||||
|
||||
// Events
|
||||
virtual void reset()
|
||||
{
|
||||
}
|
||||
|
||||
virtual void set_operational()
|
||||
{
|
||||
}
|
||||
|
||||
virtual void set_pre_operational()
|
||||
{
|
||||
}
|
||||
|
||||
virtual void fault()
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user