[gnome-control-center/wip/garnacho/wayland-tablet: 9/31] common: Implement new vfuncs in GsdDeviceManagerX11
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center/wip/garnacho/wayland-tablet: 9/31] common: Implement new vfuncs in GsdDeviceManagerX11
- Date: Fri, 24 Jun 2016 18:02:34 +0000 (UTC)
commit 44e79be3f50a79fa6901e5d63fdbaf892954329d
Author: Carlos Garnacho <carlosg gnome org>
Date: Mon Jun 6 14:07:31 2016 +0200
common: Implement new vfuncs in GsdDeviceManagerX11
panels/common/gsd-device-manager-x11.c | 45 ++++++++++++++-----------------
panels/common/gsd-device-manager-x11.h | 6 ----
2 files changed, 20 insertions(+), 31 deletions(-)
---
diff --git a/panels/common/gsd-device-manager-x11.c b/panels/common/gsd-device-manager-x11.c
index 14f6e72..e654054 100644
--- a/panels/common/gsd-device-manager-x11.c
+++ b/panels/common/gsd-device-manager-x11.c
@@ -40,6 +40,11 @@ struct _GsdX11DeviceManagerClass
GsdDeviceManagerClass parent_class;
};
+GList * gsd_x11_device_manager_get_gdk_devices (GsdDeviceManager *manager,
+ GsdDevice *device);
+GsdDevice * gsd_x11_device_manager_lookup_gdk_device (GsdDeviceManager *manager,
+ GdkDevice *gdk_device);
+
G_DEFINE_TYPE (GsdX11DeviceManager, gsd_x11_device_manager, GSD_TYPE_DEVICE_MANAGER)
static GsdDeviceType
@@ -215,51 +220,41 @@ gsd_x11_device_manager_class_init (GsdX11DeviceManagerClass *klass)
GsdDeviceManagerClass *manager_class = GSD_DEVICE_MANAGER_CLASS (klass);
manager_class->list_devices = gsd_x11_device_manager_list_devices;
+ manager_class->lookup_device = gsd_x11_device_manager_get_gdk_devices;
+ manager_class->inverse_lookup = gsd_x11_device_manager_lookup_gdk_device;
}
-GdkDevice **
-gsd_x11_device_manager_get_gdk_devices (GsdX11DeviceManager *manager,
- GsdDevice *device,
- guint *n_gdk_devices)
+GList *
+gsd_x11_device_manager_get_gdk_devices (GsdDeviceManager *manager,
+ GsdDevice *device)
{
+ GsdX11DeviceManager *manager_x11 = GSD_X11_DEVICE_MANAGER (manager);
const gchar *device_node;
- GPtrArray *gdk_devices;
GdkDevice *gdk_device;
GHashTableIter iter;
+ GList *l = NULL;
- if (n_gdk_devices)
- *n_gdk_devices = 0;
-
- g_return_val_if_fail (GSD_IS_X11_DEVICE_MANAGER (manager), NULL);
- g_return_val_if_fail (GSD_IS_DEVICE (device), NULL);
-
- gdk_devices = g_ptr_array_new ();
- g_hash_table_iter_init (&iter, manager->gdk_devices);
+ g_hash_table_iter_init (&iter, manager_x11->gdk_devices);
while (g_hash_table_iter_next (&iter, (gpointer *) &gdk_device, (gpointer *) &device_node)) {
if (g_strcmp0 (gsd_device_get_device_file (device), device_node) == 0)
- g_ptr_array_add (gdk_devices, gdk_device);
+ l = g_list_prepend (l, gdk_device);
}
- if (n_gdk_devices)
- *n_gdk_devices = gdk_devices->len;
-
- return (GdkDevice **) g_ptr_array_free (gdk_devices, FALSE);
+ return l;
}
GsdDevice *
-gsd_x11_device_manager_lookup_gdk_device (GsdX11DeviceManager *manager,
- GdkDevice *gdk_device)
+gsd_x11_device_manager_lookup_gdk_device (GsdDeviceManager *manager,
+ GdkDevice *gdk_device)
{
+ GsdX11DeviceManager *manager_x11 = GSD_X11_DEVICE_MANAGER (manager);
const gchar *device_node;
- g_return_val_if_fail (GSD_IS_X11_DEVICE_MANAGER (manager), NULL);
- g_return_val_if_fail (GDK_IS_DEVICE (gdk_device), NULL);
-
- device_node = g_hash_table_lookup (manager->gdk_devices, gdk_device);
+ device_node = g_hash_table_lookup (manager_x11->gdk_devices, gdk_device);
if (!device_node)
return NULL;
- return g_hash_table_lookup (manager->devices, device_node);
+ return g_hash_table_lookup (manager_x11->devices, device_node);
}
diff --git a/panels/common/gsd-device-manager-x11.h b/panels/common/gsd-device-manager-x11.h
index 876bf50..a5ea724 100644
--- a/panels/common/gsd-device-manager-x11.h
+++ b/panels/common/gsd-device-manager-x11.h
@@ -39,12 +39,6 @@ typedef struct _GsdX11DeviceManagerClass GsdX11DeviceManagerClass;
GType gsd_x11_device_manager_get_type (void) G_GNUC_CONST;
-GdkDevice ** gsd_x11_device_manager_get_gdk_devices (GsdX11DeviceManager *manager,
- GsdDevice *device,
- guint *n_gdk_devices);
-GsdDevice * gsd_x11_device_manager_lookup_gdk_device (GsdX11DeviceManager *manager,
- GdkDevice *gdk_device);
-
G_END_DECLS
#endif /* __GSD_X11_DEVICE_MANAGER_H__ */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]