/// <summary> /// Initializes the plugin log. /// </summary> /// <param name="p_mprManagedPluginRegistry">The <see cref="PluginRegistry"/> that contains the list /// of managed <see cref="Plugin"/>s.</param> /// <param name="p_posOrderSerializer">The object that serializes and deserializes /// data from an active plugin log permanent store.</param> /// <param name="p_povOrderValidator">The object that validates plugin order.</param> /// <exception cref="InvalidOperationException">Thrown if the plugin order log has already /// been initialized.</exception> public static PluginOrderLog Initialize(PluginRegistry p_mprManagedPluginRegistry, IPluginOrderLogSerializer p_posOrderSerializer, IPluginOrderValidator p_povOrderValidator) { if (m_polCurrent != null) throw new InvalidOperationException("The Plugin Order Log has already been initialized."); m_polCurrent = new PluginOrderLog(p_mprManagedPluginRegistry, p_posOrderSerializer, p_povOrderValidator); return m_polCurrent; }
/// <summary> /// A simple constructor that initializes the object with its dependencies. /// </summary> /// <param name="p_mprManagedPluginRegistry">The <see cref="PluginRegistry"/> that contains the list /// of managed <see cref="Plugin"/>s.</param> /// <param name="p_posOrderSerializer">The object that serializes and deserializes /// data from a plugin order log permanent store.</param> /// <param name="p_povOrderValidator">The object that validates plugin order.</param> private PluginOrderLog(PluginRegistry p_mprManagedPluginRegistry, IPluginOrderLogSerializer p_posOrderSerializer, IPluginOrderValidator p_povOrderValidator) { ManagedPluginRegistry = p_mprManagedPluginRegistry; LogSerializer = p_posOrderSerializer; OrderValidator = p_povOrderValidator; LoadPluginOrder(); m_rolOrderedPlugins = new ReadOnlyObservableList <Plugin>(m_oclOrderedPlugins); }
/// <summary> /// A simple constructor that initializes the object with its dependencies. /// </summary> /// <param name="p_mprManagedPluginRegistry">The <see cref="PluginRegistry"/> that contains the list /// of managed <see cref="Plugin"/>s.</param> /// <param name="p_posOrderSerializer">The object that serializes and deserializes /// data from a plugin order log permanent store.</param> /// <param name="p_povOrderValidator">The object that validates plugin order.</param> private PluginOrderLog(PluginRegistry p_mprManagedPluginRegistry, IPluginOrderLogSerializer p_posOrderSerializer, IPluginOrderValidator p_povOrderValidator) { ManagedPluginRegistry = p_mprManagedPluginRegistry; LogSerializer = p_posOrderSerializer; OrderValidator = p_povOrderValidator; LoadPluginOrder(); m_rolOrderedPlugins = new ReadOnlyObservableList<Plugin>(m_oclOrderedPlugins); }
/// <summary> /// Initializes the plugin log. /// </summary> /// <param name="p_mprManagedPluginRegistry">The <see cref="PluginRegistry"/> that contains the list /// of managed <see cref="Plugin"/>s.</param> /// <param name="p_posOrderSerializer">The object that serializes and deserializes /// data from an active plugin log permanent store.</param> /// <param name="p_povOrderValidator">The object that validates plugin order.</param> /// <exception cref="InvalidOperationException">Thrown if the plugin order log has already /// been initialized.</exception> public static PluginOrderLog Initialize(PluginRegistry p_mprManagedPluginRegistry, IPluginOrderLogSerializer p_posOrderSerializer, IPluginOrderValidator p_povOrderValidator) { if (m_polCurrent != null) { throw new InvalidOperationException("The Plugin Order Log has already been initialized."); } m_polCurrent = new PluginOrderLog(p_mprManagedPluginRegistry, p_posOrderSerializer, p_povOrderValidator); return(m_polCurrent); }