RICOH Camera USB SDK for C++  1.1.0
RICOH Camera USB SDK for C++
capture_setting.hpp
Go to the documentation of this file.
1 // Copyright (c) 2017 Ricoh Company, Ltd. All Rights Reserved.
2 #ifndef RICOH_CAMERA_SDK_CAPTURE_SETTING_HPP_
3 #define RICOH_CAMERA_SDK_CAPTURE_SETTING_HPP_
4 
5 #include <string>
6 #include <vector>
7 #include <memory>
8 
10 
11 namespace Ricoh {
12 namespace CameraController {
13 
14 class CaptureSettingValue;
15 
21 public:
22  virtual ~CaptureSetting() = default;
23 
24  virtual bool operator==(const CaptureSetting& obj) const;
25  virtual bool operator!=(const CaptureSetting& obj) const;
26 
32  virtual const std::string& getName() const;
33 
39  virtual const CaptureSettingValue& getValue() const;
40 
46  virtual void setValue(std::unique_ptr<CaptureSettingValue>&& value);
47 
54  virtual const std::vector<const CaptureSetting*>& getAvailableSettings() const;
55 
56  virtual std::string toString() const;
57 
58 protected:
59  CaptureSetting(const std::string& name);
60  CaptureSetting(const std::string& name, CaptureSettingValue* value);
61 
62  std::string name_;
63  std::unique_ptr<CaptureSettingValue> value_;
64  std::vector<const CaptureSetting*> availableSettings_;
65 };
66 
71 public:
72  virtual ~CaptureSettingValue() = default;
73 
74  virtual bool operator==(const CaptureSettingValue& obj) const = 0;
75  virtual bool operator!=(const CaptureSettingValue& obj) const = 0;
76 
77  virtual std::string toString() const = 0;
78 };
79 
80 } // namespace CameraController
81 } // namespace Ricoh
82 
83 #endif // RICOH_CAMERA_SDK_CAPTURE_SETTING_HPP_
Definition: camera_device.hpp:13
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
This class is base for value of capture settings.
Definition: capture_setting.hpp:70