diff options
author | kenneth.skovhede@gmail.com <kenneth.skovhede@gmail.com@59da171f-624f-0410-aa54-27559c288bec> | 2010-06-20 01:08:21 +0400 |
---|---|---|
committer | kenneth.skovhede@gmail.com <kenneth.skovhede@gmail.com@59da171f-624f-0410-aa54-27559c288bec> | 2010-06-20 01:08:21 +0400 |
commit | a40f6acf378d4ceeae9fcdda1e759160d96a9d37 (patch) | |
tree | 01ede0260a9416c16e6678cd6bf9a20cd2373acb /Duplicati/Library/Interface/ICommandLineArgument.cs | |
parent | 8296404414aefa870971d847f73b091a9c25245f (diff) |
A fairly large refactoring of the code.
This was based on the idea that the interfaces should remain static.
I hope this change is enough to ensure stable interfaces until release 1.2.
Overview of changes:
Moved all interfaces into the same dll.
Encryption and compression is now plugable modules, just as the backends.
Encryption/compression can now register an UI.
Encryption now uses AESCrypt as a default.
GPG does not default to using the --armor option.
Added support for generic modules, but none are written yet.
Added support for plugable settings pages in the "Options" dialog.
Fixed issue #148.
Duplicati now uses AESCrypt as the default encryption format.
Fixed issue #199.
GPG now supports custom commandline options.
Fixed issue #207.
Encryption modules are now plugable.
Fixed issue #118.
S3 credentials are now stored.
Fixed issue #151.
Backends can now register system wide options.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@427 59da171f-624f-0410-aa54-27559c288bec
Diffstat (limited to 'Duplicati/Library/Interface/ICommandLineArgument.cs')
-rw-r--r-- | Duplicati/Library/Interface/ICommandLineArgument.cs | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/Duplicati/Library/Interface/ICommandLineArgument.cs b/Duplicati/Library/Interface/ICommandLineArgument.cs new file mode 100644 index 000000000..e87ecc8d8 --- /dev/null +++ b/Duplicati/Library/Interface/ICommandLineArgument.cs @@ -0,0 +1,78 @@ +#region Disclaimer / License
+// Copyright (C) 2010, Kenneth Skovhede
+// http://www.hexad.dk, opensource@hexad.dk
+//
+// 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
+{
+ /// <summary>
+ /// The interface used to describe a commandline argument
+ /// </summary>
+ public interface ICommandLineArgument
+ {
+ /// <summary>
+ /// A list of valid aliases, may be null or an empty array
+ /// </summary>
+ string[] Aliases { get; set; }
+
+ /// <summary>
+ /// A long description of the argument
+ /// </summary>
+ string LongDescription { get; set; }
+
+ /// <summary>
+ /// The primary name for the argument
+ /// </summary>
+ string Name { get; set; }
+
+ /// <summary>
+ /// A short description of the argument
+ /// </summary>
+ string ShortDescription { get; set; }
+
+ /// <summary>
+ /// The argument type
+ /// </summary>
+ CommandLineArgument.ArgumentType Type { get; set; }
+
+ /// <summary>
+ /// A list of valid values, if applicable
+ /// </summary>
+ string[] ValidValues { get; set; }
+
+ /// <summary>
+ /// The default value for the parameter
+ /// </summary>
+ string DefaultValue { get; set; }
+
+ /// <summary>
+ /// Returns a localized string indicating the argument type
+ /// </summary>
+ string Typename { get; }
+
+ /// <summary>
+ /// A value indicating if the option is deprecated
+ /// </summary>
+ bool Deprecated { get; set; }
+
+ /// <summary>
+ /// A message describing the deprecation reason and possible change suggestions
+ /// </summary>
+ string DeprecationMessage { get; set; }
+ }
+}
|