diff options
author | Max <michal@naiman.eu> | 2016-10-15 17:18:26 +0300 |
---|---|---|
committer | Max <michal@naiman.eu> | 2016-10-15 17:18:26 +0300 |
commit | f68695ca41550251bf7394c3d2f5efe139bf8163 (patch) | |
tree | 3d89670a5aa0b5790c0347955c3755ff1c323e43 /Duplicati/Library/Interface/IGenericSourceModule.cs | |
parent | 09851c55afdc600aa6f71449c43e45258a07f0fe (diff) |
Added ability to backup hyperv using webgui
Diffstat (limited to 'Duplicati/Library/Interface/IGenericSourceModule.cs')
-rw-r--r-- | Duplicati/Library/Interface/IGenericSourceModule.cs | 72 |
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); + } +} |