using System;
using System.Collections.Generic;
using System.Text;
namespace ScrewTurn.Wiki.PluginFramework {
///
/// 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.
///
/// This interface should not be implemented directly by a class.
public interface IProviderV30 {
///
/// Initializes the Storage Provider.
///
/// The Host of the Component.
/// The Configuration data, if any.
/// If or are null.
/// If is not valid or is incorrect.
void Init(IHostV30 host, string config);
///
/// Method invoked on shutdown.
///
/// This method might not be invoked in some cases.
void Shutdown();
///
/// Gets the Information about the Provider.
///
ComponentInformation Information { get; }
///
/// Gets a brief summary of the configuration string format, in HTML. Returns null if no configuration is needed.
///
string ConfigHelpHtml { get; }
}
///
/// Represents errors that occur while decoding the Provider's Configuration String.
///
public class InvalidConfigurationException : Exception {
///
/// Initializes a new instance of the InvalidConfigurationException class.
///
public InvalidConfigurationException() : base() { }
///
/// Initializes a new instance of the InvalidConfigurationException class.
///
/// The error message.
public InvalidConfigurationException(string message) : base(message) { }
///
/// Initializes a new instance of the InvalidConfigurationException class.
///
/// The error message.
/// The inner Exception.
public InvalidConfigurationException(string message, Exception innerException) : base(message, innerException) { }
///
/// Initializes a new instance of the InvalidConfigurationException class.
///
/// The serialization info.
/// The streaming context.
public InvalidConfigurationException(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) : base(info, context) { }
}
}