#region Disclaimer / License // Copyright (C) 2015, The Duplicati Team // http://www.duplicati.com, info@duplicati.com // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either // version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA // #endregion using System; namespace Duplicati.Library.Interface { /// /// The interface used to describe a commandline argument /// public interface ICommandLineArgument { /// /// A list of valid aliases, may be null or an empty array /// string[] Aliases { get; set; } /// /// A long description of the argument /// string LongDescription { get; set; } /// /// The primary name for the argument /// string Name { get; set; } /// /// A short description of the argument /// string ShortDescription { get; set; } /// /// The argument type /// CommandLineArgument.ArgumentType Type { get; set; } /// /// A list of valid values, if applicable /// string[] ValidValues { get; set; } /// /// The default value for the parameter /// string DefaultValue { get; set; } /// /// Returns a localized string indicating the argument type /// string Typename { get; } /// /// A value indicating if the option is deprecated /// bool Deprecated { get; set; } /// /// A message describing the deprecation reason and possible change suggestions /// string DeprecationMessage { get; set; } } }