73 lines
2.8 KiB
C#
73 lines
2.8 KiB
C#
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
|
|
namespace ScrewTurn.Wiki.PluginFramework {
|
|
|
|
/// <summary>
|
|
/// The base interface that all the Providers must implement. All the Provider Type-specific interfaces inherit from this one or from a one, either directly or from a derived interface.
|
|
/// </summary>
|
|
/// <remarks>This interface should not be implemented directly by a class.</remarks>
|
|
public interface IProviderV30 {
|
|
|
|
/// <summary>
|
|
/// Initializes the Storage Provider.
|
|
/// </summary>
|
|
/// <param name="host">The Host of the Component.</param>
|
|
/// <param name="config">The Configuration data, if any.</param>
|
|
/// <exception cref="ArgumentNullException">If <paramref name="host"/> or <paramref name="config"/> are <c>null</c>.</exception>
|
|
/// <exception cref="InvalidConfigurationException">If <paramref name="config"/> is not valid or is incorrect.</exception>
|
|
void Init(IHostV30 host, string config);
|
|
|
|
/// <summary>
|
|
/// Method invoked on shutdown.
|
|
/// </summary>
|
|
/// <remarks>This method might not be invoked in some cases.</remarks>
|
|
void Shutdown();
|
|
|
|
/// <summary>
|
|
/// Gets the Information about the Provider.
|
|
/// </summary>
|
|
ComponentInformation Information { get; }
|
|
|
|
/// <summary>
|
|
/// Gets a brief summary of the configuration string format, in HTML. Returns <c>null</c> if no configuration is needed.
|
|
/// </summary>
|
|
string ConfigHelpHtml { get; }
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// Represents errors that occur while decoding the Provider's Configuration String.
|
|
/// </summary>
|
|
public class InvalidConfigurationException : Exception {
|
|
|
|
/// <summary>
|
|
/// Initializes a new instance of the <b>InvalidConfigurationException</b> class.
|
|
/// </summary>
|
|
public InvalidConfigurationException() : base() { }
|
|
|
|
/// <summary>
|
|
/// Initializes a new instance of the <b>InvalidConfigurationException</b> class.
|
|
/// </summary>
|
|
/// <param name="message">The error message.</param>
|
|
public InvalidConfigurationException(string message) : base(message) { }
|
|
|
|
/// <summary>
|
|
/// Initializes a new instance of the <b>InvalidConfigurationException</b> class.
|
|
/// </summary>
|
|
/// <param name="message">The error message.</param>
|
|
/// <param name="innerException">The inner Exception.</param>
|
|
public InvalidConfigurationException(string message, Exception innerException) : base(message, innerException) { }
|
|
|
|
/// <summary>
|
|
/// Initializes a new instance of the <b>InvalidConfigurationException</b> class.
|
|
/// </summary>
|
|
/// <param name="info">The serialization info.</param>
|
|
/// <param name="context">The streaming context.</param>
|
|
public InvalidConfigurationException(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) : base(info, context) { }
|
|
|
|
}
|
|
|
|
}
|