applications.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #pragma once
  2. #include <furi.h>
  3. #include <gui/icon.h>
  4. typedef struct {
  5. const FuriThreadCallback app;
  6. const char* name;
  7. const size_t stack_size;
  8. const Icon* icon;
  9. } FlipperApplication;
  10. typedef void (*FlipperOnStartHook)(void);
  11. /* Services list
  12. * Spawned on startup
  13. */
  14. extern const FlipperApplication FLIPPER_SERVICES[];
  15. extern const size_t FLIPPER_SERVICES_COUNT;
  16. /* Apps list
  17. * Spawned by loader
  18. */
  19. extern const FlipperApplication FLIPPER_APPS[];
  20. extern const size_t FLIPPER_APPS_COUNT;
  21. /* On system start hooks
  22. * Called by loader, after OS initialization complete
  23. */
  24. extern const FlipperOnStartHook FLIPPER_ON_SYSTEM_START[];
  25. extern const size_t FLIPPER_ON_SYSTEM_START_COUNT;
  26. /* Plugins list
  27. * Spawned by loader
  28. */
  29. extern const FlipperApplication FLIPPER_PLUGINS[];
  30. extern const size_t FLIPPER_PLUGINS_COUNT;
  31. /* Debug menu apps
  32. * Spawned by loader
  33. */
  34. extern const FlipperApplication FLIPPER_DEBUG_APPS[];
  35. extern const size_t FLIPPER_DEBUG_APPS_COUNT;
  36. /* Seperate scene app holder
  37. * Spawned by loader
  38. */
  39. extern const FlipperApplication FLIPPER_SCENE;
  40. extern const FlipperApplication FLIPPER_SCENE_APPS[];
  41. extern const size_t FLIPPER_SCENE_APPS_COUNT;
  42. extern const FlipperApplication FLIPPER_ARCHIVE;
  43. /* Settings list
  44. * Spawned by loader
  45. */
  46. extern const FlipperApplication FLIPPER_SETTINGS_APPS[];
  47. extern const size_t FLIPPER_SETTINGS_APPS_COUNT;