public void test1() { Assert.False(persistenceDriver.GetPluginInterfacesNames().Count() > 0); Assert.False(persistenceDriver.ExistPluginInterface("test")); persistenceDriver.AddPluginInterface("test"); Assert.True(persistenceDriver.GetPluginInterfacesNames().Count() > 0); Assert.True(persistenceDriver.ExistPluginInterface("test")); Assert.False(persistenceDriver.ExistPluginImplementation("test", "local:test")); persistenceDriver.AddPluginImplementation("test", "local:test"); Assert.True(persistenceDriver.GetPluginImplementationsAddresses("test").Count() > 0); Assert.True(persistenceDriver.ExistPluginInterface("test")); Assert.True(persistenceDriver.ExistPluginImplementation("test", "local:test")); Assert.False(persistenceDriver.ExistPluginImplementation("test", "local:test2")); persistenceDriver.RemovePluginImplementation("test", "local:test"); Assert.True(persistenceDriver.GetPluginInterfacesNames().Count() > 0); Assert.False(persistenceDriver.GetPluginImplementationsAddresses("test").Count() > 0); Assert.True(persistenceDriver.ExistPluginInterface("test")); Assert.False(persistenceDriver.ExistPluginImplementation("test", "local:test")); persistenceDriver.RemovePluginInterface("test"); Assert.False(persistenceDriver.GetPluginInterfacesNames().Count() > 0); Assert.False(persistenceDriver.ExistPluginInterface("test")); }// END Method test1
}// END Method UnregisterSingletonPlugin public void UnregisterSingletonPlugin(Type pluginInterfaceClass, IPersistenceDriver persistenceDriver) { if (persistenceDriver.ExistPluginInterface(pluginInterfaceClass.AssemblyQualifiedName)) { foreach (string implementationAddress in new List <string>(persistenceDriver.GetPluginImplementationsAddresses(pluginInterfaceClass.AssemblyQualifiedName))) { persistenceDriver.RemovePluginImplementation(pluginInterfaceClass.AssemblyQualifiedName, implementationAddress); } persistenceDriver.RemovePluginInterface(pluginInterfaceClass.AssemblyQualifiedName); } }// END Method UnregisterSingletonPlugin
}// END Method UnregisterPlugin public void UnregisterPlugin(Type pluginInterfaceClass, string pluginImplementationAddress, IPersistenceDriver persistenceDriver) { if (persistenceDriver.ExistPluginInterface(pluginInterfaceClass.AssemblyQualifiedName) && persistenceDriver.ExistPluginImplementation(pluginInterfaceClass.AssemblyQualifiedName, pluginImplementationAddress)) { persistenceDriver.RemovePluginImplementation(pluginInterfaceClass.AssemblyQualifiedName, pluginImplementationAddress); if (!persistenceDriver.GetPluginImplementationsAddresses(pluginInterfaceClass.AssemblyQualifiedName).GetEnumerator().MoveNext()) { persistenceDriver.RemovePluginInterface(pluginInterfaceClass.AssemblyQualifiedName); } } }// END Method UnregisterPlugin
} // END Property AddPluginInterface public void RemovePluginInterface(string pluginInterfaceName) { readWritePersistenceDriver.RemovePluginInterface(pluginInterfaceName); } // END Property RemovePluginInterface