From d4c2307cc28aa7c887dcb5b0052469425e5af881 Mon Sep 17 00:00:00 2001 From: David Zeuthen Date: Wed, 15 Dec 2010 10:46:34 -0500 Subject: [PATCH] gudev: Add Device.get_usec_since_initialized Signed-off-by: David Zeuthen --- extras/gudev/docs/gudev-sections.txt | 1 + extras/gudev/gudevdevice.c | 21 ++++++++++++++++++++ extras/gudev/gudevdevice.h | 1 + extras/gudev/seed-example-enum.js | 29 ++++++++++++++-------------- 4 files changed, 38 insertions(+), 14 deletions(-) diff --git a/extras/gudev/docs/gudev-sections.txt b/extras/gudev/docs/gudev-sections.txt index 4119ae4920..181870fb5a 100644 --- a/extras/gudev/docs/gudev-sections.txt +++ b/extras/gudev/docs/gudev-sections.txt @@ -42,6 +42,7 @@ g_udev_device_get_parent g_udev_device_get_parent_with_subsystem g_udev_device_get_tags g_udev_device_get_is_initialized +g_udev_device_get_usec_since_initialized g_udev_device_get_property_keys g_udev_device_has_property g_udev_device_get_property diff --git a/extras/gudev/gudevdevice.c b/extras/gudev/gudevdevice.c index 8909178e4b..6f30d12d07 100644 --- a/extras/gudev/gudevdevice.c +++ b/extras/gudev/gudevdevice.c @@ -941,3 +941,24 @@ g_udev_device_get_is_initialized (GUdevDevice *device) g_return_val_if_fail (G_UDEV_IS_DEVICE (device), FALSE); return udev_device_get_is_initialized (device->priv->udevice); } + +/** + * g_udev_device_get_usec_since_initialized: + * @device: A #GUdevDevice. + * + * Gets number of micro-seconds since @device was initialized. + * + * This only works for devices with properties in the udev + * database. All other devices return 0. + * + * Returns: Number of micro-seconds since @device was initialized or 0 if unknown. + * + * Since: 165 + */ +guint64 +g_udev_device_get_usec_since_initialized (GUdevDevice *device) +{ + g_return_val_if_fail (G_UDEV_IS_DEVICE (device), 0); + return udev_device_get_usec_since_initialized (device->priv->udevice); +} + diff --git a/extras/gudev/gudevdevice.h b/extras/gudev/gudevdevice.h index 1ca2b48a04..ab22371ded 100644 --- a/extras/gudev/gudevdevice.h +++ b/extras/gudev/gudevdevice.h @@ -77,6 +77,7 @@ struct _GUdevDeviceClass GType g_udev_device_get_type (void) G_GNUC_CONST; gboolean g_udev_device_get_is_initialized (GUdevDevice *device); +guint64 g_udev_device_get_usec_since_initialized (GUdevDevice *device); const gchar *g_udev_device_get_subsystem (GUdevDevice *device); const gchar *g_udev_device_get_devtype (GUdevDevice *device); const gchar *g_udev_device_get_name (GUdevDevice *device); diff --git a/extras/gudev/seed-example-enum.js b/extras/gudev/seed-example-enum.js index 32200a42f9..66206ad806 100755 --- a/extras/gudev/seed-example-enum.js +++ b/extras/gudev/seed-example-enum.js @@ -4,20 +4,21 @@ const GLib = imports.gi.GLib; const GUdev = imports.gi.GUdev; function print_device(device) { - print(" initialized: " + device.get_is_initialized()); - print(" subsystem: " + device.get_subsystem()); - print(" devtype: " + device.get_devtype()); - print(" name: " + device.get_name()); - print(" number: " + device.get_number()); - print(" sysfs_path: " + device.get_sysfs_path()); - print(" driver: " + device.get_driver()); - print(" action: " + device.get_action()); - print(" seqnum: " + device.get_seqnum()); - print(" device type: " + device.get_device_type()); - print(" device number: " + device.get_device_number()); - print(" device file: " + device.get_device_file()); - print(" device file symlinks: " + device.get_device_file_symlinks()); - print(" tags: " + device.get_tags()); + print(" initialized: " + device.get_is_initialized()); + print(" usec since initialized: " + device.get_usec_since_initialized()); + print(" subsystem: " + device.get_subsystem()); + print(" devtype: " + device.get_devtype()); + print(" name: " + device.get_name()); + print(" number: " + device.get_number()); + print(" sysfs_path: " + device.get_sysfs_path()); + print(" driver: " + device.get_driver()); + print(" action: " + device.get_action()); + print(" seqnum: " + device.get_seqnum()); + print(" device type: " + device.get_device_type()); + print(" device number: " + device.get_device_number()); + print(" device file: " + device.get_device_file()); + print(" device file symlinks: " + device.get_device_file_symlinks()); + print(" tags: " + device.get_tags()); var keys = device.get_property_keys(); for (var n = 0; n < keys.length; n++) { print(" " + keys[n] + "=" + device.get_property(keys[n]));