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
}
}