GamepadsEfl::GamepadsEfl(size_t length) : m_slots(length) , m_gamepadsWatcher(0) { if (eeze_init() < 0) { LOG_ERROR("Failed to initialize eeze library."); return; } // Watch for gamepads additions / removals. m_gamepadsWatcher = eeze_udev_watch_add(EEZE_UDEV_TYPE_JOYSTICK, (EEZE_UDEV_EVENT_ADD | EEZE_UDEV_EVENT_REMOVE), onGamePadChange, this); // List available gamepads. Eina_List* gamepads = eeze_udev_find_by_type(EEZE_UDEV_TYPE_JOYSTICK, 0); void* data; EINA_LIST_FREE(gamepads, data) { char* syspath = static_cast<char*>(data); registerDevice(String::fromUTF8(syspath)); eina_stringshare_del(syspath); }
int main(void) { Eina_List *disks; const char *syspath; eeze_init(); eeze_disk_function(); disks = eeze_udev_find_by_type(EEZE_UDEV_TYPE_DRIVE_MOUNTABLE, NULL); printf("Found the following mountable disks:\n"); EINA_LIST_FREE(disks, syspath) { Eeze_Disk *disk; disk = eeze_disk_new(syspath); printf("\t%s - %s:%s\n", syspath, eeze_disk_devpath_get(disk), eeze_disk_mount_point_get(disk)); eeze_disk_free(disk); eina_stringshare_del(syspath); }
END_TEST START_TEST(eeze_test_udev_syspath) { Eina_List *type, *l; const char *name; Eina_Bool r; eeze_init(); type = eeze_udev_find_by_type(EEZE_UDEV_TYPE_KEYBOARD, NULL); type = eeze_udev_find_unlisted_similar(type); EINA_LIST_FOREACH(type, l, name) { eeze_udev_syspath_get_devpath(name); eeze_udev_find_similar_from_syspath(name); eeze_udev_find_similar_from_syspath(NULL); eeze_udev_syspath_get_parent(name); eeze_udev_syspath_get_parent(NULL); eeze_udev_syspath_get_parents(name); eeze_udev_syspath_get_parents(NULL); eeze_udev_syspath_get_devname(name); eeze_udev_syspath_get_devname(NULL); eeze_udev_syspath_get_subsystem(name); eeze_udev_syspath_get_sysattr(name, "manufacturer"); eeze_udev_syspath_is_mouse(name); eeze_udev_syspath_is_kbd(name); eeze_udev_syspath_is_touchpad(name); eeze_udev_syspath_is_joystick(name); eeze_udev_walk_get_sysattr(name, "manufacturer"); eeze_udev_find_by_sysattr("manufacturer", NULL); eeze_udev_find_by_sysattr(NULL, NULL); eeze_udev_walk_check_sysattr(name, "manufacturer", NULL); eeze_udev_walk_check_sysattr(name, "manufacturer", "foo"); eeze_udev_walk_get_sysattr(NULL, "manufacturer"); eeze_udev_walk_get_sysattr(name, NULL); }
eeze_init(); eeze_disk_function(); disks = eeze_udev_find_by_type(EEZE_UDEV_TYPE_DRIVE_MOUNTABLE, NULL); printf("Found the following mountable disks:\n"); EINA_LIST_FREE(disks, syspath) { Eeze_Disk *disk; disk = eeze_disk_new(syspath); printf("\t%s - %s:%s\n", syspath, eeze_disk_devpath_get(disk), eeze_disk_mount_point_get(disk)); eeze_disk_free(disk); eina_stringshare_del(syspath); } disks = eeze_udev_find_by_type(EEZE_UDEV_TYPE_DRIVE_REMOVABLE, NULL); printf("Found the following removable drives:\n"); EINA_LIST_FREE(disks, syspath) { Eeze_Disk *disk; disk = eeze_disk_new(syspath); printf("\t%s - %s:%s\n", syspath, eeze_disk_devpath_get(disk), eeze_disk_mount_point_get(disk)); eeze_disk_free(disk); eina_stringshare_del(syspath); } disks = eeze_udev_find_by_type(EEZE_UDEV_TYPE_DRIVE_INTERNAL, NULL); printf("Found the following internal drives:\n"); EINA_LIST_FREE(disks, syspath) {
eeze_udev_syspath_get_subsystem(name); eeze_udev_syspath_get_sysattr(name, "manufacturer"); eeze_udev_syspath_is_mouse(name); eeze_udev_syspath_is_kbd(name); eeze_udev_syspath_is_touchpad(name); eeze_udev_syspath_is_joystick(name); eeze_udev_walk_get_sysattr(name, "manufacturer"); eeze_udev_find_by_sysattr("manufacturer", NULL); eeze_udev_find_by_sysattr(NULL, NULL); eeze_udev_walk_check_sysattr(name, "manufacturer", NULL); eeze_udev_walk_check_sysattr(name, "manufacturer", "foo"); eeze_udev_walk_get_sysattr(NULL, "manufacturer"); eeze_udev_walk_get_sysattr(name, NULL); } type = eeze_udev_find_by_type(EEZE_UDEV_TYPE_MOUSE, NULL); type = eeze_udev_find_unlisted_similar(type); EINA_LIST_FOREACH(type, l, name) { r = eeze_udev_syspath_is_mouse(name); fail_unless(r); eeze_udev_syspath_is_touchpad(name); eeze_udev_syspath_is_joystick(name); } type = eeze_udev_find_by_type(EEZE_UDEV_TYPE_TOUCHPAD, NULL); type = eeze_udev_find_unlisted_similar(type); EINA_LIST_FOREACH(type, l, name) { r = eeze_udev_syspath_is_touchpad(name);