nemomobile/libcommhistory — pull request #26 by special (2013-07-16 22:59:20+00:00)
Title: Replace Tracker backend with SQLite

Sorry about the huge diff, and the slightly messy commit history.

This entirely removes the use of tracker and sparql from libcommhistory, and adds a sqlite database instead. Behavior changes were kept fairly minimal, so there's a lot of room to clean up in the future by removing unused fields and fixing strange behaviors.

Notable changes:
* No tracker, no sparql :)
* All deprecated inbox-style models are removed
* soversion bumped due to dramatic API/ABI changes
* Tests no longer use a static library build
* All contact resolving is asynchronous, and not very well cached. This will be improved soon.
* SMS messages will actually be deleted, instead of being flagged as deleted and stored forever(!)
* Assorted low-level API changes

Regressions:
* All operations are done synchronously, and the async and streamedasync modes are ignored. This will be fixed in a better way later.
* The models do not currently support fetchMore; they will return all results immediately
* Message parts and some other MMS-specific functionality is broken

Known bugs:
* ContactGroupModel does not handle asynchronous contact resolving correctly in all cases
* ClassZeroSMSModel and anything relying on fake events having a non-negative ID may be broken
* Phone numbers will be compared in some places directly as strings

Unit tests should pass, with the exception of contacts-related tests and classzerosmsmodel. A commhistory-daemon patch will be coming shortly. I'm not aware of any other packages requiring changes.