Smoke-GObject generates a heirachy of QMetaObjects from GObject Introspection typelib files. This allows the functions in GObject based libraries to be invoked as slots, and for GObject signals to be forwarded to Qt signals. The GObject based types being converted to and from their Qt equivalents. The bindings can be used either by dynamic runtimes such as QtScript or QML with no code generation necessary, or they can include generated C++ classes to be compiled against for C++ projects.
The project was described in these three blogs:
It was checked into the KDE playground SVN module, but nothing has been done for the last two years.
At the UDS in Budapest, we had discussions about using the bindings to create a wrapper for a common library that will be used by both Unity-3D and Unity-2D. The library will be written using Gnome GObjects for Unity-3D, but will need to be used from Qt C++ and QML code in Unity-2D.
Currently the marshalling and function invocation code is being written. The 'Everything' library from the GObject Introspection project is being used to test the marshalling via a QtTest program to invoke all the code in this 'Everything' library.
Once the marshalling code is reasonably complete, the next stage will be to implement getting and setting Q_PROPERTYs corresponding to GObject properties, and to unite GObject signals with Qt signals.
After that an option will be added to generate C++ code for the QObject classes.
All bugs Latest bugs reported
Bug #919786: Compilation fails at gobjectnamespace.cpp
Reported on 2012-01-21
Bug #856878: Can only build by running cmake again after make
Reported on 2011-09-22