3 #ifndef QT_CAM_CAPABILITY_P_H
4 #define QT_CAM_CAPABILITY_P_H
7 #include "qtcamdevice.h"
8 #include "qtcamdevice_p.h"
10 class QtCamCapabilityPrivate {
12 QtCamCapabilityPrivate(QtCamDevice *d, const QtCamCapability::Capability& c, const QString& p) :
23 QtCamCapabilityPrivate(QtCamDevice *d, const QtCamCapability::Capability& c) :
33 virtual ~QtCamCapabilityPrivate() {
37 void startMonitoring() {
39 QString p = QString("notify::%1").arg(prop);
40 handler = g_signal_connect(src, p.toAscii().data(), G_CALLBACK(camera_src_notify), this);
44 void stopMonitoring() {
46 g_signal_handler_disconnect(src, handler);
50 bool uintValue(unsigned int *val) {
55 g_object_get(src, prop.toAscii().data(), val, NULL);
60 bool setUintValue(unsigned int val) {
65 g_object_set(src, prop.toAscii().data(), val, NULL);
70 bool intValue(int *val) {
75 g_object_get(src, prop.toAscii().data(), val, NULL);
80 bool setIntValue(int val, bool force) {
86 g_object_set(src, prop.toAscii().data(), val, NULL);
91 g_object_get(src, prop.toAscii().data(), &old, NULL);
94 g_object_set(src, prop.toAscii().data(), val, NULL);
100 bool floatValue(qreal *val) {
105 g_object_get(src, prop.toAscii().data(), val, NULL);
110 bool setFloatValue(qreal val) {
115 g_object_set(src, prop.toAscii().data(), val, NULL);
120 static void camera_src_notify(GObject *gobject, GParamSpec *pspec, QtCamCapabilityPrivate *d) {
124 QMetaObject::invokeMethod(d->q_ptr, "valueChanged", Qt::QueuedConnection);
128 QtCamCapability::Capability cap;
133 QtCamCapability *q_ptr;
136 #endif /* QT_CAM_CAPABILITY_P_H */