loader_i.h 851 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #include "loader.h"
  2. #include <furi.h>
  3. #include <furi_hal.h>
  4. #include <furi/pubsub.h>
  5. #include <cli/cli.h>
  6. #include <lib/toolbox/args.h>
  7. #include <gui/view_dispatcher.h>
  8. #include <gui/modules/menu.h>
  9. #include <gui/modules/submenu.h>
  10. #include <applications.h>
  11. #include <assets_icons.h>
  12. struct Loader {
  13. osThreadId_t loader_thread;
  14. const FlipperApplication* application;
  15. FuriThread* application_thread;
  16. char* application_arguments;
  17. Cli* cli;
  18. Gui* gui;
  19. ViewDispatcher* view_dispatcher;
  20. Menu* primary_menu;
  21. Submenu* plugins_menu;
  22. Submenu* debug_menu;
  23. Submenu* settings_menu;
  24. size_t free_heap_size;
  25. volatile uint8_t lock_count;
  26. FuriPubSub* pubsub;
  27. };
  28. typedef enum {
  29. LoaderMenuViewPrimary,
  30. LoaderMenuViewPlugins,
  31. LoaderMenuViewDebug,
  32. LoaderMenuViewSettings,
  33. } LoaderMenuView;