EAPI int ecore_drm2_init(void) { if (++_ecore_drm2_init_count != 1) return _ecore_drm2_init_count; if (!eina_init()) goto eina_err; if (!ecore_init()) { EINA_LOG_ERR("Could not initialize Ecore library"); goto ecore_err; } if (!eeze_init()) { EINA_LOG_ERR("Could not initialize Eeze library"); goto eeze_err; } if (!elput_init()) { EINA_LOG_ERR("Could not initialize Elput library"); goto elput_err; } _ecore_drm2_log_dom = eina_log_domain_register("ecore_drm2", ECORE_DRM2_DEFAULT_LOG_COLOR); if (!_ecore_drm2_log_dom) { EINA_LOG_ERR("Could not create logging domain for Ecore_Drm2"); goto log_err; } ECORE_DRM2_EVENT_OUTPUT_CHANGED = ecore_event_type_new(); ECORE_DRM2_EVENT_ACTIVATE = ecore_event_type_new(); if (!_ecore_drm2_link()) goto link_err; return _ecore_drm2_init_count; link_err: eina_log_domain_unregister(_ecore_drm2_log_dom); _ecore_drm2_log_dom = -1; log_err: elput_shutdown(); elput_err: eeze_shutdown(); eeze_err: ecore_shutdown(); ecore_err: eina_shutdown(); eina_err: return --_ecore_drm2_init_count; }
EINTERN int e_backlight_init(void) { #ifdef HAVE_EEZE eeze_init(); #endif #ifndef HAVE_WAYLAND_ONLY if (e_comp->comp_type == E_PIXMAP_TYPE_X) xbl_avail = ecore_x_randr_output_backlight_available(); #endif e_backlight_update(); if (!getenv("E_RESTART")) e_backlight_level_set(NULL, e_config->backlight.normal, 0.0); E_EVENT_BACKLIGHT_CHANGE = ecore_event_type_new(); return 1; }
static E_Gadcon_Client * _gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style) { Evas_Object *o; E_Gadcon_Client *gcc; Instance *inst; battery_config->full = -2; battery_config->time_left = -2; battery_config->time_full = -2; battery_config->have_battery = -2; battery_config->have_power = -2; inst = E_NEW(Instance, 1); o = edje_object_add(gc->evas); e_theme_edje_object_set(o, "base/theme/modules/battery", "e/modules/battery/main"); gcc = e_gadcon_client_new(gc, name, id, style, o); gcc->data = inst; inst->gcc = gcc; inst->o_battery = o; inst->warning = NULL; inst->popup_battery = NULL; #ifdef HAVE_EEZE eeze_init(); #elif !defined __OpenBSD__ e_dbus_init(); e_hal_init(); #endif evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, _button_cb_mouse_down, inst); battery_config->instances = eina_list_append(battery_config->instances, inst); _battery_config_updated(); return gcc; }
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_watch) { Eeze_Udev_Watch *watch; ecore_init(); eeze_init(); /* watch never gets triggered as this is run without user interaction */ watch = eeze_udev_watch_add(EEZE_UDEV_TYPE_KEYBOARD, (EEZE_UDEV_EVENT_ADD | EEZE_UDEV_EVENT_REMOVE), catch_events, NULL); watch = eeze_udev_watch_add(EEZE_UDEV_TYPE_DRIVE_INTERNAL, (EEZE_UDEV_EVENT_ADD | EEZE_UDEV_EVENT_REMOVE), catch_events, NULL); watch = eeze_udev_watch_add(EEZE_UDEV_TYPE_POWER_AC, (EEZE_UDEV_EVENT_ADD | EEZE_UDEV_EVENT_REMOVE), catch_events, NULL); watch = eeze_udev_watch_add(EEZE_UDEV_TYPE_NET, (EEZE_UDEV_EVENT_ADD | EEZE_UDEV_EVENT_REMOVE), catch_events, NULL); watch = eeze_udev_watch_add(EEZE_UDEV_TYPE_IS_IT_HOT_OR_IS_IT_COLD_SENSOR, (EEZE_UDEV_EVENT_ADD | EEZE_UDEV_EVENT_REMOVE), catch_events, NULL); watch = eeze_udev_watch_add(EEZE_UDEV_TYPE_V4L, (EEZE_UDEV_EVENT_ADD | EEZE_UDEV_EVENT_REMOVE), catch_events, NULL); watch = eeze_udev_watch_add(EEZE_UDEV_TYPE_BLUETOOTH, (EEZE_UDEV_EVENT_ADD | EEZE_UDEV_EVENT_REMOVE), catch_events, NULL); watch = eeze_udev_watch_add(EEZE_UDEV_TYPE_NONE, (EEZE_UDEV_EVENT_ADD | EEZE_UDEV_EVENT_REMOVE), catch_events, NULL); eeze_udev_watch_del(watch); eeze_shutdown(); ecore_shutdown(); }
void e_mod_kbd_device_init(void) { /* load the 'ignored' keyboard file */ _e_mod_kbd_device_ignore_load(); #ifdef HAVE_EEZE eeze_init(); watch = eeze_udev_watch_add(EEZE_UDEV_TYPE_KEYBOARD, EEZE_UDEV_EVENT_NONE, _e_mod_kbd_device_udev_event, NULL); #else e_dbus_init(); e_hal_init(); /* try to attach to the system dbus */ if (!(_dbus_conn = e_dbus_bus_get(DBUS_BUS_SYSTEM))) return; /* ask HAL for any input keyboards */ e_hal_manager_find_device_by_capability(_dbus_conn, "input.keyboard", _e_mod_kbd_device_cb_input_kbd, NULL); /* setup dbus signal handlers for when a device gets added/removed/changed */ _dev_add = e_dbus_signal_handler_add(_dbus_conn, E_HAL_SENDER, E_HAL_MANAGER_PATH, E_HAL_MANAGER_INTERFACE, "DeviceAdded", _e_mod_kbd_device_dbus_add, NULL); _dev_del = e_dbus_signal_handler_add(_dbus_conn, E_HAL_SENDER, E_HAL_MANAGER_PATH, E_HAL_MANAGER_INTERFACE, "DeviceRemoved", _e_mod_kbd_device_dbus_del, NULL); _dev_chg = e_dbus_signal_handler_add(_dbus_conn, E_HAL_SENDER, E_HAL_MANAGER_PATH, E_HAL_MANAGER_INTERFACE, "NewCapability", _e_mod_kbd_device_dbus_chg, NULL); #endif }
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); }
/* externally accessible functions */ int main(int argc, char **argv) { int i; int level; const char *f; int maxlevel = 0, curlevel = -1; Eina_List *devs; char buf[4096] = ""; for (i = 1; i < argc; i++) { if ((!strcmp(argv[i], "-h")) || (!strcmp(argv[i], "-help")) || (!strcmp(argv[i], "--help"))) { printf("This is an internal tool for Enlightenment.\n" "do not use it.\n"); exit(0); } } if (argc == 2) level = atoi(argv[1]); else exit(1); if (setuid(0) != 0) { printf("ERROR: UNABLE TO ASSUME ROOT PRIVILEGES\n"); exit(5); } if (setgid(0) != 0) { printf("ERROR: UNABLE TO ASSUME ROOT GROUP PRIVILEGES\n"); exit(7); } eeze_init(); devs = eeze_udev_find_by_filter("backlight", NULL, NULL); if (!devs) { devs = eeze_udev_find_by_filter("leds", NULL, NULL); if (!devs) return -1; } if (eina_list_count(devs) > 1) { const char *s = NULL; Eina_List *l, *new = NULL; Eina_Bool use = EINA_FALSE; /* prefer backlights of type "firmware" where available */ EINA_LIST_FOREACH(devs, l, f) { s = eeze_udev_syspath_get_sysattr(f, "type"); use = (s && (!strcmp(s, "firmware"))); eina_stringshare_del(s); if (!use) continue; eina_list_move_list(&new, &devs, l); EINA_LIST_FREE(devs, f) eina_stringshare_del(f); devs = new; break; } }