Move endpoints from account config to implementation objects (1/3)
This removes Endpoint from ServiceInformation and moves it to a new ClientService class, since ServiceInformation is for apps to provide configuration, and Endpoints are effectively implementation detail. The new ClientService class is in effect an analoge to ServiceInformation in the same way as Account is to AccountInformation, and so this is a better place to store an account's endpoints. Two instances have been added to Account as `incoming` and `outgoing` properties instead of imap and SMTP to be a bit more generic and with an eye to supporting other protocols in the future. This is possble to implement now non-generic providers are populating ServiceInformation classes rather than Endpoints directly, and reduces the complexity of the code needed to manage endpoints since all of the untrusted_host callback complexity in AccountInformation and the Engine can be removed, and will also allow simplifing credentials and SMTP codepaths somewhat. This work has been broken up in to thee parts to make the changes clearer.
This commit is contained in:
parent
ed14156e17
commit
e760b074a2
15 changed files with 338 additions and 226 deletions
|
|
@ -7,6 +7,7 @@ geary_engine_vala_sources = files(
|
|||
'api/geary-aggregated-folder-properties.vala',
|
||||
'api/geary-attachment.vala',
|
||||
'api/geary-base-object.vala',
|
||||
'api/geary-client-service.vala',
|
||||
'api/geary-composed-email.vala',
|
||||
'api/geary-contact.vala',
|
||||
'api/geary-contact-flags.vala',
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue