Geary.Account: Add {de}register_local_folder methods

Support API clients registering their own local folder implementations.
Use this (and the last commit) to generalise handling of the outbox by
GenericAccount by registering it when the outbox postie is started, and
when creating a map of folders that contain specific ids.

This also ensures API clients are informed of the outbox becoming
available, allowing some special case code to be removed from the app
controller.
This commit is contained in:
Michael Gratton 2020-08-05 14:10:11 +10:00 committed by Michael James Gratton
parent 910228093c
commit df7a30cbe1
5 changed files with 142 additions and 47 deletions

View file

@ -88,6 +88,18 @@ public class Mock.Account : Geary.Account,
);
}
/** {@inheritDoc} */
public override void register_local_folder(Geary.Folder local)
throws GLib.Error {
void_call("register_local_folder", { local });
}
/** {@inheritDoc} */
public override void deregister_local_folder(Geary.Folder local)
throws GLib.Error {
void_call("deregister_local_folder", { local });
}
public override Geary.EmailIdentifier to_email_identifier(GLib.Variant serialised)
throws Geary.EngineError.BAD_PARAMETERS {
try {