Exemple #1
0
static void weston_dbus_toggle_watch(DBusWatch *watch, void *data)
{
	struct wl_event_source *s;
	uint32_t mask = 0, flags;

	s = dbus_watch_get_data(watch);
	if (!s)
		return;

	if (dbus_watch_get_enabled(watch)) {
		flags = dbus_watch_get_flags(watch);
		if (flags & DBUS_WATCH_READABLE)
			mask |= WL_EVENT_READABLE;
		if (flags & DBUS_WATCH_WRITABLE)
			mask |= WL_EVENT_WRITABLE;
	}

	wl_event_source_fd_update(s, mask);
}
Exemple #2
0
void DBusHandler::Callbacks::toggleWatch(DBusWatch* watch, void* data)
{
    struct wl_event_source *s;
    if(!(s = (wl_event_source*) dbus_watch_get_data(watch)))
    {
		ny::sendWarning("dbusToggleWatch: dbus watch has no data");
        return;
    }

    uint32_t mask = 0;
    if(dbus_watch_get_enabled(watch))
    {
        unsigned int flags = dbus_watch_get_flags(watch);

        if (flags & DBUS_WATCH_READABLE) mask |= WL_EVENT_READABLE;
        if (flags & DBUS_WATCH_WRITABLE) mask |= WL_EVENT_WRITABLE;
    }

    wl_event_source_fd_update(s, mask);
}