#ifndef __BOOTLOADER_FWBUNDLE_H_ #define __BOOTLOADER_FWBUNDLE_H_ #ifdef __cplusplus #include "icsneo/device/extensions/bootloader/parser/fwrepo.h" #include #include #include #include #include namespace icsneo { namespace Bootloader { class FWBundle : public FWRepo { public: FWBundle() = default; bool load(const std::string& path); static bool IsFWBundle(const std::string& path); const FirmwareSourceVersion& getVersion() const override { return version; } bool getFW(const std::string& iefName, std::vector& fw) const override; std::optional getChipVersion(const std::string& iefName) const override; private: struct ChipBinary { std::vector data; FirmwareSourceVersion version; }; FirmwareSourceVersion version; std::unordered_map binaries; }; } // namespace Bootloader } // namespace icsneo #endif // __cplusplus #endif // __BOOTLOADER_FWBUNDLE_H_