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) { } } }