Merged requested to merge wip/carlosg/rewrite-bus-impl into master
From the main commit:
libtracker-sparql: Reimplement all bus connection objects Historically the set of objects that provide the bus implementation were written in Vala, this commit ends with that and rewrites all of these objects in C. This is mostly a 1:1 port with one exception, cursors are now based on TrackerDeserializer and input streams, they were given a memory buffer previously. The use of Vala here had a few indirect effects: - Vala code could not be introspected by our gcovr infrastructure for code coverage. This made this central piece of our library invisible to coverage stats entirely. - Since our library code and vala contend for the use of visibility attributes for public functions, we ended up with a few symbols from this Vala code that was never intended to be public API. - The async code generated by Vala triggers reports about unreachable code in Coverity. This has proven very imbued in Vala and hard to fix without breaking something else there. Moving away from Vala fixes all 3. For the sake of maintainability, this is seen as a net improvement, despite the more verbose code and the async operation daisy chaning at places. Now all untested code, leaked symbols and dead code will be a responsibility of our own.