[Evolution-hackers] More CamelService changes



I made another round of CamelService changes on the master branch in
preparation for moving to key file based account storage.

This time I did the write up in my E-D-S commit message, so I'll just
copy and paste that here.

All current Camel providers are already adapted to the changes, and
things seem to be working fine for me, but let me know if you hit any
account-related regressions.


---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ----

Move remaining CamelURL elements to CamelSettings.

This is a continuation of the CamelSettings work I started in 3.1.

CamelService no longer stores a CamelURL.  The URL components are being
moved to CamelSettings.

For network services, the host, port, user and authentication mechanism
URL components now live in CamelNetworkSettings.

For local services, the path URL component (aka, the file path to the
root of the local mail store) now lives in CamelLocalSettings.

For now these new settings are configured the same as other settings:
through camel_settings_load_from_url().  But again, that function will
be dropped as soon as we move to key files for account data storage.

Also:

- Remove camel_service_get_url(), which is no longer used.

- camel_session_add_service() now takes a protocol name instead of a
  URL string.  The protocol name must match a registered CamelProvider.

- camel_service_get_camel_url() is renamed camel_service_new_camel_url().
  It now returns a new CamelURL which must be freed with camel_url_free().
  The returned CamelURL is built from user, host, port and path settings,
  and does not have any parameters.  You MUST access settings through
  CamelSettings now.

- CamelServices need to be prepared for CamelSettings values changing or
  even the entire CamelSettings object being replaced at any time.  Most
  services were already prepared, but I caught a few services caching
  settings during initialization.  Always consult CamelSettings when a
  setting value is needed so the service is acting on a fresh value.

- Camel's SONAME is hereby bumped (yet again) for 3.3.2.



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