|
GNOME Goal: Add GObject Introspection Support
Summary
The introspection project has two major goals, and a variety of more minor ones: > http://www.gnome.org/~fpeters/reports/299.html
Two level applications - C and <your favorite runtime>
Thus, one of the major goals of the GObject introspection project is to be a convenient bridge between these two worlds (C and a managed runtime such JavaScript, Python, Java...), and allow you to choose the right tool for the job, rather than being limited inside one or the other. With the introspection project, you can write for example a ClutterActor or GtkWidget subclass in C, and then without any additional work use that class inside JavaScript.
- Sharing binding infrastructure work, and making the platform even more binding friendly
- Up until now various language bindings such as Python, Mono, java-gnome etc. had duplicated copies of hand-maintained metadata, and this led to a situation where bindings tended to lag behind until these manual fixups were done, or were simply wrong, and your application would crash when calling a more obscure function. The introspection project solves this by putting all of the metadata inside the GObject library itself, using annotations in the comments. This will lead to less duplicate work from binding authors, and a more reliable experience for binding consumers.
See GObjectIntrospection for more details.
Guidelines
See our implementation guidelines for help adding gobject-introspection support to your favorite project.
Comments before approval
|
Status of this goal
Note: Automatically updated stats can be found at http://www.gnome.org/~fpeters/299.html
Note that there are two possible "routes":
nothing -> gir-repository -> patch -> upstream
nothing -> patch -> upstream
The final goal should be to have the rightmost column filled solely with "inside the module", having introspection data for all projects generated upstream, not in gir-repository. Any new patches to generate introspection data should go directly upstream without entering gir-repository if at all possible.
|
Patch Status |
Markup |
todo |
<: #ff8080> todo |
patch |
<: #ffc849> [[GnomeBug:xxxxx|patch]] |
done |
<: #80ff80> [[GnomeBug:xxxxx|done]] |
not needed |
<: #80ff80> not needed |
Upstream Status |
Markup |
gir-repository |
<: #8080ff> gir-repository |
inside the module |
<: #80ff80> [[GnomeBug:xxxxx|inside the module]] |
Above are the states and corresponding markup to update the modules state table below.
Tarball |
Patch Status |
Upstream Status |
Desktop |
||
inside the module |
||
to do |
no |
|
to do |
no |
|
to do |
no |
|
done |
inside the module |
|
inside the module |
||
evolution-data-server |
to do |
no |
to do |
no |
|
evolution-mapi |
to do |
no |
to do |
no |
|
gnome-control-center |
to do |
no |
gnome-desktop |
to do |
no |
gnome-icon-theme |
to do |
no |
gnome-keyring |
to do |
gir-repository |
gnome-mag |
to do |
no |
to do |
no |
|
gnome-menus |
to do |
no |
to do |
no |
|
to do |
no |
|
gnome-settings-daemon |
to do |
no |
to do |
no |
|
to do |
no |
|
to do |
no |
|
to do |
no |
|
inside the module, needs GI bugfixes |
||
gst-plugins-base |
inside the module, needs GI bugfixes |
|
gst-plugins-good |
not needed |
no |
to do |
no |
|
gtkhtml |
to do |
no |
to do |
gir-repository |
|
done |
inside the module |
|
hamster-applet |
to do |
no |
libgail-gnome |
to do |
no |
libgnomekbd |
to do |
no |
libgtop |
to do |
no |
no |
||
liboobs |
to do |
no |
librsvg |
to do |
no |
gir-repository |
||
libwnck |
to do |
gir-repository |
metacity |
to do |
no |
to do |
gir-repository |
|
to do |
no |
|
totem |
no |
|
tomboy |
to do |
no |
vte |
to do |
gir-repository |
Platform |
||
GConf |
to do |
gir-repository |
at-spi |
to do |
no |
atk |
gir-repository |
|
glib |
to do |
gir-repository |
gir-repository |
||
gtk-doc |
to do |
no |
pango |
inside the module |
|
Development Tools |
||
anjuta |
to do |
no |
devhelp |
to do |
no |
gdl |
no |
|
glade3 |
to do |
no |
Mobile |
||
GConf (dbus-based) |
to do |
no |
evolution-data-server (dbus-based) |
to do |
no |
clutter-gst |
to do |
no |
External Dependencies |
||
avahi |
to do |
gir-repository |
cairo |
to do |
no |
cairomm |
to do |
no |
inside the module |
||
clutter-gtk |
done |
inside the module |
conduit |
to do |
no |
dbus |
to do |
gir-repository |
dbus-glib |
to do |
no |
dbus-python |
to do |
no |
to do |
no |
|
DeviceKit-disks |
to do |
no |
DeviceKit-power |
to do |
no |
enchant |
to do |
no |
expat |
to do |
no |
farsight2 |
to do |
no |
fontconfig |
to do |
no |
gamin |
to do |
no |
gnutls |
to do |
no |
gpgme |
to do |
no |
gtk-vnc |
to do |
no |
hal |
to do |
no |
icon-naming-utils |
to do |
no |
iso-codes |
to do |
no |
libatasmart |
to do |
no |
libcanberra |
to do |
no |
libcroco |
to do |
no |
libgda |
no |
|
libgsf |
to do |
no |
libical |
to do |
no |
libmapi |
to do |
no |
libmusicbrainz |
to do |
no |
libnotify |
to do |
gir-repository |
liboil |
to do |
no |
libproxy |
to do |
no |
libtasn1 |
to do |
no |
libtelepathy |
to do |
no |
libxklavier |
to do |
no |
libxml2 |
done |
no |
libxslt |
done |
no |
Mono.Addins |
to do |
no |
mozilla (firefox) |
to do |
no |
ndesk-dbus |
to do |
no |
ndesk-dbus-glib |
to do |
no |
opal |
to do |
no |
pkg-config |
to do |
no |
to do |
no |
|
PolicyKit-gnome |
no |
|
pulseaudio |
to do |
no |
poppler |
to do |
gir-repository |
pycairo |
to do |
no |
ptlib |
to do |
no |
Python |
to do |
no |
rarian |
to do |
no |
shared-mime-info |
to do |
no |
sqlite |
to do |
no |
startup-notification |
to do |
no |
system-tools-backends |
to do |
no |
telepathy-glib |
to do |
no |
telepathy-mission-control |
to do |
no |
unique |
gir-repository for 1.0 |
|
Other |
||
abiword |
to do |
no |
to do |
no |
|
to do |
no |
|
contact-lookup-applet |
to do |
no |
eggcups |
to do |
no |
f-spot |
to do |
no |
ghex |
to do |
no |
gimp |
to do |
no |
glom |
to do |
no |
gnome-blog |
to do |
no |
no |
||
inside the module |
||
gnome-cups-manager |
to do |
no |
gnome-main-menu |
to do |
no |
to do |
no |
|
goocanvas |
to do |
gir-repository |
goocanvasmm |
to do |
no |
GParted |
to do |
no |
GNOME Phone Manager |
to do |
no |
to do |
no |
|
gtetrinet |
to do |
no |
to do |
no |
|
GUPnP |
to do |
gir-repository |
libbtctl |
to do |
no |
libgda |
to do |
no |
libgnomekbd |
to do |
no |
libgoffice |
to do |
no |
libgsf |
to do |
no |
libchamplain |
inside the module |
|
nautilus-vcs |
to do |
no |
nemiver |
to do |
no |
to do |
no |
|
mutter |
inside the module |
|
planner |
to do |
no |
tracker |
to do |
no |
webkit |
to do |
gir-repository |
