Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/duplicati/duplicati.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkenneth.skovhede@gmail.com <kenneth.skovhede@gmail.com@59da171f-624f-0410-aa54-27559c288bec>2010-06-20 01:08:21 +0400
committerkenneth.skovhede@gmail.com <kenneth.skovhede@gmail.com@59da171f-624f-0410-aa54-27559c288bec>2010-06-20 01:08:21 +0400
commita40f6acf378d4ceeae9fcdda1e759160d96a9d37 (patch)
tree01ede0260a9416c16e6678cd6bf9a20cd2373acb /Duplicati/Library/Interface/ICommandLineArgument.cs
parent8296404414aefa870971d847f73b091a9c25245f (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.cs78
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; }
+ }
+}