b8fab0371d
This works similar to the offline and shutdown procedure in EShell. We broadcast a "load-accounts" EShell event with an EActivity. The EActivity has a toggle reference which we use as a counting semaphore. If another module needs to handle the event asynchronously, it should reference the EActivity until its async operation completes, then drop the reference. Once the signal handlers finish and only the toggle reference remains, we then proceed with the Evolution Setup Assistant. All of this is in preparation for GNOME Online Accounts integration. For the moment, nothing listens for the "load-accounts" EShell event, so there should be no change in Evolution Setup Assistant behavior.