Thinking of glib's GObject (and) Introspection API
Allen Winter
winter at kde.org
Thu Feb 18 12:53:15 PST 2016
On Thursday, February 18, 2016 12:13:38 PM Milan Crha wrote:
> Hello,
> I'd like to ask you about the GObject introspection code. There had
> been done a Google Summer of Code project, named libical-glib, in 2014.
> It provides a GObject wrapper on top of the libical C API, and it also
> generates introspection code from the GObject wrapper code (and
> function comments). Its aim was to provide the introspection for the
> evolution-data-server's calendar code.
>
> It's currently hosted in GNOME's git:
> https://git.gnome.org/browse/libical-glib/
>
> I'm wondering, would you be interested to bundle this code into the
> libical sources directly? Like you have a C API, C++ API, python API,
> java API,... thus add to them also the glib's GObject API, from which
> can be generated the introspection easily.
>
> The project works with XML files, which describe the API. The build
> process consists of these steps:
> a) build a code generator, which works with the XML files
> b) process the XML files through the generator, which provides GObject
> sources with the functions' documentation and annotations
> c) generate introspection files from the generated GObject files
> from the step b)
>
> Having this part of the libical core, the libical would benefit from it:
> - getting "native" GObject API
> - getting developer documentation
> - easier maintenance of the introspection code (because it's generated
> from the GObject API, without dealing with any extra definitions)
> - libical API changes mean just .xml file updates, the rest is
> done automatically
>
I'm happy to have it.
I don't want to do the work, but if someone else wants to take it on, that's great.
> I tried to run "make docs" in 2.0.0 libical and the result wasn't good,
> the doxygen captured only a little of functions and sources. The
> libical-glib project has an extensive developer documentation, with
> compare of libical itself. I uploaded the documentation to a server,
> you can check it yourself:
> https://people.gnome.org/~mcrha/libical-glib/
>
known issue. see https://github.com/libical/libical/issues/175
http://libical.github.io/libical/apidocs/ has the current state.
More information about the libical-devel
mailing list