public void Initialize(IConfigSource config, IRegistryCore registry) { IConfig m_config = config.Configs["UniverseData"]; if (m_config != null) { StorageProvider = m_config.GetString("StorageProvider", StorageProvider); ConnectionString = m_config.GetString("ConnectionString", ConnectionString); } IGenericData DataConnector = null; if (StorageProvider == "MySQL") //Allow for fallback when eData isn't set { MySQLDataLoader GenericData = new MySQLDataLoader(); DataConnector = GenericData; } else if (StorageProvider == "SQLite") //Allow for fallback when Data isn't set { SQLiteLoader GenericData = new SQLiteLoader(); // set default data directory in case it is needed var simBase = registry.RequestModuleInterface<ISimulationBase> (); GenericData.DefaultDataPath = simBase.DefaultDataPath; DataConnector = GenericData; } List<IUniverseDataPlugin> Plugins = UniverseModuleLoader.PickupModules<IUniverseDataPlugin>(); foreach (IUniverseDataPlugin plugin in Plugins) { try { plugin.Initialize(DataConnector == null ? null : DataConnector.Copy(), config, registry, ConnectionString); } catch (Exception ex) { if (MainConsole.Instance != null) MainConsole.Instance.Warn("[Data Service]: Exception occurred starting data plugin " + plugin.Name + ", " + ex); } } }
public void Initialise(IConfigSource source, IRegistryCore simBase) { IConfig m_config = source.Configs["UniverseData"]; if (m_config != null) { StorageProvider = m_config.GetString("StorageProvider", StorageProvider); ConnectionString = m_config.GetString("ConnectionString", ConnectionString); } IGenericData DataConnector = null; if (StorageProvider == "MySQL") //Allow for fallback when UniverseData isn't set { MySQLDataLoader GenericData = new MySQLDataLoader(); DataConnector = GenericData; } else if (StorageProvider == "SQLite") //Allow for fallback when UniverseData isn't set { SQLiteLoader GenericData = new SQLiteLoader(); DataConnector = GenericData; } List<IUniverseDataPlugin> Plugins = UniverseModuleLoader.PickupModules<IUniverseDataPlugin>(); foreach (IUniverseDataPlugin plugin in Plugins) { try { plugin.Initialize(DataConnector == null ? null : DataConnector.Copy(), source, simBase, ConnectionString); } catch (Exception ex) { if (MainConsole.Instance != null) MainConsole.Instance.Warn("[DataService]: Exception occurred starting data plugin " + plugin.Name + ", " + ex.ToString()); } } }