using System; using System.Collections.Generic; namespace JD.TeaBoxAddinSystem.Bootstrap { /// /// Interface for classes that can custom handle the command line arguments. /// public interface ICommandLineHandler : IBootstrapCommand, ICommandLineHelpTopic { #region Properties /// /// Gets whether the handler will be executed even if no argument from are present. /// bool ExecuteEvenWhenNoArgumentNamesPresent { get; } /// /// Gets whether the application should quit after this command has executed. /// /// /// This is always called just after the method. /// /// True if the application should quit immediately (bypassing any remaining commands) bool QuitAfterExecuted { get; } /// /// Name of the main arguments of this handler. /// IEnumerable ArgumentNames { get; } #endregion #region Methods /// /// Initializes the handler. /// /// /// This method is called once at the start of the program. You can validate the arguments here /// and throw s if needed. /// /// True if the application should start in command line mode (no GUI). /// An argument is invalid. bool Initialize(); #endregion } }