Hi, Michael Lawrence wrote: > I am wondering what is happening with GObject introspection. It seems > that it has been in the works for some time now but that development has > stalled.
Rob Taylor started working on it again, see http://bugzilla.gnome.org/show_bug.cgi?id=363228 > 1) What are the overall goals of the project? From what I gather the > goals are twofold: > a) To define a common representation (GIDL) for GObject-based API's. > Binding generators can then be ported to use a standard format rather > than the current assortment of defs files, GAPI, etc. > b) To support run-time introspection by accessing a binary blob of > metadata. Combining a) and b) I would say part of the goal is run-time binding generation, i.e. right now most of the bindings involve a couple megs of static function stubs, ideally this could be replaced with perhaps a couple hundred K of generic code that built binding objects on demand (much as e.g. dbus-python works) > 2) How is the GIDL/metadata generated? The Vala project has some scripts > that generate GIDL from header files. This is obviously a difficult > task, because things like memory management, in/out parameters, etc > cannot be automatically derived from header files. Thus, human > annotation is necessary. My preference is this pipeline: - Scan headers (or code in other language) and generate a base IDL file (or in-memory parse tree) - Allow "magic comments" in the headers to modify the IDL that would otherwise have been created. Similar to gtk-doc comments. - Allow a "merge file," a lookaside IDL file that overrides or adds to the scanned IDL - similar to magic comments but not in the C code itself - Output (or keep in-memory parse tree, as appropriate) the resulting IDL - Output a binary type lib containing the same information A pipeline should also be possible where you write the IDL file first and then a C header is generated. This is useful when the IDL file is part of a spec or shared between multiple apps. Havoc _______________________________________________ gtk-devel-list mailing list gtk-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-devel-list