RICOH Camera USB SDK for C++  1.1.0
RICOH Camera USB SDK for C++
camera_device.hpp
Go to the documentation of this file.
1 // Copyright (c) 2017 Ricoh Company, Ltd. All Rights Reserved.
2 #ifndef RICOH_CAMERA_SDK_CAMERA_DEVICE_HPP_
3 #define RICOH_CAMERA_SDK_CAMERA_DEVICE_HPP_
4 
5 #include <vector>
6 #include <map>
7 #include <memory>
8 
12 
13 namespace Ricoh {
14 namespace CameraController {
15 
16 class Response;
18 class CameraStorageList;
19 class CameraImageList;
22 class CaptureSetting;
23 
27 enum class DeviceInterface {
28  USB
29 };
30 
35 public:
36  virtual ~CameraDevice() = default;
37 
38  virtual bool operator==(const CameraDevice& obj) const = 0;
39  virtual bool operator!=(const CameraDevice& obj) const = 0;
40 
47  virtual Response connect(DeviceInterface deviceInterface) = 0;
48 
55  virtual Response disconnect(DeviceInterface deviceInterface) = 0;
56 
64  virtual bool isConnected(DeviceInterface deviceInterface) const = 0;
65 
69  virtual const std::string& getManufacturer() const = 0;
70 
74  virtual const std::string& getModel() const = 0;
75 
79  virtual const std::string& getFirmwareVersion() const = 0;
80 
84  virtual const std::string& getSerialNumber() const = 0;
85 
91  virtual const CameraStatus& getStatus() const = 0;
92 
98  virtual const CameraStorageList& getStorages() const = 0;
99 
107  virtual const CameraImageList& getImages() const = 0;
108 
114  virtual void addEventListener(const std::shared_ptr<CameraEventListener>& listener) = 0;
115 
121  virtual void removeEventListener(const std::shared_ptr<CameraEventListener>& listener) = 0;
122 
128  virtual const std::vector<std::shared_ptr<CameraEventListener>>& getEventListeners() const = 0;
129 
135  virtual Response focus() = 0;
136 
143  virtual Response focus(const Point& point) = 0;
144 
151  virtual Response focus(int adjustment) = 0;
152 
159  virtual StartCaptureResponse startCapture(bool withFocus = true) = 0;
160 
167  virtual StartCaptureResponse startCapture(const Point& point) = 0;
168 
174  virtual Response stopCapture() = 0;
175 
181  virtual Response startLiveView() = 0;
182 
188  virtual Response stopLiveView() = 0;
189 
196  virtual Response getCameraDeviceSettings(
197  const std::vector<CameraDeviceSetting*>& settings) const = 0;
198 
205  virtual Response setCameraDeviceSettings(
206  const std::vector<const CameraDeviceSetting*>& settings) const = 0;
207 
214  virtual Response getCaptureSettings(
215  const std::vector<CaptureSetting*>& settings) const = 0;
216 
223  virtual Response setCaptureSettings(
224  const std::vector<const CaptureSetting*>& settings) const = 0;
225 
226 };
227 
228 } // namespace CameraController
229 } // namespace Ricoh
230 
231 #endif // RICOH_CAMERA_SDK_CAMERA_DEVICE_HPP_
Definition: camera_device.hpp:13
The class for a response having a capture from a camera device.
Definition: response.hpp:75
The structure to represent point.
Definition: point.hpp:14
The class for a response from a camera device.
Definition: response.hpp:27
This class is base class for capture settings. Sub classes of this class are used to handle capture s...
Definition: capture_setting.hpp:20
#define RCSDK_API
Definition: export.hpp:17
The class of Event listener receiving notification from the camera device.
Definition: camera_event_listener.hpp:20
The class for information and operations on a camera device.
Definition: camera_device.hpp:34
The list of CameraImage.
Definition: camera_image_list.hpp:17
DeviceInterface
The type of a interface for connection.
Definition: camera_device.hpp:27
This class is base class for camera device settings. Sub classes of this class are used to handle cam...
Definition: camera_device_setting.hpp:19
The list of CameraStorage.
Definition: camera_storage_list.hpp:17
The class for camera status.
Definition: camera_status.hpp:17