Remove mail_folder_cache_service_added() and rely instead on
mail_folder_cache_service_enabled()/disabled(). Despite the function
names the folder cache doesn't actually care about enabled status, it
simply maintains a set of CamelStores to monitor. We should refactor
the folder cache API to better reflect that.
EMailAccountStore always immediately follows a "service-added" signal
emission with either a "service-enabled" or "service-disabled" emission,
which will add or remove the service from the folder cache.
CamelStoreClass bumps the settings_type to CAMEL_TYPE_STORE_SETTINGS,
which has a filter-inbox property. But we don't want ANY settings in
a CamelNullStore, so revert the settings_type to CAMEL_TYPE_SETTINGS.
Use e_source_camel_generate_subtype() to register an ESourceCamelNone
class based on the newly-registered "none" CamelProvider.
e_source_camel_register_types() won't pick up the new provider if it was
already called prior to the provider being registered. That might be a
bug... I'm not sure yet. The Camel/ESource integration is kinda messy.
em_utils_connect_service_sync() and em_utils_disconnect_service_sync()
are no longer needed. CamelService itself now effectively does what
these functions were doing.
Evolution kinda sorta supports multiple identities by allowing users
to set up so-called "transport-only" accounts by choosing "None" for
the account type.
Add a CamelStore subclass for those types of accounts so they get
added to EMailAccountStore. It's just a stupid hack to keep another
stupid hack working, but this should sustain us until we can support
multiple identities FOR REAL.
These libraries are bound for E-D-S so they live at the lowest layer of
Evolution for now -- even libeutil can link to them (but please don't).
This is the first step toward moving mail handing to a D-Bus service.