コード例 #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
コード例 #2
0
        }        // END Property CachedPersistenceDriver


        public void ReloadCache()
        {
            plugins = new Dictionary <string, List <string> >();

            foreach (string pluginInterfaceName in cachedPersistenceDriver.GetPluginInterfacesNames())
            {
                plugins.Add(pluginInterfaceName, new List <string>());

                foreach (string pluginImplementationAddress in cachedPersistenceDriver.GetPluginImplementationsAddresses(pluginInterfaceName))
                {
                    plugins[pluginInterfaceName].Add(pluginImplementationAddress);
                }
            }
        }    // END Method ReloadCache
コード例 #3
0
        }    // END Property ExistPluginImplementation

        public IEnumerable <string> GetPluginInterfacesNames()
        {
            List <String> rslt = new List <String>();

            foreach (string interfaceName in readWritePersistenceDriver.GetPluginInterfacesNames())
            {
                rslt.Add(interfaceName);
            }

            foreach (IPersistenceDriver driver in readOnlyPersistenceDrivers)
            {
                foreach (string interfaceName in driver.GetPluginInterfacesNames())
                {
                    if (!rslt.Contains(interfaceName))
                    {
                        rslt.Add(interfaceName);
                    }
                }
            }

            return(rslt);
        }    // END Method GetPluginImplementationsNames