[Tracker] Mass porting to GDBus
- From: Philip Van Hoof <spam pvanhoof be>
- To: tracker-list gnome org
- Subject: [Tracker] Mass porting to GDBus
- Date: Fri, 31 Dec 2010 11:08:07 +0100
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
] [Thread Prev