summaryrefslogtreecommitdiffstats
path: root/src/uca-camera.h
diff options
context:
space:
mode:
authorMatthias Vogelgesang <matthias.vogelgesang@kit.edu>2012-03-01 12:32:10 +0100
committerMatthias Vogelgesang <matthias.vogelgesang@kit.edu>2012-03-01 12:32:10 +0100
commitb29c78f818ac92f42621c69c29736fe5c8e32c6f (patch)
treefcafd885b20775ee329ad1f02cce8cce9c557cf6 /src/uca-camera.h
parent13b9b1492cb8aadef6c2905e48cbde93a7135cc0 (diff)
downloaduca-b29c78f818ac92f42621c69c29736fe5c8e32c6f.tar.gz
uca-b29c78f818ac92f42621c69c29736fe5c8e32c6f.tar.bz2
uca-b29c78f818ac92f42621c69c29736fe5c8e32c6f.tar.xz
uca-b29c78f818ac92f42621c69c29736fe5c8e32c6f.zip
Initial prototype of GObject-based libuca
Diffstat (limited to 'src/uca-camera.h')
-rw-r--r--src/uca-camera.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/uca-camera.h b/src/uca-camera.h
new file mode 100644
index 0000000..29010c6
--- /dev/null
+++ b/src/uca-camera.h
@@ -0,0 +1,51 @@
+/* Copyright (C) 2011, 2012 Matthias Vogelgesang <matthias.vogelgesang@kit.edu>
+ (Karlsruhe Institute of Technology)
+
+ 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 St, Fifth Floor, Boston, MA 02110, USA */
+
+#ifndef __UCA_CAMERA_H
+#define __UCA_CAMERA_H
+
+#include <glib-object.h>
+
+#define UCA_TYPE_CAMERA (uca_camera_get_type())
+#define UCA_CAMERA(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), UCA_TYPE_CAMERA, UcaCamera))
+#define UCA_IS_CAMERA(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), UCA_TYPE_CAMERA))
+#define UCA_CAMERA_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE((obj), UCA_TYPE_CAMERA, UcaCameraInterface))
+
+typedef struct _UcaCamera UcaCamera;
+typedef struct _UcaCameraInterface UcaCameraInterface;
+
+/**
+ * UcaCameraInterface:
+ *
+ * Base interface for cameras.
+ */
+struct _UcaCameraInterface {
+ /*< private >*/
+ GTypeInterface parent;
+
+ void (*start_recording) (UcaCamera *camera);
+ void (*stop_recording) (UcaCamera *camera);
+ void (*grab) (UcaCamera *camera, gchar *data);
+};
+
+void uca_camera_start_recording(UcaCamera *camera);
+void uca_camera_stop_recording(UcaCamera *camera);
+void uca_camera_grab(UcaCamera *camera, gchar *data);
+
+GType uca_camera_get_type(void);
+
+#endif