#pragma once #include "IActivity.h" class BaseActivity : public IActivity { public: enum Button { Cancel = 1, Ok = 2, Minus = 4, Plus = 8 }; explicit BaseActivity( IActivity* mParentActivity = nullptr , IActivity* mChildActivity = nullptr , IActivity* mPreviousActivity = nullptr , IActivity* mNextActivity = nullptr ); void begin() override; void loop() override; protected: void updateLcd(); virtual void getLcdText(char** lines) = 0; virtual void onButtonReleased(Button button); bool m_lcdUpdateNeeded; IActivity* m_parentActivity; IActivity* m_childActivity; IActivity* m_previousActivity; IActivity* m_nextActivity; };