Adding the declarative imports
[harmattan/cameraplus] / imports / evcomp.cpp
diff --git a/imports/evcomp.cpp b/imports/evcomp.cpp
new file mode 100644 (file)
index 0000000..08d9029
--- /dev/null
@@ -0,0 +1,50 @@
+#include "evcomp.h"
+#include "camera.h"
+#include "qtcamevcomp.h"
+
+EvComp::EvComp(QObject *parent) :
+  Capability(parent),
+  m_evComp(0) {
+
+}
+
+EvComp::~EvComp() {
+  if (m_evComp) {
+    delete m_evComp; m_evComp = 0;
+  }
+}
+
+void EvComp::deviceChanged() {
+  if (m_evComp) {
+    delete m_evComp; m_evComp = 0;
+  }
+
+  if (m_cam->device()) {
+    m_evComp = new QtCamEvComp(m_cam->device(), this);
+    QObject::connect(m_evComp, SIGNAL(valueChanged()), this, SIGNAL(valueChanged()));
+    QObject::connect(m_evComp, SIGNAL(minimumValueChanged()), this, SIGNAL(minimumChanged()));
+    QObject::connect(m_evComp, SIGNAL(maximumValueChanged()), this, SIGNAL(maximunmChanged()));
+  }
+
+  emit valueChanged();
+  emit minimumChanged();
+  emit maximunmChanged();
+}
+
+qreal EvComp::value() {
+  return m_evComp ? m_evComp->value() : 0.0;
+}
+
+void EvComp::setValue(qreal val) {
+  if (m_evComp) {
+    m_evComp->setValue(val);
+  }
+}
+
+qreal EvComp::minimum() {
+  return m_evComp ? m_evComp->minimumValue() : 0.0;
+}
+
+qreal EvComp::maximum() {
+  return m_evComp ? m_evComp->maximumValue() : 0.0;
+}