Zebra Bioptic Color Camera SDK For Linux  1.0.0-17
All Classes Functions Variables Enumerations Enumerator
zebra_camera_manager_client_concrete.h
1 #ifndef ZEBRA_CAMERA_MANAGER_CLIENT_CONCRETE_H_
2 #define ZEBRA_CAMERA_MANAGER_CLIENT_CONCRETE_H_
3 
4 #include <mutex>
5 
6 #include "zebra_camera_manager_client.h"
7 #include "zebra_camera_manager_messenger.h"
8 
9 namespace zebra {
10 namespace camera_sdk {
11 
12 /*
13  * Zebra Camera Manager Client.
14  */
16 {
17 public:
20 
21  /*
22  * Overrides.
23  */
24  std::shared_ptr<ZebraCameraClient> CreateZebraCamera(zebra::DeviceInfo camera_info) override;
25 
26 
27  std::string RetrieveConfiguration(std::shared_ptr<ZebraCameraClient> camera_client) override;
28 
29  void RetrieveConfigurationToFile(std::shared_ptr<ZebraCameraClient> camera_client, std::string configuration_file_path) override;
30 
31  void LoadConfiguration(std::shared_ptr<ZebraCameraClient> camera_client, std::string configuration, bool persist=true) override;
32 
34  std::shared_ptr<ZebraCameraClient> camera_client, std::string configuration_file_path, bool persist=true) override;
35 
36  void DownloadFirmware(std::shared_ptr<ZebraCameraClient> camera_client, std::string filepath) override;
37 
38  void CancelFirmwareDownload(std::shared_ptr<ZebraCameraClient> camera_client) override;
39 
40  std::shared_ptr<ZebraCameraClient> InstallFirmware(
41  std::shared_ptr<ZebraCameraClient> camera_client, uint16_t timeout = 20) override;
42 
43  std::shared_ptr<ZebraCameraClient> Reboot(
44  std::shared_ptr<ZebraCameraClient> camera_client, uint16_t timeout = 20) override;
45 
46  void AddFirmwareDownloadEventListener(FirmwareDownloadEventListener& firmware_download_event_listener) override;
47 
48  void RemoveFirmwareDownloadEventListener(FirmwareDownloadEventListener& firmware_download_event_listener) override;
49 
50 private:
51  /*
52  * @brief Firmware download event callback.
53  */
54  void OnFirmwareDownloadEvent(FirmwareDownloadEventsArgs& event_data);
55 
56 private:
57  ZebraCameraManagerMessenger messenger_;
58 
59  std::vector<std::reference_wrapper<FirmwareDownloadEventListener>> firmware_download_listeners_;
60  std::mutex firmware_download_listeners_mutex_;
61 };
62 
63 } /* namespace camera_sdk */
64 } /* namespace zebra */
65 
66 #endif /* ZEBRA_CAMERA_MANAGER_CLIENT_CONCRETE_H_ */
zebra::camera_sdk::ZebraCameraManagerClientConcrete
Definition: zebra_camera_manager_client_concrete.h:16
zebra::camera_sdk::FirmwareDownloadEventsArgs
Definition: firmware_download_event_args.h:17
zebra::camera_sdk::ZebraCameraManagerClientConcrete::DownloadFirmware
void DownloadFirmware(std::shared_ptr< ZebraCameraClient > camera_client, std::string filepath) override
zebra::camera_sdk::ZebraCameraManagerClientConcrete::CancelFirmwareDownload
void CancelFirmwareDownload(std::shared_ptr< ZebraCameraClient > camera_client) override
zebra::camera_sdk::FirmwareDownloadEventListener
Definition: zebra_camera_manager_client.h:36
zebra::camera_sdk::ZebraCameraManagerClientConcrete::CreateZebraCamera
std::shared_ptr< ZebraCameraClient > CreateZebraCamera(zebra::DeviceInfo camera_info) override
zebra::camera_sdk::ZebraCameraManagerClientConcrete::AddFirmwareDownloadEventListener
void AddFirmwareDownloadEventListener(FirmwareDownloadEventListener &firmware_download_event_listener) override
zebra::camera_sdk::ZebraCameraManagerClient
Definition: zebra_camera_manager_client.h:46
zebra::camera_sdk::ZebraCameraManagerClientConcrete::RetrieveConfigurationToFile
void RetrieveConfigurationToFile(std::shared_ptr< ZebraCameraClient > camera_client, std::string configuration_file_path) override
zebra::camera_sdk::ZebraCameraManagerClientConcrete::Reboot
std::shared_ptr< ZebraCameraClient > Reboot(std::shared_ptr< ZebraCameraClient > camera_client, uint16_t timeout=20) override
zebra::camera_sdk::ZebraCameraManagerClientConcrete::RetrieveConfiguration
std::string RetrieveConfiguration(std::shared_ptr< ZebraCameraClient > camera_client) override
zebra::camera_sdk::ZebraCameraManagerClientConcrete::LoadConfigurationFromFile
void LoadConfigurationFromFile(std::shared_ptr< ZebraCameraClient > camera_client, std::string configuration_file_path, bool persist=true) override
zebra::camera_sdk::ZebraCameraManagerClientConcrete::LoadConfiguration
void LoadConfiguration(std::shared_ptr< ZebraCameraClient > camera_client, std::string configuration, bool persist=true) override
zebra::camera_sdk::ZebraCameraManagerClientConcrete::InstallFirmware
std::shared_ptr< ZebraCameraClient > InstallFirmware(std::shared_ptr< ZebraCameraClient > camera_client, uint16_t timeout=20) override
zebra::DeviceInfo
Definition: device_manager_types.h:15