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