コード例 #1
0
ファイル: parole-dbus.c プロジェクト: xfce-mirror/parole
gboolean parole_dbus_register_name(const gchar *name) {
    DBusConnection *bus;
    DBusError error;
    int ret;

    bus = parole_session_bus_get();

    dbus_error_init(&error);

    ret =
        dbus_bus_request_name(bus,
                               name,
                               DBUS_NAME_FLAG_ALLOW_REPLACEMENT,
                               &error);

    dbus_connection_unref(bus);

    if (dbus_error_is_set(&error)) {
        g_warning("Error: %s\n", error.message);
        dbus_error_free(&error);
        return FALSE;
    }

    return ret == DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER ? TRUE : FALSE;
}
コード例 #2
0
ファイル: parole-dbus.c プロジェクト: EricKoegel/parole
gboolean    parole_dbus_release_name        (const gchar *name)
{
    DBusConnection *bus;
    DBusError error;
    int ret;
    
    bus = parole_session_bus_get ();
    
    dbus_error_init (&error);
    
    ret =
        dbus_bus_release_name (bus,
                               name,
                               &error);

    dbus_connection_unref (bus);
    
    if ( dbus_error_is_set (&error) )
    {
        g_warning ("Error: %s\n", error.message);
        dbus_error_free (&error);
        return FALSE;
    }

    return ret == -1 ? FALSE : TRUE;
}
コード例 #3
0
ファイル: parole-dbus.c プロジェクト: xfce-mirror/parole
gboolean
parole_dbus_name_has_owner(const gchar *name) {
    DBusConnection *bus;
    DBusError error;
    gboolean ret;

    bus = parole_session_bus_get();

    dbus_error_init(&error);

    ret = dbus_bus_name_has_owner(bus, name, &error);

    dbus_connection_unref(bus);

    if (dbus_error_is_set(&error)) {
        g_warning("Failed to get name owner: %s\n", error.message);
        dbus_error_free(&error);
    }

    return ret;
}