Commit Graph

4 Commits

Author SHA1 Message Date
cefa5edf7f Add EClientCache.
New class to help reduce code duplication and centralize some EClient
handling policies.

Benefits:

- EClient instances can be shared across the entire application.

- Centralized rebroadcasting of "backend-died" and "backend-error"
  signals emitted from cached EClient instances.

- Automatic cache invalidation when backends crash.  The EClient
  is discarded, and a new instance is created on the next request.
2013-02-16 18:57:08 -05:00
2c9ed5c04a Remove e-client-utils.[ch]. 2013-01-30 09:35:27 -05:00
5e2efa2cd4 Finish adding symbols to libeutil API docs. 2012-12-15 08:16:36 -05:00
d09d8de870 Consolidate base utility libraries into libeutil.
Evolution consists of entirely too many small utility libraries, which
increases linking and loading time, places a burden on higher layers of
the application (e.g. modules) which has to remember to link to all the
small in-tree utility libraries, and makes it difficult to generate API
documentation for these utility libraries in one Gtk-Doc module.

Merge the following utility libraries under the umbrella of libeutil,
and enforce a single-include policy on libeutil so we can reorganize
the files as desired without disrupting its pseudo-public API.

   libemail-utils/libemail-utils.la
   libevolution-utils/libevolution-utils.la
   filter/libfilter.la
   widgets/e-timezone-dialog/libetimezonedialog.la
   widgets/menus/libmenus.la
   widgets/misc/libemiscwidgets.la
   widgets/table/libetable.la
   widgets/text/libetext.la

This also merges libedataserverui from the Evolution-Data-Server module,
since Evolution is its only consumer nowadays, and I'd like to make some
improvements to those APIs without concern for backward-compatibility.

And finally, start a Gtk-Doc module for libeutil.  It's going to be a
project just getting all the symbols _listed_ much less _documented_.
But the skeletal structure is in place and I'm off to a good start.
2012-12-12 14:33:43 -05:00