application_manifest.c 953 B

12345678910111213141516171819202122232425262728
  1. #include "application_manifest.h"
  2. #include <furi_hal_version.h>
  3. bool flipper_application_manifest_is_valid(const FlipperApplicationManifest* manifest) {
  4. if((manifest->base.manifest_magic != FAP_MANIFEST_MAGIC) ||
  5. (manifest->base.manifest_version != FAP_MANIFEST_SUPPORTED_VERSION)) {
  6. return false;
  7. }
  8. return true;
  9. }
  10. bool flipper_application_manifest_is_compatible(
  11. const FlipperApplicationManifest* manifest,
  12. const ElfApiInterface* api_interface) {
  13. if(manifest->base.api_version.major != api_interface->api_version_major /* ||
  14. manifest->base.api_version.minor > app->api_interface->api_version_minor */) {
  15. return false;
  16. }
  17. return true;
  18. }
  19. bool flipper_application_manifest_is_target_compatible(const FlipperApplicationManifest* manifest) {
  20. const Version* version = furi_hal_version_get_firmware_version();
  21. return version_get_target(version) == manifest->base.hardware_target_id;
  22. }