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
}// 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 Constructor public CachePersistenceDriver(IPersistenceDriver cachedPersistenceDriver) { this.cachedPersistenceDriver = cachedPersistenceDriver; } // END Constructor
public CachePersistenceDriver() { plugins = new Dictionary <string, List <string> >(); cachedPersistenceDriver = null; } // END Constructor
public CompositePersistenceDriver() { readWritePersistenceDriver = new RAMPersistenceDriver(); readOnlyPersistenceDrivers = new List <IPersistenceDriver>(); } // END Constructor
public void setUp() { persistenceDriver = new RAMPersistenceDriver(); }// END Method setUp
public void setUp() { persistenceDriver = new XMLDocumentPersistenceDriver(); }// END Method setUp
}// END Method RegisterPlugin public void RegisterPlugin(Type pluginInterfaceClass, Type pluginImplementationClass, IPersistenceDriver persistenceDriver) { RegisterPlugin(pluginInterfaceClass, "local:" + pluginImplementationClass.AssemblyQualifiedName, persistenceDriver); }// END Method RegisterPlugin
}// 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
}// 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 Method RegisterPlugin public void RegisterSingletonPlugin(Type pluginInterfaceClass, string pluginImplementationAddress, IPersistenceDriver persistenceDriver) { UnregisterSingletonPlugin(pluginInterfaceClass, persistenceDriver); RegisterPlugin(pluginInterfaceClass, pluginImplementationAddress, persistenceDriver); }// END Method RegistreSingletonPlugin