4 #ifndef ZEBRA_DEVICE_MANAGER_H_
5 #define ZEBRA_DEVICE_MANAGER_H_
20 #include "firmware_download_event_args.h"
21 #include "device_manager_types.h"
22 #include "zebra_camera.h"
25 namespace camera_sdk {
27 class PlatformManagementAdapter;
28 class FirmwareUpdater;
33 class FirmwareDownloadEventListener {
35 virtual ~FirmwareDownloadEventListener() {}
36 virtual void EventReceived(FirmwareDownloadEventsArgs) = 0;
92 std::shared_ptr<ZebraCamera>
Reboot(std::shared_ptr<ZebraCamera> camera, uint16_t timeout = 20);
107 std::shared_ptr<ZebraCamera>
InstallFirmware(std::shared_ptr<ZebraCamera> camera, uint16_t timeout = 20);
146 void LoadConfiguration(std::shared_ptr<ZebraCamera> camera, std::string configuration,
bool persist=
true);
157 std::vector<std::reference_wrapper<FirmwareDownloadEventListener>> firmware_download_listeners_;
158 std::mutex firmware_download_listeners_mutex_;
160 std::shared_ptr<PlatformManagementAdapter> platform_management_adapter_;
162 std::vector<FirmwareUpdater*> firmware_updaters_;
167 std::vector<FirmwareUpdater*>::iterator GetIterator(std::shared_ptr<ZebraCamera> camera);