gphoto2pp
A C++ Wrapper for libgphoto2
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros
camera_widget_wrapper.hpp
Go to the documentation of this file.
1 
25 #ifndef CAMERAWIDGETWRAPPER_HPP
26 #define CAMERAWIDGETWRAPPER_HPP
27 
28 #include <string>
29 
30 namespace gphoto2
31 {
32  // Forward declare the gphoto2 struct
33  struct _CameraWidget;
34 }
35 
36 namespace gphoto2pp
37 {
38  enum class CameraWidgetTypeWrapper : int;
39 
64  {
65  public:
66  virtual ~CameraWidgetWrapper();
67 
68  // Move constructor and move assignment
70  CameraWidgetWrapper& operator=(CameraWidgetWrapper&& other);
71 
72  // Copy constructor and copy assignment
74  CameraWidgetWrapper& operator=(CameraWidgetWrapper const & other);
75 
81  gphoto2::_CameraWidget* getPtr() const;
82 
89  std::string getName() const;
90 
97  CameraWidgetTypeWrapper getType() const;
98 
105  std::string getLabel() const;
106 
113  std::string getInfo() const;
114 
121  int getId() const;
122 
130  CameraWidgetWrapper getRoot() const;
131 
139  CameraWidgetWrapper getParent() const;
140 
141  protected:
142  CameraWidgetWrapper(gphoto2::_CameraWidget* cameraWidget);
143 
149  void ref();
150 
156  void unref();
157 
163  gphoto2::_CameraWidget* getRootDefault() const;
164 
170  gphoto2::_CameraWidget* getParentDefault() const;
171 
172  gphoto2::_CameraWidget* m_cameraWidget = nullptr;
173  };
174 
175 }
176 
177 #endif // CAMERAWIDGETWRAPPER_HPP