namespace Kiseki.Launcher { public interface IBootstrapper { // These connect to MainWindow event EventHandler? OnHeadingChange; event EventHandler? OnProgressBarAdd; event EventHandler? OnProgressBarStateChange; event EventHandler? OnError; // Actual bootstrapping bool Initialize(); void Run(); void Abort(); // Installation (i.e. putting the launcher in the Kiseki folder) static abstract void Install(); static abstract void Uninstall(bool quiet = false); // Registering the launcher onto the system (as well as creating shortcuts) static abstract void Register(); static abstract void Unregister(); // Licensing the launcher static abstract void License(); static abstract void Unlicense(); } }