[cheese] Export CheeseCameraDeviceMonitor



commit d024e1ce15282a257a821ac273750f304f81a360
Author: Bastien Nocera <hadess hadess net>
Date:   Thu Jan 21 14:26:39 2010 +0000

    Export CheeseCameraDeviceMonitor
    
    So that apps can monitor devices, and make some menu entries
    unsensitive if necessary.

 configure.ac                             |    2 +-
 docs/reference/Makefile.am               |    3 +-
 libcheese/Makefile.am                    |    2 +-
 libcheese/cheese-avatar-chooser.c        |    5 ++-
 libcheese/cheese-camera-device-monitor.c |   31 ++++++++++++++++++++++++++++++
 libcheese/cheese-camera-device-monitor.h |    6 +---
 libcheese/cheese-gtk.symbols             |    3 ++
 tests/cheese-test-monitor.c              |    1 +
 8 files changed, 43 insertions(+), 10 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index d2ab951..342bae4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
 # Process this file with autoconf to produce a configure script.
 
-AC_INIT(cheese, 2.29.6)
+AC_INIT(cheese, 2.29.6.1)
 
 AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
diff --git a/docs/reference/Makefile.am b/docs/reference/Makefile.am
index 20f8594..93e3dce 100644
--- a/docs/reference/Makefile.am
+++ b/docs/reference/Makefile.am
@@ -29,7 +29,7 @@ SCAN_OPTIONS=
 
 # Extra options to supply to gtkdoc-mkdb.
 # e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml
-MKDB_OPTIONS=--sgml-mode --output-format=xml --name-space=totem_pl_parser
+MKDB_OPTIONS=--sgml-mode --output-format=xml --name-space=cheese
 
 # Extra options to supply to gtkdoc-mktmpl
 # e.g. MKTMPL_OPTIONS=--only-section-tmpl
@@ -52,7 +52,6 @@ CFILE_GLOB=$(top_srcdir)/libcheese/*.c
 # e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h
 IGNORE_HFILES=					\
 	cheese-camera-device.h			\
-	cheese-camera-device-monitor.h		\
 	cheese-camera.h				\
 	cheese-countdown.h			\
 	cheese-fileutil.h			\
diff --git a/libcheese/Makefile.am b/libcheese/Makefile.am
index 9837304..5d2b5b6 100644
--- a/libcheese/Makefile.am
+++ b/libcheese/Makefile.am
@@ -41,7 +41,7 @@ libcheese_gtk_la_SOURCES = \
 
 # FIXME when we have a .pc file, and sonames
 cheesedir = $(includedir)/cheese
-cheese_HEADERS = cheese-widget.h cheese-avatar-chooser.h
+cheese_HEADERS = cheese-widget.h cheese-avatar-chooser.h cheese-camera-device-monitor.h
 
 libcheese_gtk_la_LIBADD = \
 	libcheesecommon.la \
diff --git a/libcheese/cheese-avatar-chooser.c b/libcheese/cheese-avatar-chooser.c
index 900fbcb..097b3f9 100644
--- a/libcheese/cheese-avatar-chooser.c
+++ b/libcheese/cheese-avatar-chooser.c
@@ -322,11 +322,12 @@ cheese_avatar_chooser_class_init (CheeseAvatarChooserClass *klass)
    * CheeseAvatarChooser:pixbuf:
    *
    * a #GdkPixbuf object representing the cropped area of the picture, or %NULL.
+   *
    **/
   g_object_class_install_property (object_class, PROP_PIXBUF,
                                    g_param_spec_object ("pixbuf",
-                                                        NULL,
-                                                        NULL,
+                                                        "pixbuf",
+                                                        "a GdkPixbuf object",
                                                         GDK_TYPE_PIXBUF,
                                                         G_PARAM_READABLE));
 
diff --git a/libcheese/cheese-camera-device-monitor.c b/libcheese/cheese-camera-device-monitor.c
index 5eabec0..90b5c27 100644
--- a/libcheese/cheese-camera-device-monitor.c
+++ b/libcheese/cheese-camera-device-monitor.c
@@ -26,6 +26,7 @@
 #include <glib-object.h>
 #include <dbus/dbus-glib-lowlevel.h>
 #include <string.h>
+#include <cheese-camera-device.h>
 
 #ifdef HAVE_UDEV
   #define G_UDEV_API_IS_SUBJECT_TO_CHANGE 1
@@ -200,6 +201,15 @@ cheese_camera_device_monitor_uevent_cb (GUdevClient               *client,
     cheese_camera_device_monitor_added (monitor, udevice);
 }
 
+/**
+ * cheese_camera_device_monitor_coldplug:
+ * @monitor: a #CheeseCameraDeviceMonitor object.
+ *
+ * Will actively look for plugged in cameras and emit
+ * ::added for those new cameras.
+ * This is only required when your program starts, so as to connect
+ * to those signals before they are emitted.
+ */
 void
 cheese_camera_device_monitor_coldplug (CheeseCameraDeviceMonitor *monitor)
 {
@@ -323,6 +333,13 @@ cheese_camera_device_monitor_class_init (CheeseCameraDeviceMonitorClass *klass)
 
   object_class->finalize = cheese_camera_device_monitor_finalize;
 
+  /**
+   * CheeseCameraDeviceMonitor::added:
+   * @device: A private object representing the newly added camera.
+   *
+   * The ::added signal is emitted when a camera is added, or on start-up
+   * after #cheese_camera_device_monitor_colplug is called.
+   **/
   monitor_signals[ADDED] = g_signal_new ("added", G_OBJECT_CLASS_TYPE (klass),
                                          G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
                                          G_STRUCT_OFFSET (CheeseCameraDeviceMonitorClass, added),
@@ -330,6 +347,13 @@ cheese_camera_device_monitor_class_init (CheeseCameraDeviceMonitorClass *klass)
                                          g_cclosure_marshal_VOID__OBJECT,
                                          G_TYPE_NONE, 1, G_TYPE_OBJECT);
 
+  /**
+   * CheeseCameraDeviceMonitor::removed:
+   * @id: an ID representing the removed camera.
+   *
+   * The ::removed signal is emitted when a camera is un-plugged, or
+   * disabled on the system.
+   **/
   monitor_signals[REMOVED] = g_signal_new ("removed", G_OBJECT_CLASS_TYPE (klass),
                                            G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
                                            G_STRUCT_OFFSET (CheeseCameraDeviceMonitorClass, removed),
@@ -356,6 +380,13 @@ cheese_camera_device_monitor_init (CheeseCameraDeviceMonitor *monitor)
 #endif /* HAVE_UDEV */
 }
 
+/**
+ * cheese_camera_device_monitor_new:
+ *
+ * Returns a new #CheeseCameraDeviceMonitor object.
+ *
+ * Return value: a new #CheeseCameraDeviceMonitor object.
+ **/
 CheeseCameraDeviceMonitor *
 cheese_camera_device_monitor_new (void)
 {
diff --git a/libcheese/cheese-camera-device-monitor.h b/libcheese/cheese-camera-device-monitor.h
index 570e1c8..b42ac22 100644
--- a/libcheese/cheese-camera-device-monitor.h
+++ b/libcheese/cheese-camera-device-monitor.h
@@ -26,7 +26,6 @@
 #include <glib-object.h>
 #include <gtk/gtk.h>
 #include <gst/interfaces/xoverlay.h>
-#include <cheese-camera-device.h>
 
 G_BEGIN_DECLS
 
@@ -39,7 +38,6 @@ G_BEGIN_DECLS
 #define CHEESE_IS_CAMERA_DEVICE_MONITOR_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), CHEESE_TYPE_CAMERA_DEVICE_MONITOR))
 #define CHEESE_CAMERA_DEVICE_MONITOR_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), CHEESE_TYPE_CAMERA_DEVICE_MONITOR, \
                                                                               CheeseCameraDeviceMonitorClass))
-
 typedef struct
 {
   GObject parent;
@@ -48,11 +46,11 @@ typedef struct
 typedef struct
 {
   GObjectClass parent_class;
-  void (*added)(CheeseCameraDeviceMonitor *camera, CheeseCameraDevice *device);
+
+  void (*added)(CheeseCameraDeviceMonitor *camera, GObject *device);
   void (*removed)(CheeseCameraDeviceMonitor *camera, const char *id);
 } CheeseCameraDeviceMonitorClass;
 
-
 GType                      cheese_camera_device_monitor_get_type (void);
 CheeseCameraDeviceMonitor *cheese_camera_device_monitor_new (void);
 void                       cheese_camera_device_monitor_coldplug (CheeseCameraDeviceMonitor *monitor);
diff --git a/libcheese/cheese-gtk.symbols b/libcheese/cheese-gtk.symbols
index 40f30e9..216a3d8 100644
--- a/libcheese/cheese-gtk.symbols
+++ b/libcheese/cheese-gtk.symbols
@@ -4,3 +4,6 @@ cheese_avatar_chooser_get_type
 cheese_avatar_chooser_new
 cheese_avatar_chooser_get_picture
 um_crop_area_get_type
+cheese_camera_device_monitor_get_type
+cheese_camera_device_monitor_new
+cheese_camera_device_monitor_coldplug
diff --git a/tests/cheese-test-monitor.c b/tests/cheese-test-monitor.c
index 3d5ca91..7db0e28 100644
--- a/tests/cheese-test-monitor.c
+++ b/tests/cheese-test-monitor.c
@@ -1,6 +1,7 @@
 #include <glib.h>
 
 #include "cheese-camera-device-monitor.h"
+#include "cheese-camera-device.h"
 
 static void
 added_cb (CheeseCameraDeviceMonitor *monitor,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]