Commanders
Arduino buttons/bus library
ButtonsCommanderButton.hpp
1 //-------------------------------------------------------------------
2 #ifndef __buttonsCommanderButton_H__
3 #define __buttonsCommanderButton_H__
4 //-------------------------------------------------------------------
5 
6 #include <Commanders.h>
7 #ifndef NO_BUTTONSCOMMANDER
8 
16 {
17  protected:
19  unsigned long Id;
20 
21  private:
22  ButtonsCommanderButton *pNextButton;
23 
24  public:
28  ButtonsCommanderButton(unsigned long inId);
30  inline unsigned long GetId() const { return this->Id; }
35  inline virtual ButtonsCommanderButton* GetFromId(unsigned long inId) { if (this->Id == inId) return this; return NULL; }
36 
40  inline virtual int GetPosition() const { return 0; }
41 
44  inline virtual void beforeFirstLoop() { }
46  inline virtual unsigned long loop()
47  {
50  return UNDEFINED_ID;
51  }
53  inline virtual void EndLoop() {}
54 
58  inline void SetNextButton(ButtonsCommanderButton *inpButton) { this->pNextButton = inpButton; }
62  inline ButtonsCommanderButton *GetNextButton() const { return this->pNextButton; }
63 #ifdef COMMANDERS_PRINT_COMMANDERS
64 
67  inline virtual void printCommander() {}
68 #endif
69 };
70 
71 //-------------------------------------------------------------------
72 #endif
73 #endif
ButtonsCommanderButton * GetNextButton() const
void SetNextButton(ButtonsCommanderButton *inpButton)
#define UNDEFINED_ID
Definition: Events.h:38
static void SetLastEventData(int inData)
Definition: Commanders.hpp:93
virtual unsigned long loop()
virtual int GetPosition() const
virtual ButtonsCommanderButton * GetFromId(unsigned long inId)
static void SetLastEventType(COMMANDERS_EVENT_TYPE inEvent)
Definition: Commanders.hpp:89
unsigned long GetId() const
ButtonsCommanderButton(unsigned long inId)