49 struct CameraFilePathWrapper;
51 class CameraFileWrapper;
52 class CameraWidgetWrapper;
54 class CameraListWrapper;
67 CameraWrapper(std::string
const & model, std::string
const & port);
86 std::string getSummary()
const;
92 std::string getModel()
const;
98 std::string getPort()
const;
124 void triggerCapture();
169 void folderDeleteAll(std::string
const & folder);
189 void folderMakeDir(std::string
const & folder, std::string
const & name);
198 void folderRemoveDir(std::string
const & folder, std::string
const & name);
218 void fileDelete(std::string
const & folder, std::string
const & fileName)
const;
242 bool startListeningForEvents();
248 void stopListeningForEvents();
261 void initialize(std::string
const & model, std::string
const & port);
263 gphoto2::_Camera* m_camera =
nullptr;
265 std::shared_ptr<gphoto2::_GPContext> m_context;
270 observer::SubjectEvent<CameraEventTypeWrapper, void(const CameraFilePathWrapper&, const std::string&)> m_cameraEvents;
272 std::atomic<bool> m_listenForEvents;
273 std::future<bool> m_listenForEventSignalFuture;
275 mutable std::mutex m_cameraIOMutex;