applications.h 1.7 KB

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