loader_i.h 770 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #include "loader.h"
  2. #include <furi.h>
  3. #include <furi-hal.h>
  4. #include <cli/cli.h>
  5. #include <gui/view_dispatcher.h>
  6. #include <gui/modules/menu.h>
  7. #include <gui/modules/submenu.h>
  8. #include <applications.h>
  9. #include <assets_icons.h>
  10. struct Loader {
  11. osThreadId_t loader_thread;
  12. FuriThread* thread;
  13. const FlipperApplication* current_app;
  14. string_t args;
  15. Cli* cli;
  16. Gui* gui;
  17. ViewDispatcher* view_dispatcher;
  18. Menu* primary_menu;
  19. Submenu* plugins_menu;
  20. Submenu* debug_menu;
  21. Submenu* settings_menu;
  22. size_t free_heap_size;
  23. osMutexId_t mutex;
  24. volatile uint8_t lock_semaphore;
  25. };
  26. typedef enum {
  27. LoaderMenuViewPrimary,
  28. LoaderMenuViewPlugins,
  29. LoaderMenuViewDebug,
  30. LoaderMenuViewSettings,
  31. } LoaderMenuView;