public EstateDataService(IConfigSource config) : base(config) { string dllName = String.Empty; string connString = String.Empty; // Try reading the [DatabaseService] section, if it exists IConfig dbConfig = config.Configs["DatabaseService"]; if (dbConfig != null) { dllName = dbConfig.GetString("StorageProvider", String.Empty); connString = dbConfig.GetString("ConnectionString", String.Empty); connString = dbConfig.GetString("EstateConnectionString", connString); } // Try reading the [EstateDataStore] section, if it exists IConfig estConfig = config.Configs["EstateDataStore"]; if (estConfig != null) { dllName = estConfig.GetString("StorageProvider", dllName); connString = estConfig.GetString("ConnectionString", connString); } // We tried, but this doesn't exist. We can't proceed if (dllName == String.Empty) throw new Exception("No StorageProvider configured"); m_database = LoadPlugin<IEstateDataStore>(dllName, new Object[] { connString }); if (m_database == null) throw new Exception("Could not find a storage interface in the given module"); }
public StorageManager(string dllName, string connectionstring, string estateconnectionstring) { m_log.Info("[DATASTORE]: Attempting to load " + dllName); Assembly pluginAssembly = Assembly.LoadFrom(dllName); foreach (Type pluginType in pluginAssembly.GetTypes()) { if (pluginType.IsPublic) { if (typeof(IRegionDataStore).IsAssignableFrom(pluginType)) { IRegionDataStore plug = (IRegionDataStore)Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString())); plug.Initialize(connectionstring); m_dataStore = plug; m_log.Info("[DATASTORE]: Added IRegionDataStore Interface"); } if (typeof(IEstateDataStore).IsAssignableFrom(pluginType)) { IEstateDataStore estPlug = (IEstateDataStore)Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString())); estPlug.Initialize(estateconnectionstring); m_estateDataStore = estPlug; } } } //TODO: Add checking and warning to make sure it initialized. }
public StorageManager(string dllName, string connectionstring, string estateconnectionstring) { m_log.Info("[DATASTORE]: Attempting to load " + dllName); Assembly pluginAssembly = Assembly.LoadFrom(dllName); foreach (Type pluginType in pluginAssembly.GetTypes()) { if (pluginType.IsPublic) { if (typeof(IRegionDataStore).IsAssignableFrom(pluginType)) { IRegionDataStore plug = (IRegionDataStore) Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString())); plug.Initialize(connectionstring); m_dataStore = plug; m_log.Info("[DATASTORE]: Added IRegionDataStore Interface"); } if (typeof(IEstateDataStore).IsAssignableFrom(pluginType)) { IEstateDataStore estPlug = (IEstateDataStore) Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString())); estPlug.Initialize(estateconnectionstring); m_estateDataStore = estPlug; } } } //TODO: Add checking and warning to make sure it initialized. }
public EstateDataService(IConfigSource config) : base(config) { string dllName = String.Empty; string connString = String.Empty; // Try reading the [DatabaseService] section, if it exists IConfig dbConfig = config.Configs["DatabaseService"]; if (dbConfig != null) { dllName = dbConfig.GetString("StorageProvider", String.Empty); connString = dbConfig.GetString("ConnectionString", String.Empty); connString = dbConfig.GetString("EstateConnectionString", connString); } // Try reading the [EstateDataStore] section, if it exists IConfig estConfig = config.Configs["EstateDataStore"]; if (estConfig != null) { dllName = estConfig.GetString("StorageProvider", dllName); connString = estConfig.GetString("ConnectionString", connString); } // We tried, but this doesn't exist. We can't proceed if (dllName == String.Empty) { throw new Exception("No StorageProvider configured"); } m_database = LoadPlugin <IEstateDataStore>(dllName, new Object[] { connString }); if (m_database == null) { throw new Exception("Could not find a storage interface in the given module"); } }
protected override void InitService(object service) { ClearDB(); db = (IEstateDataStore)service; db.Initialise(m_connStr); }