picopass_i.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #pragma once
  2. #include "picopass.h"
  3. #include "picopass_worker.h"
  4. #include "picopass_device.h"
  5. #include <rfal_picopass.h>
  6. #include <furi.h>
  7. #include <gui/gui.h>
  8. #include <gui/view_dispatcher.h>
  9. #include <gui/scene_manager.h>
  10. #include <notification/notification_messages.h>
  11. #include <gui/modules/submenu.h>
  12. #include <gui/modules/popup.h>
  13. #include <gui/modules/widget.h>
  14. #include <input/input.h>
  15. #include <picopass/scenes/picopass_scene.h>
  16. #include <storage/storage.h>
  17. #include <lib/toolbox/path.h>
  18. enum PicopassCustomEvent {
  19. // Reserve first 100 events for button types and indexes, starting from 0
  20. PicopassCustomEventReserved = 100,
  21. PicopassCustomEventViewExit,
  22. PicopassCustomEventWorkerExit,
  23. PicopassCustomEventByteInputDone,
  24. PicopassCustomEventTextInputDone,
  25. PicopassCustomEventDictAttackDone,
  26. };
  27. typedef enum {
  28. EventTypeTick,
  29. EventTypeKey,
  30. } EventType;
  31. struct Picopass {
  32. PicopassWorker* worker;
  33. ViewDispatcher* view_dispatcher;
  34. Gui* gui;
  35. NotificationApp* notifications;
  36. SceneManager* scene_manager;
  37. PicopassDevice* dev;
  38. // Common Views
  39. Submenu* submenu;
  40. Popup* popup;
  41. Widget* widget;
  42. };
  43. typedef enum {
  44. PicopassViewMenu,
  45. PicopassViewPopup,
  46. PicopassViewWidget,
  47. } PicopassView;
  48. Picopass* picopass_alloc();
  49. void picopass_blink_start(Picopass* picopass);
  50. void picopass_blink_stop(Picopass* picopass);