communication history API a.k.a libmokojournal proposal
Dodji Seketeli
dodji at openedhand.com
Thu Apr 12 17:59:41 CEST 2007
Hello,
Some while ago we started to discuss about an API to log and further
manipulate information related to communication history.
We came out with a proposal to maintain a journal of communication data.
The library is in early stage and can be found at
http://svnweb.openmoko.org/trunk/src/target/OM-2007/openmoko-libs/libmokojournal/src/.
The library has several key selling points:
+ it uses evolution data server (aka eds) under the hood to store
journal information in the icalendar format, giving
us a chance to share that information in an open and
standard manner.
+ it exposes an API that hides the complexity of the eds API
and provides a straightforward /journal/journal entry/ oriented
abstraction
Spirit of the API
-----------------
libmokojournal exposes two main types: MokoJournal and MokoJournalEntry.
MokoJournal can be loaded from and stored to persitent storage. Once
loaded, it keeps instances of MokoJournalEntry in memory. Client code
can then easily add or delete entries (instances of MokoJournalEntry),
iterate over them etc ...
Typical workflows are:
+ open and load a journal, create an entry, add it to the journal,
write the journal to persitent storage, close the journal.
+ open and load a journal, get and entry, delete it, write the new
journal state to persistent storage.
This is a work in progress, so expect more to come toward a better
completion of the API.
You can look at the main header file at
http://svnweb.openmoko.org/trunk/src/target/OM-2007/openmoko-libs/libmokojournal/src/moko-journal.h?rev=1731&view=auto
You can also get some examples to learn how to
+ add journal entries:
http://svnweb.openmoko.org/trunk/src/target/OM-2007/openmoko-libs/libmokojournal/tests/test-create.c?rev=1731&view=auto
+ remove journal entries:
http://svnweb.openmoko.org/trunk/src/target/OM-2007/openmoko-libs/libmokojournal/tests/test-delete-uid.c?rev=1731&view=auto
and
http://svnweb.openmoko.org/trunk/src/target/OM-2007/openmoko-libs/libmokojournal/tests/test-delete.c?rev=1731&view=auto
At this point, I would be happy to your hear comments so that we can add
enhancement requests/bugs into bugzilla (for instance) to track the
progress of this library.
Cheers,
--
Dodji Seketeli
OpenedHand Ltd.
51 Great Brownings / London / SE21 7HP / UK
Tel: +44 (0)20 8819 6559
Expert Open Source For Consumer Devices - http://o-hand.com/
More information about the framework-devel
mailing list