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:
authorMax <michal@naiman.eu>2016-10-15 17:18:26 +0300
committerMax <michal@naiman.eu>2016-10-15 17:18:26 +0300
commitf68695ca41550251bf7394c3d2f5efe139bf8163 (patch)
tree3d89670a5aa0b5790c0347955c3755ff1c323e43 /Duplicati/Library/Interface/IGenericSourceModule.cs
parent09851c55afdc600aa6f71449c43e45258a07f0fe (diff)
Added ability to backup hyperv using webgui
Diffstat (limited to 'Duplicati/Library/Interface/IGenericSourceModule.cs')
-rw-r--r--Duplicati/Library/Interface/IGenericSourceModule.cs72
1 files changed, 72 insertions, 0 deletions
diff --git a/Duplicati/Library/Interface/IGenericSourceModule.cs b/Duplicati/Library/Interface/IGenericSourceModule.cs
new file mode 100644
index 000000000..c0caa92ac
--- /dev/null
+++ b/Duplicati/Library/Interface/IGenericSourceModule.cs
@@ -0,0 +1,72 @@
+#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;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Duplicati.Library.Interface
+{
+ /// <summary>
+ /// An interface for a plugable generic module.
+ /// An instance of a module is loaded prior to a backup or restore operation,
+ /// and can perform tasks relating to the general execution environment, as
+ /// well as modify the options used in Duplicati.
+ ///
+ /// The implementation must have a default constructor.
+ /// If the module is actually loaded, the Configure method is called.
+ /// All instances where the Configure method is called will be disposed,
+ /// if they implement the IDisposable interface as well.
+ /// </summary>
+ public interface IGenericSourceModule
+ {
+ ///// <summary>
+ ///// The module key, used to activate or deactivate the module on the commandline
+ ///// </summary>
+ //string Key { get; }
+
+ ///// <summary>
+ ///// A localized string describing the module with a friendly name
+ ///// </summary>
+ //string DisplayName { get; }
+
+ ///// <summary>
+ ///// A localized description of the module
+ ///// </summary>
+ //string Description { get; }
+
+ ///// <summary>
+ ///// A boolean value that indicates if the module should always be loaded.
+ ///// If true, the user can choose to not load the module by entering the appropriate commandline option.
+ ///// If false, the user can choose to load the module by entering the appropriate commandline option.
+ ///// </summary>
+ //bool LoadAsDefault { get; }
+
+ ///// <summary>
+ ///// Gets a list of supported commandline arguments
+ ///// </summary>
+ //IList<ICommandLineArgument> SupportedCommands { get; }
+
+ /// <summary>
+ /// This method is the interception where the module can interact with the execution environment and modify the settings.
+ /// </summary>
+ /// <param name="commandlineOptions">A set of commandline options passed to Duplicati</param>
+ void ParseSource(ref string[] paths, ref Dictionary<string, string> commandlineOptions);
+ }
+}