[Tracker] Mass porting to GDBus

Hi there,

We have started mass porting the Tracker project to GDBus. It's great
fun to join us while the rest of the world is partying 2011! Jeej!

We had already finished porting of and / or started using GDBus in
libtracker-sparql and in plugins/evolution. We ported the Evolution
plugin because GDBus gives us better thread safety guarantees.

We started libtracker-sparql using GDBus simply because it's written in
Vala, GDBus is better (in our opinion) than dbus-glib or raw libdbus and
because Vala makes any such transition super easy.

What we had not yet ported to GDBus was tracker-store, tracker-extract,
libtracker-miner, miners/fs, tests, tracker-writeback and miners/flickr.

In the branch 'gdbus-porting' I started porting of libtracker-miner and
miners/fs. With libtracker-miner most of miners/flickr and all of
miners/rss gets ported automatically.


I will now provide a list of things to do:

miners/flickr     : Adrien should spend some time testing this. The
                    miners/flickr/tracker-writeback.c file must also
                    still be ported

miners/fs         : The communication with tracker-extract is still

libtracker-miner  : Testing -miner-object.c and -miner-web.c, etc

tracker-extract   : tracker-extract.c, typical DBus service

tracker-writeback : tracker-writeback-dispatcher.c, atypical DBus
                    service. Note that we have plans to do a major
                    refactor of tracker-writeback in near future.

tracker-store     : Full port to GDBus (JÃrg is working on this)

tracker-utils     : Little D-Bus usage (things that can't go over the
                    TrackerSparqlConnection) must be ported to GDBus

tests, etc        : Everything that must be ported is still undone

tracker-needle    : Needle is using Vala, but apparently the old D-Bus
                    support of Vala. This should be easy to port.

Cleanup           : Cleaning up of data/dbus/* and generating of
                    documentation (if we clean the xml files up, what
                    will generate the D-Bus documentation?). Fixing of
                    Makefile.am that had -glue.h and -client.h stuff.
                    Updating .gitignore files for -glue.g and -client.h

What I Forgot     : What I didn't list here, is also to do :) of course

You see there is lot's and lot's of enjoyment for all who want to be

Keep in mind that we prefer .vala code. If a port of a D-Bus service is
as easy (or more easy, even better) to do in Vala than in C, then do it
in Vala. Do the extra effort of making .vapi files if necessary, yes.

The meme here is: Vala is good. k? :-)




Philip Van Hoof
freelance software developer
Codeminded BVBA - http://codeminded.be

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]