Move qt_cam_copy_register to QtCamera
[harmattan/cameraplus] / lib / qtcamconfig.h
index c6f002c..bd1469c 100644 (file)
@@ -1,20 +1,44 @@
 // -*- c++ -*-
 
 // -*- c++ -*-
 
+/*!
+ * This file is part of CameraPlus.
+ *
+ * Copyright (C) 2012-2013 Mohammed Sameer <msameer@foolab.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
 #ifndef QT_CAM_CONFIG_H
 #define QT_CAM_CONFIG_H
 
 #include <QObject>
 #ifndef QT_CAM_CONFIG_H
 #define QT_CAM_CONFIG_H
 
 #include <QObject>
-#include "qtcamimagesettings.h"
-#include "qtcamvideosettings.h"
+#include <QStringList>
+
+class QtCamImageSettings;
+class QtCamVideoSettings;
+class QtCamQuirks;
 
 #define SCANNER_TYPE_V4L2                     "v4l2"
 #define SCANNER_TYPE_ENUM                     "enum"
 
 
 #define SCANNER_TYPE_V4L2                     "v4l2"
 #define SCANNER_TYPE_ENUM                     "enum"
 
-// TODO: kill those
-//#define RENDERER_TYPE_GL_SINK                 "glsink"
-//#define RENDERER_TYPE_X_OVERLAY               "xoverlay"
 #define RENDERER_TYPE_MEEGO                   "meego"
 #define RENDERER_TYPE_MEEGO                   "meego"
-#define RENDERER_TYPE_GENERIC                 "generic"
+
+#ifndef DATA_DIR
+#define DATA_DIR                              "/usr/share/qtcamera/config/"
+#endif /* DATA_DIR */
+
 class QtCamConfigPrivate;
 
 class QtCamConfig : public QObject {
 class QtCamConfigPrivate;
 
 class QtCamConfig : public QObject {
@@ -30,17 +54,18 @@ public:
   QString deviceScannerProperty() const;
 
   QString videoSource() const;
   QString deviceScannerProperty() const;
 
   QString videoSource() const;
+
   QString viewfinderSink() const;
   QString viewfinderRenderer() const;
   QString viewfinderSink() const;
   QString viewfinderRenderer() const;
+  bool viewfinderUseFence() const;
+
   QString audioSource() const;
   QString wrapperVideoSource() const;
   QString wrapperVideoSourceProperty() const;
 
   QString audioSource() const;
   QString wrapperVideoSource() const;
   QString wrapperVideoSourceProperty() const;
 
-  QtCamImageSettings defaultImageSettings();
-  QList<QtCamImageSettings> imageSettings();
-
-  QtCamVideoSettings defaultVideoSettings();
-  QList<QtCamVideoSettings> videoSettings();
+  QtCamImageSettings *imageSettings(const QVariant& id);
+  QtCamVideoSettings *videoSettings(const QVariant& id);
+  QtCamQuirks *quirks(const QVariant& id);
 
   QString imageEncodingProfileName() const;
   QString imageEncodingProfilePath() const;
 
   QString imageEncodingProfileName() const;
   QString imageEncodingProfilePath() const;
@@ -48,8 +73,20 @@ public:
   QString videoEncodingProfileName() const;
   QString videoEncodingProfilePath() const;
 
   QString videoEncodingProfileName() const;
   QString videoEncodingProfilePath() const;
 
+  QString imageSuffix() const;
+  QString videoSuffix() const;
+
   QString audioCaptureCaps() const;
 
   QString audioCaptureCaps() const;
 
+  QStringList viewfinderFilters() const;
+
+  QString roiElement() const;
+  QString roiMessageName() const;
+  QString roiEnableProperty() const;
+  QString roiMessage() const;
+
+  bool isPreviewSupported() const;
+
 private:
   QtCamConfigPrivate *d_ptr;
 };
 private:
   QtCamConfigPrivate *d_ptr;
 };