Added a monitor for MyDocs availability
[harmattan/cameraplus] / imports / capability.cpp
1 #include "capability.h"
2 #include "camera.h"
3
4 Capability::Capability(QObject *parent) :
5   QObject(parent),
6   m_cam(0) {
7
8 }
9
10 Capability::~Capability() {
11
12 }
13
14 Camera *Capability::camera() {
15   return m_cam;
16 }
17
18 void Capability::setCamera(Camera *cam) {
19   if (cam == m_cam) {
20     return;
21   }
22
23   if (m_cam) {
24     QObject::disconnect(m_cam, SIGNAL(deviceChanged()), this, SLOT(deviceChanged()));
25     QObject::disconnect(m_cam, SIGNAL(deviceChanged()), this, SIGNAL(isReadyChanged()));
26   }
27
28   m_cam = cam;
29
30   if (m_cam) {
31     QObject::connect(m_cam, SIGNAL(deviceChanged()), this, SLOT(deviceChanged()));
32     QObject::connect(m_cam, SIGNAL(deviceChanged()), this, SIGNAL(isReadyChanged()));
33   }
34
35   emit cameraChanged();
36
37   deviceChanged();
38
39   emit isReadyChanged();
40 }
41
42 bool Capability::isReady() const {
43   return m_cam && m_cam->device();
44 }