The OpenBerg project deals with e-books. In particular, it deals with libraries of e-books, containing numerous informations which the user might wish to use when it comes to searching/loading a particular book. This, along with other things, is handled by the Persistence module.
The Persistence module takes care of loading and saving information regarding the books (author, genre... but also user-annotations, cache, last-opened date and book-specific preferences) and regarding OpenBerg itself (last-opened books, preferences...).
This module is currently being somewhat re-architectured. The previous version was fully RDF-based, that is preferences were handled as a generic graph. Although the idea is interesting, C++ is definitely not the right language to do this. The new version will allow directly saving XML extracts.