summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac2
-rw-r--r--docs/reference/Makefile.am3
-rw-r--r--libcheese/Makefile.am2
-rw-r--r--libcheese/cheese-avatar-chooser.c5
-rw-r--r--libcheese/cheese-camera-device-monitor.c31
-rw-r--r--libcheese/cheese-camera-device-monitor.h6
-rw-r--r--libcheese/cheese-gtk.symbols3
-rw-r--r--tests/cheese-test-monitor.c1
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,