Files
Embedded-System-Projects/Project_3_Dynamic_Controller/include/state.h
T

43 lines
567 B
C++

#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