using CommandLine;
namespace ConsoleInterface
{
///
/// ProgramOptions is a class defining command line options supported by this program.
///
public class ProgramOptions
{
///
/// CompressFiles indicates whether files should be compressed after being cleaned.
///
[Option('c', "compress", Required = false, HelpText = "Compress images after cleaning.", Default = true)]
public bool? CompressFiles { get; set; }
///
/// DestinationDirectory represents the destination directory for the cleaned images.
///
[Option('d', "destination", Required = false,
HelpText = "The destination directory for the cleaned images.",
Default = "./cleaned")]
public string DestinationDirectory { get; set; }
///
/// DestinationDirectory represents the destination directory for the cleaned images.
///
[Option('l', "log-level", Required = false,
HelpText =
"The logging level of the program. Available log levels are: None,Trace,Debug,Information,Warning,Error,Critical.",
Default = "Information")]
public string LogLevel { get; set; }
///
/// SourceDirectory represents the source directory of images.
///
[Value(0, MetaName = "source", HelpText = "The source directory of images.", Default = ".")]
public string SourceDirectory { get; set; }
}
}