1 /* This file is a copy of cheese-camera-device-monitor.h from Empathy. We
2 * just renamespaced it to avoid conflicts when linking on libcheese. */
4 * Copyright © 2007,2008 Jaap Haitsma <jaap@haitsma.org>
5 * Copyright © 2007-2009 daniel g. siegel <dgsiegel@gnome.org>
6 * Copyright © 2008 Ryan zeigler <zeiglerr@gmail.com>
8 * Licensed under the GNU General Public License Version 2
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
20 * You should have received a copy of the GNU General Public License
21 * along with this program. If not, see <http://www.gnu.org/licenses/>.
25 #ifndef __EMPATHY_CAMERA_DEVICE_MONITOR_H__
26 #define __EMPATHY_CAMERA_DEVICE_MONITOR_H__
28 #include <glib-object.h>
29 #include <gst/interfaces/xoverlay.h>
33 #define EMPATHY_TYPE_CAMERA_DEVICE_MONITOR (empathy_camera_device_monitor_get_type ())
34 #define EMPATHY_CAMERA_DEVICE_MONITOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), EMPATHY_TYPE_CAMERA_DEVICE_MONITOR, \
35 EmpathyCameraDeviceMonitor))
36 #define EMPATHY_CAMERA_DEVICE_MONITOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), EMPATHY_TYPE_CAMERA_DEVICE_MONITOR, \
37 EmpathyCameraDeviceMonitorClass))
38 #define EMPATHY_IS_CAMERA_DEVICE_MONITOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), EMPATHY_TYPE_CAMERA_DEVICE_MONITOR))
39 #define EMPATHY_IS_CAMERA_DEVICE_MONITOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EMPATHY_TYPE_CAMERA_DEVICE_MONITOR))
40 #define EMPATHY_CAMERA_DEVICE_MONITOR_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), EMPATHY_TYPE_CAMERA_DEVICE_MONITOR, \
41 EmpathyCameraDeviceMonitorClass))
43 typedef struct _EmpathyCameraDeviceMonitorClass EmpathyCameraDeviceMonitorClass;
44 typedef struct _EmpathyCameraDeviceMonitor EmpathyCameraDeviceMonitor;
46 struct _EmpathyCameraDeviceMonitor
51 struct _EmpathyCameraDeviceMonitorClass
53 GObjectClass parent_class;
55 void (*added)(EmpathyCameraDeviceMonitor *camera,
57 const char *device_file,
58 const char *product_name,
60 void (*removed)(EmpathyCameraDeviceMonitor *camera, const char *id);
63 GType empathy_camera_device_monitor_get_type (void) G_GNUC_CONST;
64 EmpathyCameraDeviceMonitor *empathy_camera_device_monitor_new (void);
65 void empathy_camera_device_monitor_coldplug (EmpathyCameraDeviceMonitor *monitor);
69 #endif /* __EMPATHY_CAMERA_DEVICE_MONITOR_H__ */