diff options
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | docs/reference/Makefile.am | 3 | ||||
-rw-r--r-- | libcheese/Makefile.am | 2 | ||||
-rw-r--r-- | libcheese/cheese-avatar-chooser.c | 5 | ||||
-rw-r--r-- | libcheese/cheese-camera-device-monitor.c | 31 | ||||
-rw-r--r-- | libcheese/cheese-camera-device-monitor.h | 6 | ||||
-rw-r--r-- | libcheese/cheese-gtk.symbols | 3 | ||||
-rw-r--r-- | tests/cheese-test-monitor.c | 1 |
8 files changed, 43 insertions, 10 deletions
diff --git a/configure.ac b/configure.ac index d2ab9511..342bae4d 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 20f8594b..93e3dcee 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 9837304c..5d2b5b6a 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 900fbcbe..097b3f96 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 5eabec09..90b5c27f 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 570e1c8c..b42ac220 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 40f30e95..216a3d85 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 3d5ca91d..7db0e281 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, |