| 12345678910111213141516171819202122232425262728293031323334 | /** * @file * @author Marek Bel */#ifndef MENUSTACK_H#define MENUSTACK_H#include <stdint.h>/** Pointer to function implementing menu.*/typedef void (*menuFunc_t)();/** * @brief Stack implementation for navigating menu structure */class MenuStack{public:    struct Record    {        menuFunc_t menu;        int8_t position;    };    MenuStack():m_stack(),m_index(0) {}    void push(menuFunc_t menu, int8_t position);    Record pop();    void reset(){m_index = 0;}private:    static const int max_depth = 4;    Record m_stack[max_depth];    uint8_t m_index;};#endif /* FIRMWARE_MENUSTACK_H_ */
 |