Re: [Evolution-hackers] evolution-data-server from Desktop to Platform?


On Fri, 2005-05-27 at 06:56 -0400, Nat Friedman wrote:

> > With no proper e-cal-component object, the nasty e-sources stuff, no
> > mail storage api, and the awful CORBA interfaces, I'd say there's still
> > a long way to go, in my humble opinion of course.
> I agree with all of these issues.
> Might we want to move things in piecemeal, though?  It'd be nice to
> publish the addressbook API, even if just the C API and not the CORBA
> IDL, so that people might rely on it more.

	That sounds like a good approach. It looks like it still needs a bit of
work before being able to do that, though, and it'd be good to review
just exactly what you'd be exposing.

	e.g. looking at e-book.h:

  - Although it mightened look like a huge API at first, it actually 

      + EBook
      + EBookQuery
      + EBookView
      + EBookViewListener
      + EContact
      + EVCard
      + ESource
      + ESourceGroup
      + ESourceList
      + EList
      + EListIterator
      + EIterator

    A rough (and probably incorrect) grep says thats around 220 

    The EList stuff looks a little unneccessary, is it?

  - The CORBA types are exposed in e-book.h by including Addressbook.h. 
    It looks like that can be safely removed though. 

  - Not so easy in e-book-view.h. Perhaps move the EBookView constructor
    to e-book-view-private.h ?

  - EBookViewListener is even harder, though. The API heavily exposes 
    CORBA/Bonobo - it would need a good bit of work to hide all that.

  - I'm delighted to see my pet peeve[1] is fixed with 
    e_book_new_default_addressbook() but if the API becomes part of the 
    platform I think you'd have to consider that the GConf key and its 
    format would probably need to be considered as frozen as the API.

	Anyway, I'd totally agree that adding parts of the API, bit by bit, to
the platform is the right approach. And, for this API, it looks doable
with a fairly small amount more work.


[1] -

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]