Example #1
0
        public void setUp() {

            writeReadPersistenceDriver = new RAMPersistenceDriver();
            readPersistenceDriver = new RAMPersistenceDriver();
            persistenceDriver = new CompositePersistenceDriver(writeReadPersistenceDriver, new IPersistenceDriver[]{ readPersistenceDriver });

        }// END Method setUp
        }    // END Constructor

        public CompositePersistenceDriver(IPersistenceDriver readWritePersistenceDriver, IEnumerable <IPersistenceDriver> readOnlyPersistenceDrivers)
        {
            this.readWritePersistenceDriver = readWritePersistenceDriver;
            this.readOnlyPersistenceDrivers = new List <IPersistenceDriver>(readOnlyPersistenceDrivers);

            foreach (IPersistenceDriver driver in readOnlyPersistenceDrivers)
            {
                this.readOnlyPersistenceDrivers.Add(driver);
            }
        }    // END Constructor
Example #3
0
        }// 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
Example #4
0
        }    // END Constructor

        public CachePersistenceDriver(IPersistenceDriver cachedPersistenceDriver)
        {
            this.cachedPersistenceDriver = cachedPersistenceDriver;
        }    // END Constructor
Example #5
0
 public CachePersistenceDriver()
 {
     plugins = new Dictionary <string, List <string> >();
     cachedPersistenceDriver = null;
 }    // END Constructor
 public CompositePersistenceDriver()
 {
     readWritePersistenceDriver = new RAMPersistenceDriver();
     readOnlyPersistenceDrivers = new List <IPersistenceDriver>();
 }    // END Constructor
Example #7
0
        public void setUp() {

            persistenceDriver = new RAMPersistenceDriver();

        }// END Method setUp
Example #8
0
        public void setUp() {

            persistenceDriver = new XMLDocumentPersistenceDriver();

        }// END Method setUp
Example #9
0
        }// END Method RegisterPlugin

        public void RegisterPlugin(Type pluginInterfaceClass, Type pluginImplementationClass, IPersistenceDriver persistenceDriver)
        {
            RegisterPlugin(pluginInterfaceClass, "local:" + pluginImplementationClass.AssemblyQualifiedName, persistenceDriver);
        }// END Method RegisterPlugin
Example #10
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
Example #11
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
Example #12
0
        }// END Method RegisterPlugin

        public void RegisterSingletonPlugin(Type pluginInterfaceClass, string pluginImplementationAddress, IPersistenceDriver persistenceDriver)
        {
            UnregisterSingletonPlugin(pluginInterfaceClass, persistenceDriver);

            RegisterPlugin(pluginInterfaceClass, pluginImplementationAddress, persistenceDriver);
        }// END Method RegistreSingletonPlugin