applications.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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. /* System apps
  37. * Can only be spawned by loader by name
  38. */
  39. extern const FlipperApplication FLIPPER_SYSTEM_APPS[];
  40. extern const size_t FLIPPER_SYSTEM_APPS_COUNT;
  41. /* Seperate scene app holder
  42. * Spawned by loader
  43. */
  44. extern const FlipperApplication FLIPPER_SCENE;
  45. extern const FlipperApplication FLIPPER_SCENE_APPS[];
  46. extern const size_t FLIPPER_SCENE_APPS_COUNT;
  47. extern const FlipperApplication FLIPPER_ARCHIVE;
  48. /* Settings list
  49. * Spawned by loader
  50. */
  51. extern const FlipperApplication FLIPPER_SETTINGS_APPS[];
  52. extern const size_t FLIPPER_SETTINGS_APPS_COUNT;