mirror of
https://github.com/DarkFlippers/unleashed-firmware.git
synced 2024-12-25 14:22:27 +03:00
ffa3996a5e
* clang-format: AllowShortEnumsOnASingleLine: false * clang-format: InsertNewlineAtEOF: true * clang-format: Standard: c++20 * clang-format: AlignConsecutiveBitFields * clang-format: AlignConsecutiveMacros * clang-format: RemoveParentheses: ReturnStatement * clang-format: RemoveSemicolon: true * Restored RemoveParentheses: Leave, retained general changes for it * formatting: fixed logging TAGs * Formatting update for dev Co-authored-by: あく <alleteam@gmail.com>
32 lines
854 B
C
32 lines
854 B
C
#pragma once
|
|
|
|
#include <storage/storage.h>
|
|
#include <furi_hal.h>
|
|
|
|
#define UPDATE_TASK_NOERR 0
|
|
#define UPDATE_TASK_FAILED -1
|
|
|
|
typedef struct UpdateTask {
|
|
UpdateTaskState state;
|
|
FuriString* update_path;
|
|
UpdateManifest* manifest;
|
|
FuriThread* thread;
|
|
Storage* storage;
|
|
File* file;
|
|
updateProgressCb status_change_cb;
|
|
void* status_change_cb_state;
|
|
FuriHalRtcBootMode boot_mode;
|
|
} UpdateTask;
|
|
|
|
void update_task_set_progress(UpdateTask* update_task, UpdateTaskStage stage, uint8_t progress);
|
|
bool update_task_parse_manifest(UpdateTask* update_task);
|
|
bool update_task_open_file(UpdateTask* update_task, FuriString* filename);
|
|
|
|
int32_t update_task_worker_flash_writer(void* context);
|
|
int32_t update_task_worker_backup_restore(void* context);
|
|
|
|
#define CHECK_RESULT(x) \
|
|
if(!(x)) { \
|
|
break; \
|
|
}
|