Exemple #1
0
JS_EXPORT_API
JSValueRef dbus_session_object(
        const char* bus_name,
        const char* object_path,
        const char* interface,
        JSData* js)
{ 
    if (!init) dbus_init();

    if (session_con == NULL) {
        GError *error = NULL;
        session_con = dbus_g_bus_get(DBUS_BUS_SESSION, &error);
        if (error != NULL) {
            g_warning("ERROR:%s\n", error->message);
            g_error_free(error);
        }
        g_assert(session_con != NULL);
    }
    JSValueRef value = get_dbus_object(js->ctx, session_con,
            bus_name, object_path, interface);
    if (value == NULL) {
        js_fill_exception(js->ctx, js->exception, "Can't dynamic build this dbus interface)");
    }
    return value;
}
int main()
{
    g_type_init();
    ctx = JSGlobalContextCreate(NULL);

    DBusGConnection *con = dbus_g_bus_get(DBUS_BUS_SESSION,  NULL);

    JSObjectRef obj = get_dbus_object(ctx, con,
            "org.gnome.Shell", "/org/gnome/Shell",
            "org.gnome.Shell");

    dbus_g_connection_unref(con);
    JSGlobalContextRelease(ctx);
    /*dbus_object_info_free(info);*/
}