updater_i.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #pragma once
  2. #include "views/updater_main.h"
  3. #include "util/update_task.h"
  4. #include <furi.h>
  5. #include <gui/gui.h>
  6. #include <gui/view_stack.h>
  7. #include <gui/view_dispatcher.h>
  8. #include <gui/modules/popup.h>
  9. #include <gui/scene_manager.h>
  10. #include <gui/modules/widget.h>
  11. #include <storage/storage.h>
  12. #include <notification/notification_app.h>
  13. #include <update_util/update_operation.h>
  14. #ifdef __cplusplus
  15. extern "C" {
  16. #endif
  17. #define UPDATER_APP_TICK 500
  18. typedef enum {
  19. UpdaterViewMain,
  20. UpdaterViewWidget,
  21. } UpdaterViewEnum;
  22. typedef enum {
  23. UpdaterCustomEventUnknown,
  24. UpdaterCustomEventStartUpdate,
  25. UpdaterCustomEventRetryUpdate,
  26. UpdaterCustomEventCancelUpdate,
  27. UpdaterCustomEventSdUnmounted,
  28. } UpdaterCustomEvent;
  29. typedef struct {
  30. // GUI
  31. Gui* gui;
  32. NotificationApp* notification;
  33. SceneManager* scene_manager;
  34. ViewDispatcher* view_dispatcher;
  35. Storage* storage;
  36. UpdaterMainView* main_view;
  37. UpdateManifest* loaded_manifest;
  38. UpdatePrepareResult preparation_result;
  39. UpdateTask* update_task;
  40. Widget* widget;
  41. FuriString* startup_arg;
  42. int32_t idle_ticks;
  43. } Updater;
  44. Updater* updater_alloc(const char* arg);
  45. void updater_free(Updater* updater);
  46. #ifdef __cplusplus
  47. }
  48. #endif