[Evolution-hackers] Moving EExtension to libedataserver



Once 3.3 development is underway, one thing I'd like to do is promote
the EExtension framework in Evolution to libedataserver as a replacement
for e-data-server-module.c.

The EExtension framework was introduced in Evolution 2.30 as part of the
"kill-bonobo" effort and has proven itself stable and flexible.  The API
is already fully documented and our wiki has usage instructions for it:

        http://live.gnome.org/Evolution/Extensions

I'm going to need EExtension for the new D-Bus service I talked about
recently [1] anyway, so it makes sense to get this part merged early.

EBookBackend and ECalBackend will then be derived from EExtension
instead of GObject, to be further subclassed by the address book and
calendar backend modules.  Same pattern as EShellBackend in Evolution.

An interesting side-effect is that it will now be possible to write
extension modules for e-addressbook-factory and e-calendar-factory which
can do things other than just add new backend types.  This could prove
useful for integration with other desktop services, although I'm at a
loss for compelling examples off the top of my head.

Possibly the Tracker folks might be interested, or perhaps the D-Bus
services should start listening to NetworkManager themselves... just to
throw out a couple half-baked ideas.

These changes will require a soname bump to the E-D-S backend libraries,
but the impact should stay "in the family", so to speak.




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