80ac38f18f6ef1258c4c2020e1bd44e92e012222
[harmattan/cameraplus] / imports / capability.h
1 // -*- c++ -*-
2
3 #ifndef CAPABILITY_H
4 #define CAPABILITY_H
5
6 #include <QObject>
7
8 class Camera;
9
10 class Capability : public QObject {
11   Q_OBJECT
12   Q_PROPERTY(Camera* camera READ camera WRITE setCamera NOTIFY cameraChanged);
13   Q_PROPERTY(bool ready READ isReady NOTIFY isReadyChanged);
14
15 public:
16   Capability(QObject *parent = 0);
17   virtual ~Capability();
18
19   Camera *camera();
20   void setCamera(Camera *cam);
21
22   bool isReady() const;
23
24 signals:
25   void cameraChanged();
26   void isReadyChanged();
27
28 private slots:
29   virtual void deviceChanged() = 0;
30
31 protected:
32   Camera *m_cam;
33 };
34
35 #endif /* CAPABILITY_H */