lfrfid-app.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #pragma once
  2. #include <furi.h>
  3. #include <api-hal.h>
  4. #include <generic-scene.hpp>
  5. #include <scene-controller.hpp>
  6. #include <view-controller.hpp>
  7. #include <record-controller.hpp>
  8. #include <text-store.h>
  9. #include <view-modules/submenu-vm.h>
  10. #include <view-modules/popup-vm.h>
  11. #include <view-modules/dialog-ex-vm.h>
  12. #include <view-modules/text-input-vm.h>
  13. #include <view-modules/byte-input-vm.h>
  14. #include "view/container-vm.h"
  15. #include <sd-card-api.h>
  16. #include <filesystem-api.h>
  17. #include <notification/notification-messages.h>
  18. #include "helpers/rfid-worker.h"
  19. class LfRfidApp {
  20. public:
  21. enum class EventType : uint8_t {
  22. GENERIC_EVENT_ENUM_VALUES,
  23. Next,
  24. MenuSelected,
  25. };
  26. enum class SceneType : uint8_t {
  27. GENERIC_SCENE_ENUM_VALUES,
  28. Read,
  29. ReadSuccess,
  30. ReadedMenu,
  31. Write,
  32. WriteSuccess,
  33. Emulate,
  34. SaveName,
  35. };
  36. class Event {
  37. public:
  38. union {
  39. int32_t menu_index;
  40. } payload;
  41. EventType type;
  42. };
  43. SceneController<GenericScene<LfRfidApp>, LfRfidApp> scene_controller;
  44. ViewController<LfRfidApp, SubmenuVM, PopupVM, DialogExVM, TextInputVM, ByteInputVM, ContainerVM>
  45. view_controller;
  46. ~LfRfidApp();
  47. LfRfidApp();
  48. RecordController<FS_Api> fs_api;
  49. RecordController<SdCard_Api> sd_ex_api;
  50. RecordController<NotificationApp> notification;
  51. RfidWorker worker;
  52. TextStore text_store;
  53. void run();
  54. };