19 #ifndef __FOTA_COMPONENT_H_ 20 #define __FOTA_COMPONENT_H_ 22 #include "fota/fota_base.h" 24 #if MBED_CLOUD_CLIENT_FOTA_ENABLE 26 #include "fota/fota_component_defs.h" 27 #include "fota/fota_crypto_defs.h" 28 #include "fota/fota_candidate.h" 43 typedef int (*fota_component_curr_fw_read)(uint8_t *buf,
size_t offset,
size_t size,
size_t *num_read);
51 typedef int (*fota_component_curr_fw_get_digest)(uint8_t *buf);
58 typedef int (*fota_component_post_install_handler_t)(
const char *new_sem_ver);
72 uint32_t install_alignment;
75 #if !defined(TARGET_LIKE_LINUX) 76 fota_candidate_iterate_handler_t candidate_iterate_cb;
78 fota_component_post_install_handler_t component_post_install_cb;
79 fota_component_curr_fw_read curr_fw_read;
80 fota_component_curr_fw_get_digest curr_fw_get_digest;
81 } fota_component_desc_info_t;
92 int fota_component_add(
const fota_component_desc_info_t *comp_desc,
const char *comp_name,
const char *comp_semver);
100 int fota_component_version_int_to_semver(fota_component_version_t version,
char *sem_ver);
103 #if defined(TARGET_LIKE_LINUX) 115 int fota_component_install_main(
const char *candidate_file_name);
117 #endif // defined(TARGET_LIKE_LINUX) 123 #endif // MBED_CLOUD_CLIENT_FOTA_ENABLE 124 #endif // __FOTA_COMPONENT_H_