Ejemplo n.º 1
0
        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
Ejemplo n.º 2
0
        }// 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
Ejemplo n.º 3
0
        }// END Method RegisterPlugin

        public void RegisterPlugin(Type pluginInterfaceClass, string pluginImplementationAddress, IPersistenceDriver persistenceDriver)
        {
            if (!persistenceDriver.ExistPluginInterface(pluginInterfaceClass.AssemblyQualifiedName))
            {
                persistenceDriver.AddPluginInterface(pluginInterfaceClass.AssemblyQualifiedName);
            }

            if (!persistenceDriver.ExistPluginImplementation(pluginInterfaceClass.AssemblyQualifiedName, pluginImplementationAddress))
            {
                persistenceDriver.AddPluginImplementation(pluginInterfaceClass.AssemblyQualifiedName, pluginImplementationAddress);

                if (Configuration.PermissionsManager.AutoExposeLocalPlugins)
                {
                    Configuration.PermissionsManager.RescanAutoExposedLocalPlugins();
                }
            }
        }// END Method RegisterPlugin
Ejemplo n.º 4
0
        }    // END Property RemovePluginImplementation

        public bool ExistPluginImplementation(string pluginInterfaceName, string pluginImplementationAddress)
        {
            if (readWritePersistenceDriver.ExistPluginInterface(pluginInterfaceName) &&
                readWritePersistenceDriver.ExistPluginImplementation(pluginInterfaceName, pluginImplementationAddress))
            {
                return(true);
            }

            foreach (IPersistenceDriver driver in readOnlyPersistenceDrivers)
            {
                if (driver.ExistPluginInterface(pluginInterfaceName) &&
                    driver.ExistPluginImplementation(pluginInterfaceName, pluginImplementationAddress))
                {
                    return(true);
                }
            }

            return(false);
        }    // END Property ExistPluginImplementation