| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- #pragma once
- #include <map>
- #include <list>
- #include "accessor_view_manager.h"
- #include "scene/accessor_scene_start.h"
- #include "helpers/wiegand.h"
- #include <one_wire/one_wire_host.h>
- #include <notification/notification_messages.h>
- class AccessorApp {
- public:
- void run(void);
- AccessorApp();
- ~AccessorApp();
- enum class Scene : uint8_t {
- Exit,
- Start,
- };
- AccessorAppViewManager* get_view_manager();
- void switch_to_next_scene(Scene index);
- void search_and_switch_to_previous_scene(std::initializer_list<Scene> scenes_list);
- bool switch_to_previous_scene(uint8_t count = 1);
- Scene get_previous_scene();
- void notify_green_blink();
- void notify_success();
- char* get_text_store();
- uint8_t get_text_store_size();
- void set_text_store(const char* text...);
- WIEGAND* get_wiegand();
- OneWireHost* get_one_wire();
- private:
- std::list<Scene> previous_scenes_list = {Scene::Exit};
- Scene current_scene = Scene::Start;
- AccessorAppViewManager view;
- std::map<Scene, AccessorScene*> scenes = {
- {Scene::Start, new AccessorSceneStart()},
- };
- static const uint8_t text_store_size = 128;
- char text_store[text_store_size + 1];
- WIEGAND wiegand;
- OneWireHost* onewire_host;
- NotificationApp* notification;
- };
|