29 size_t size,
bool skip_sii_installation,
30 std::vector<std::string> skip_files);
44 motionmaster::MotionMasterMessage::Status*>&
51 uint32_t device_address_;
52 std::vector<uint8_t> zip_data_;
53 std::map<std::string, std::vector<uint8_t>> unzipped_files_;
54 std::string sii_file_name_;
55 std::string app_file_name_;
56 std::string com_file_name_;
58 bool skip_sii_installation_ =
false;
60 std::vector<std::string> skip_files_;
67 const std::unordered_set<std::string> filename_whitelist_ = {
68 "stack_image.svg.zip",
"SOMANET_CiA_402.xml.zip"};
70 std::pair<uint8_t, uint8_t> progress_range_;
71 uint8_t progress_percentage_ = 0;
72 std::string progress_message_;
75 motionmaster::MotionMasterMessage::Status*>
76 outgoing_status_message_queue_;
78 std::function<void(uint8_t)> progress_callback_;
89 const std::vector<uint8_t>& content);
97 void send_progress(uint8_t percentage,
const std::string& message =
"");
105 void send_warning(motionmaster::MotionMasterMessage::Status::
106 DeviceFirmwareInstallation::Warning::Code warning_code,
107 const std::string& message);
Flash(VirtualDeviceManager &vdm, uint32_t device_address, const char *data, size_t size, bool skip_sii_installation, std::vector< std::string > skip_files)
Unpack the ZIP file and validate the files inside.
Definition flash.cc:20