Update Geary.Imap.Capabilities handling

Move Capabilities to the api directory and make immutable.

Don't pass around out params to simply increment the revision and use a
field in ClientSession, just use the last capability instance. Ensure
after starting a TLS session capabilities are cleared. Add unit tests
for getting both implicit and explicity capaibilities when initiating
a client session.
This commit is contained in:
Michael Gratton 2019-12-29 23:15:34 +10:30 committed by Michael James Gratton
parent 53ce727c03
commit b46838f100
9 changed files with 285 additions and 108 deletions

View file

@ -208,6 +208,7 @@ src/engine/db/db-versioned-database.vala
src/engine/imap/imap.vala
src/engine/imap/imap-error.vala
src/engine/imap/api/imap-account-session.vala
src/engine/imap/api/imap-capabilities.vala
src/engine/imap/api/imap-client-service.vala
src/engine/imap/api/imap-email-flags.vala
src/engine/imap/api/imap-email-properties.vala
@ -319,7 +320,6 @@ src/engine/imap/parameter/imap-quoted-string-parameter.vala
src/engine/imap/parameter/imap-root-parameters.vala
src/engine/imap/parameter/imap-string-parameter.vala
src/engine/imap/parameter/imap-unquoted-string-parameter.vala
src/engine/imap/response/imap-capabilities.vala
src/engine/imap/response/imap-continuation-response.vala
src/engine/imap/response/imap-fetch-data-decoder.vala
src/engine/imap/response/imap-fetched-data.vala