devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=9778443f02e79ae9d843eed69371431ce4898b71

commit 9778443f02e79ae9d843eed69371431ce4898b71
Author: Chris Michael <[email protected]>
Date:   Tue Dec 9 15:10:43 2014 -0500

    eeze: Add API function for eeze_udev_find_by_subsystem_sysname
    
    Summary: This adds an API function to find a device by
    subsystem_sysname. This is needed for the port of ecore_drm to use
    libinput.
    
    @feature
    
    Signed-off-by: Chris Michael <[email protected]>
---
 src/lib/eeze/eeze_udev_find.c | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/src/lib/eeze/eeze_udev_find.c b/src/lib/eeze/eeze_udev_find.c
index 899a53b..06bbb4c 100644
--- a/src/lib/eeze/eeze_udev_find.c
+++ b/src/lib/eeze/eeze_udev_find.c
@@ -382,3 +382,31 @@ eeze_udev_find_by_sysattr(const char *sysattr,
    udev_enumerate_unref(en);
    return ret;
 }
+
+EAPI Eina_List *
+eeze_udev_find_by_subsystem_sysname(const char *subsystem, const char *sysname)
+{
+   _udev_enumerate *en;
+   _udev_list_entry *devs, *cur;
+   _udev_device *device;
+   const char *devname;
+   Eina_List *ret = NULL;
+
+   if (!sysname) return NULL;
+
+   en = udev_enumerate_new(udev);
+   if (!en) return NULL;
+
+   udev_enumerate_scan_devices(en);
+   devs = udev_enumerate_get_list_entry(en);
+   udev_list_entry_foreach(cur, devs)
+     {
+        devname = udev_list_entry_get_name(cur);
+        device = 
+          udev_device_new_from_subsystem_sysname(udev, subsystem, sysname);
+        ret = eina_list_append(ret, eina_stringshare_add(devname));
+        udev_device_unref(device);
+     }
+   udev_enumerate_unref(en);
+   return ret;
+}

-- 


Reply via email to