public void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore simBase, string defaultConnectionString)
        {
            if (source.Configs["AuroraConnectors"].GetString("RegionInfoConnector", "LocalConnector") == "LocalConnector")
            {
                GD = GenericData;

                if (source.Configs[Name] != null)
                    defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);

                GD.ConnectToDatabase (defaultConnectionString, "Generics", source.Configs["AuroraConnectors"].GetBoolean ("ValidateTables", true));
                GD.ConnectToDatabase (defaultConnectionString, "RegionInfo", source.Configs["AuroraConnectors"].GetBoolean ("ValidateTables", true));
                
                DataManager.DataManager.RegisterPlugin(Name, this);
            }
        }
        public void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore simBase,
                               string defaultConnectionString)
        {
            GD = GenericData;

            if (source.Configs[Name] != null)
            {
                defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);
            }

            if (GD != null)
            {
                GD.ConnectToDatabase(defaultConnectionString, "Generics",
                                     source.Configs["AuroraConnectors"].GetBoolean("ValidateTables", true));
            }

            Framework.Utilities.DataManager.RegisterPlugin(Name + "Local", this);

            m_maxOfflineMessages = source.Configs["AuroraConnectors"].GetInt("MaxOfflineMessages", m_maxOfflineMessages);
            if (source.Configs["AuroraConnectors"].GetString("OfflineMessagesConnector", "LocalConnector") ==
                "LocalConnector")
            {
                Framework.Utilities.DataManager.RegisterPlugin(this);
            }
            Init(simBase, Name);
        }
        public void Initialize(IGenericData genericData, IConfigSource source, IRegistryCore simBase,
                               string defaultConnectionString)
        {
            if (source.Configs ["WhiteCoreConnectors"].GetString("GridConnector", "LocalConnector") != "LocalConnector")
            {
                return;
            }

            m_GD = genericData;

            string connectionString = (source.Configs [Name] != null)
                ? source.Configs [Name].GetString("ConnectionString", defaultConnectionString)
                        : defaultConnectionString;

            if (m_GD != null)
            {
                m_GD.ConnectToDatabase(connectionString, "GridRegions",
                                       source.Configs ["WhiteCoreConnectors"].GetBoolean("ValidateTables", true));

                Framework.Utilities.DataManager.RegisterPlugin(this);

                // add command if we have something to work with
                if (MainConsole.Instance != null)
                {
                    MainConsole.Instance.Commands.AddCommand(
                        "fix missing region owner",
                        "fix missing region owner",
                        "Attempts to fix missing region owners in the database.",
                        FixMissingRegionOwners, false, true);
                }
            }
        }
        public void Initialize(IGenericData GenericData, ISimulationBase simBase, string defaultConnectionString)
        {
            IConfigSource source = simBase.ConfigSource;
            if (source.Configs["AuroraConnectors"].GetString("AgentConnector", "LocalConnector") == "LocalConnector")
            {
                GD = GenericData;

                if (source.Configs[Name] != null)
                    defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);

                GD.ConnectToDatabase(defaultConnectionString);

                DataManager.DataManager.RegisterPlugin(Name, this);
            }
            else
            {
                //Check to make sure that something else exists
                string m_ServerURI = simBase.ApplicationRegistry.RequestModuleInterface<IAutoConfigurationService>().FindValueOf("RemoteServerURI", "AuroraData");
                if (m_ServerURI == "") //Blank, not set up
                {
                    OpenSim.Framework.Console.MainConsole.Instance.Output("[AuroraDataService]: Falling back on local connector for " + "AgentConnector", "None");
                    GD = GenericData;

                    if (source.Configs[Name] != null)
                        defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);

                    GD.ConnectToDatabase(defaultConnectionString);

                    DataManager.DataManager.RegisterPlugin(Name, this);
                }
            }
        }
示例#5
0
        public void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore simBase,
                               string defaultConnectionString)
        {
            if (source.Configs["AuroraConnectors"].GetString("UserInfoConnector", "LocalConnector") == "LocalConnector")
            {
                GD = GenericData;

                string connectionString = defaultConnectionString;
                if (source.Configs[Name] != null)
                {
                    connectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);

                    m_allowDuplicatePresences =
                        source.Configs[Name].GetBoolean("AllowDuplicatePresences",
                                                        m_allowDuplicatePresences);
                    m_checkLastSeen =
                        source.Configs[Name].GetBoolean("CheckLastSeen",
                                                        m_checkLastSeen);
                }
                GD.ConnectToDatabase(connectionString, "UserInfo",
                                     source.Configs["AuroraConnectors"].GetBoolean("ValidateTables", true));

                DataManager.DataManager.RegisterPlugin(this);
            }
        }
        public void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore registry,
                               string defaultConnectionString)
        {
            m_gd = GenericData;
            m_registry = registry;

            IConfig config = source.Configs["Currency"];
            if (config == null || source.Configs["Currency"].GetString("Module", "") != "SimpleCurrency")
                return;

            if (source.Configs[Name] != null)
                defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);

            if (GenericData != null)
                GenericData.ConnectToDatabase(defaultConnectionString, "SimpleCurrency", true);
            DataManager.RegisterPlugin(Name, this);

            m_config = new SimpleCurrencyConfig(config);

            Init(m_registry, Name, "", "/currency/", "CurrencyServerURI");

            if (!m_doRemoteCalls)
            {
                MainConsole.Instance.Commands.AddCommand("money add", "money add", "Adds money to a user's account.",
                                                         AddMoney);
                MainConsole.Instance.Commands.AddCommand("money set", "money set",
                                                         "Sets the amount of money a user has.",
                                                         SetMoney);
                MainConsole.Instance.Commands.AddCommand("money get", "money get",
                                                         "Gets the amount of money a user has.",
                                                         GetMoney);
            }
        }
        public void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore simBase,
                               string defaultConnectionString)
        {
            if (source.Configs ["WhiteCoreConnectors"].GetString("FriendsConnector", "LocalConnector") != "LocalConnector")
            {
                return;
            }


            GD = GenericData;

            string connectionString = defaultConnectionString;

            if (source.Configs [Name] != null)
            {
                connectionString = source.Configs [Name].GetString("ConnectionString", defaultConnectionString);
            }

            if (GD != null)
            {
                GD.ConnectToDatabase(connectionString, "Friends",
                                     source.Configs ["WhiteCoreConnectors"].GetBoolean("ValidateTables", true));
            }

            Framework.Utilities.DataManager.RegisterPlugin(this);
        }
        public void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore simBase,
                               string defaultConnectionString)
        {
            GD = GenericData;

            if (source.Configs[Name] != null)
                defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);

            GD.ConnectToDatabase(defaultConnectionString, "AbuseReports",
                                 source.Configs["AuroraConnectors"].GetBoolean("ValidateTables", true));

            DataManager.DataManager.RegisterPlugin(Name + "Local", this);
            if (source.Configs["AuroraConnectors"].GetString("AbuseReportsConnector", "LocalConnector") ==
                "LocalConnector")
            {
                WebPassword = Util.Md5Hash(source.Configs["Handlers"].GetString("WireduxHandlerPassword", String.Empty));

                //List<string> Results = GD.Query("Method", "abusereports", "passwords", "Password");
                //if (Results.Count == 0)
                //{
                //    string newPass = MainConsole.Instance.PasswdPrompt("Password to access Abuse Reports");
                //    GD.Insert("passwords", new object[] { "abusereports", Util.Md5Hash(Util.Md5Hash(newPass)) });
                //}
                DataManager.DataManager.RegisterPlugin(Name, this);
            }
        }
        public void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore registry,
                               string defaultConnectionString)
        {
            GD         = GenericData;
            m_registry = registry;

            if (source.Configs [Name] != null)
            {
                defaultConnectionString = source.Configs [Name].GetString("ConnectionString", defaultConnectionString);
            }

            if (GD != null)
            {
                GD.ConnectToDatabase(defaultConnectionString, "Estate",
                                     source.Configs ["WhiteCoreConnectors"].GetBoolean("ValidateTables", true));
            }

            Framework.Utilities.DataManager.RegisterPlugin(Name + "Local", this);

            if (source.Configs ["WhiteCoreConnectors"].GetString("EstateConnector", "LocalConnector") == "LocalConnector")
            {
                Framework.Utilities.DataManager.RegisterPlugin(this);
            }
            Init(registry, Name);
        }
示例#10
0
        public void Initialize(IGenericData genericData, IConfigSource source, IRegistryCore simBase,
                               string defaultConnectionString)
        {
            genData = genericData;

            if (source.Configs [Name] != null)
            {
                defaultConnectionString = source.Configs [Name].GetString("ConnectionString", defaultConnectionString);
            }

            if (genData != null)
            {
                genData.ConnectToDatabase(defaultConnectionString, "Region",
                                          source.Configs ["WhiteCoreConnectors"].GetBoolean("ValidateTables", true));
            }

            Framework.Utilities.DataManager.RegisterPlugin(Name + "Local", this);

            if (source.Configs ["WhiteCoreConnectors"].GetString("RegionConnector", "LocalConnector") == "LocalConnector")
            {
                Framework.Utilities.DataManager.RegisterPlugin(this);
            }

            Init(simBase, Name);
        }
示例#11
0
        public void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore simBase,
                               string defaultConnectionString)
        {
            GD = GenericData;

            if (source.Configs[Name] != null)
            {
                defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);
            }

            if (GD != null)
            {
                GD.ConnectToDatabase(defaultConnectionString, "AbuseReports",
                                     source.Configs ["WhiteCoreConnectors"].GetBoolean("ValidateTables", true));


                Framework.Utilities.DataManager.RegisterPlugin(Name + "Local", this);
                if (source.Configs ["WhiteCoreConnectors"].GetString("AbuseReportsConnector", "LocalConnector") ==
                    "LocalConnector")
                {
                    m_enabled = true;
                    Framework.Utilities.DataManager.RegisterPlugin(this);
                }
            }
        }
示例#12
0
        public void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore simBase,
                               string defaultConnectionString)
        {
            if (source.Configs["AuroraConnectors"].GetString("UserInfoConnector", "LocalConnector") == "LocalConnector")
            {
                GD = GenericData;

                string connectionString = defaultConnectionString;
                if (source.Configs[Name] != null)
                {
                    connectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);

                    m_allowDuplicatePresences =
                        source.Configs[Name].GetBoolean("AllowDuplicatePresences",
                                                        m_allowDuplicatePresences);
                    m_checkLastSeen =
                        source.Configs[Name].GetBoolean("CheckLastSeen",
                                                        m_checkLastSeen);
                }
                GD.ConnectToDatabase(connectionString, "UserInfo",
                                     source.Configs["AuroraConnectors"].GetBoolean("ValidateTables", true));

                DataManager.DataManager.RegisterPlugin(this);
            }
        }
示例#13
0
        public void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore simBase,
                               string defaultConnectionString)
        {
            GD = GenericData;

            if (source.Configs[Name] != null)
            {
                defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);
            }

            GD.ConnectToDatabase(defaultConnectionString, "AbuseReports",
                                 source.Configs["AuroraConnectors"].GetBoolean("ValidateTables", true));

            DataManager.DataManager.RegisterPlugin(Name + "Local", this);
            if (source.Configs["AuroraConnectors"].GetString("AbuseReportsConnector", "LocalConnector") ==
                "LocalConnector")
            {
                WebPassword = Util.Md5Hash(source.Configs["Handlers"].GetString("WebUIHandlerPassword", String.Empty));

                //List<string> Results = GD.Query("Method", "abusereports", "passwords", "Password");
                //if (Results.Count == 0)
                //{
                //    string newPass = MainConsole.Instance.PasswdPrompt("Password to access Abuse Reports");
                //    GD.Insert("passwords", new object[] { "abusereports", Util.Md5Hash(Util.Md5Hash(newPass)) });
                //}
                DataManager.DataManager.RegisterPlugin(this);
            }
        }
        public void Initialize(IGenericData GenericData, IConfigSource source, string defaultConnectionString)
        {
            if (source.Configs["AuroraConnectors"].GetString("ProfileConnector", "LocalConnector") == "LocalConnector")
            {
                GD = GenericData;

                if (source.Configs[Name] != null)
                    defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);

                GD.ConnectToDatabase(defaultConnectionString);

                DataManager.DataManager.RegisterPlugin(Name, this);
            }
            else
            {
                //Check to make sure that something else exists
                string m_ServerURI = source.Configs["AuroraData"].GetString("RemoteServerURI", "");
                if (m_ServerURI == "") //Blank, not set up
                {
                    OpenSim.Framework.Console.MainConsole.Instance.Output("[AuroraDataService]: Falling back on local connector for " + "ProfileConnector", "None");
                    GD = GenericData;

                    if (source.Configs[Name] != null)
                        defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);

                    GD.ConnectToDatabase(defaultConnectionString);

                    DataManager.DataManager.RegisterPlugin(Name, this);
                }
            }
        }
        public void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore simBase,
                               string defaultConnectionString)
        {
            GD = GenericData;

            if (source.Configs[Name] != null)
                defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);

            GD.ConnectToDatabase(defaultConnectionString, "Generics",
                                 source.Configs["AuroraConnectors"].GetBoolean("ValidateTables", true));

            DataManager.DataManager.RegisterPlugin(Name + "Local", this);

            m_maxOfflineMessages = source.Configs["AuroraConnectors"].GetInt("MaxOfflineMessages", m_maxOfflineMessages);
            m_maxGroupOfflineMessages = source.Configs["AuroraConnectors"].GetInt("MaxGroupOfflineMessages",
                                                                                  m_maxGroupOfflineMessages);
            m_saveGroupOfflineMessages = source.Configs["AuroraConnectors"].GetBoolean("SaveOfflineGroupChatMessages",
                                                                                       m_saveGroupOfflineMessages);
            if (source.Configs["AuroraConnectors"].GetString("OfflineMessagesConnector", "LocalConnector") ==
                "LocalConnector")
            {
                DataManager.DataManager.RegisterPlugin(this);
            }
            Init(simBase, Name);
        }
示例#16
0
        public void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore simBase,
                               string defaultConnectionString)
        {
            if (source.Configs["AuroraConnectors"].GetString("GridConnector", "LocalConnector") == "LocalConnector")
            {
                GD = GenericData;

                string connectionString = (source.Configs[Name] != null)
                                              ? connectionString =
                    source.Configs[Name].GetString("ConnectionString",
                                                   defaultConnectionString)
                                              : defaultConnectionString;

                if (GD != null)
                {
                    GD.ConnectToDatabase(connectionString, "GridRegions",
                                         source.Configs["AuroraConnectors"].GetBoolean("ValidateTables", true));
                }

                Framework.Utilities.DataManager.RegisterPlugin(this);

                if (MainConsole.Instance != null)
                {
                    MainConsole.Instance.Commands.AddCommand("fix missing region owner", "fix missing region owner",
                                                             "Attempts to fix missing region owners in the database.",
                                                             delegate(string[] cmd) { FixMissingRegionOwners(); });
                }
            }
        }
示例#17
0
        public void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore reg, string defaultConnectionString)
        {
            if (source.Configs["AuroraConnectors"].GetString("RegionInfoConnector", "LocalConnector") == "LocalConnector")
            {
                GD         = GenericData;
                m_registry = reg;

                if (source.Configs[Name] != null)
                {
                    defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);
                }

                GD.ConnectToDatabase(defaultConnectionString, "Generics", source.Configs["AuroraConnectors"].GetBoolean("ValidateTables", true));
                GD.ConnectToDatabase(defaultConnectionString, "RegionInfo", source.Configs["AuroraConnectors"].GetBoolean("ValidateTables", true));

                DataManager.DataManager.RegisterPlugin(this);
            }
        }
        public void Initialize(IGenericData GenericData, IConfigSource source, string defaultConnectionString)
        {
            if (source.Configs["AuroraConnectors"].GetString("AvatarArchiverConnector", "LocalConnector") == "LocalConnector")
            {
                GD = GenericData;

                if (source.Configs[Name] != null)
                    defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);

                GD.ConnectToDatabase(defaultConnectionString);
                DataManager.DataManager.RegisterPlugin(Name, this);
            }
        }
        /// <summary>
        ///   Starts the database plugin, performs migrations if needed
        /// </summary>
        /// <param name = "GenericData">The Database Plugin</param>
        /// <param name = "source">Config if more parameters are needed</param>
        /// <param name="simBase"></param>
        /// <param name = "DefaultConnectionString">The connection string to use</param>
        public void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore simBase, string DefaultConnectionString)
        {
            if (source.Configs["AuroraConnectors"].GetString("SchedulerConnector", "LocalConnector") != "LocalConnector")
                return;

            if (source.Configs[Name] != null)
                DefaultConnectionString = source.Configs[Name].GetString("ConnectionString", DefaultConnectionString);
            GenericData.ConnectToDatabase(DefaultConnectionString, "Scheduler",
                                          source.Configs["AuroraConnectors"].GetBoolean("ValidateTables", true));

            m_Gd = GenericData;
            DataManager.DataManager.RegisterPlugin(this);
        }
        public void Initialize(IGenericData genericData, IConfigSource source, IRegistryCore simBase, string defaultConnectionString)
        {
            if (source.Configs["AuroraConnectors"].GetString("AssetConnector", "LocalConnector") != "LocalConnector")
                return;
            m_Gd = genericData;

            m_Log.Warn("Asset Database is using " + ((IDataConnector)genericData).Identifier);

            if (source.Configs[Name] != null)
                defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);

            genericData.ConnectToDatabase(defaultConnectionString, "Asset", source.Configs["AuroraConnectors"].GetBoolean("ValidateTables", true));
            DataManager.DataManager.RegisterPlugin(Name, this);
        }
        /// <summary>
        ///     Starts the database plugin, performs migrations if needed
        /// </summary>
        /// <param name="genericData">The Database Plugin</param>
        /// <param name="source">Config if more parameters are needed</param>
        /// <param name="simBase"></param>
        /// <param name="defaultConnectionString">The connection string to use</param>
        public void Initialize(IGenericData genericData, IConfigSource source, IRegistryCore simBase,
                               string defaultConnectionString)
        {
            if (source.Configs["WhiteCoreConnectors"].GetString("SchedulerConnector", "LocalConnector") != "LocalConnector")
                return;

            if (source.Configs[Name] != null)
                defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);
            if (genericData != null)
                genericData.ConnectToDatabase(defaultConnectionString, "Scheduler",
                                              source.Configs["WhiteCoreConnectors"].GetBoolean("ValidateTables", true));

            GD = genericData;
            Framework.Utilities.DataManager.RegisterPlugin(this);
        }
        public void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore registry, string DefaultConnectionString)
        {
            if (source.Configs["AuroraConnectors"].GetString("PresenceInfoConnector", "LocalConnector") == "LocalConnector")
            {
                GD = GenericData;

                if (source.Configs[Name] != null)
                {
                    DefaultConnectionString = source.Configs[Name].GetString("ConnectionString", DefaultConnectionString);
                    DatabaseToAuthTable = source.Configs[Name].GetString("DatabasePathToAuthTable", DatabaseToAuthTable);
                }
                GD.ConnectToDatabase(DefaultConnectionString, "PresenceInfo", true);
                DataManager.DataManager.RegisterPlugin(this);
            }
        }
        public void Initialize(IGenericData GenericData, IConfigSource source, string defaultConnectionString)
        {
            //Disabled for now until it is fixed
            if (source.Configs["AuroraConnectors"].GetString("RegionInfoConnector", "LocalConnector") == "LocalConnector")
            {
                GD = GenericData;

                if (source.Configs[Name] != null)
                    defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);

                GD.ConnectToDatabase(defaultConnectionString);

                DataManager.DataManager.RegisterPlugin(Name, this);
            }
        }
        public void Initialize(IGenericData GenericData, ISimulationBase simBase, string defaultConnectionString)
        {
            IConfigSource source = simBase.ConfigSource;
            if (source.Configs["AuroraConnectors"].GetString("WebStatsDataConnector", "LocalConnector") == "LocalConnector")
            {
                GD = GenericData;

                if (source.Configs[Name] != null)
                    defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);

                GD.ConnectToDatabase(defaultConnectionString);

                DataManager.DataManager.RegisterPlugin(Name, this);
            }
        }
        public void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore registry, string DefaultConnectionString)
        {
            if (source.Configs["AuroraConnectors"].GetString("PresenceInfoConnector", "LocalConnector") == "LocalConnector")
            {
                GD = GenericData;

                if (source.Configs[Name] != null)
                {
                    DefaultConnectionString = source.Configs[Name].GetString("ConnectionString", DefaultConnectionString);
                    DatabaseToAuthTable     = source.Configs[Name].GetString("DatabasePathToAuthTable", DatabaseToAuthTable);
                }
                GD.ConnectToDatabase(DefaultConnectionString, "PresenceInfo", true);
                DataManager.DataManager.RegisterPlugin(this);
            }
        }
示例#26
0
        public void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore simBase, string defaultConnectionString)
        {
            if (source.Configs["AuroraConnectors"].GetString("AvatarArchiverConnector", "LocalConnector") == "LocalConnector")
            {
                GD = GenericData;

                if (source.Configs[Name] != null)
                {
                    defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);
                }

                GD.ConnectToDatabase(defaultConnectionString, "AvatarArchive", source.Configs["AuroraConnectors"].GetBoolean("ValidateTables", true));
                DataManager.DataManager.RegisterPlugin(Name, this);
            }
        }
        public void Initialize (IGenericData GenericData, IConfigSource source, IRegistryCore simBase, string defaultConnectionString)
        {
            if (source.Configs ["UniverseConnectors"].GetString ("FriendsConnector", "LocalConnector") != "LocalConnector")
                return;

            GD = GenericData;

            string connectionString = defaultConnectionString;
            if (source.Configs [Name] != null)
                connectionString = source.Configs [Name].GetString ("ConnectionString", defaultConnectionString);

            if (GD != null)
                GD.ConnectToDatabase (connectionString, "Friends", source.Configs ["UniverseConnectors"].GetBoolean ("ValidateTables", true));

            Framework.Utilities.DataManager.RegisterPlugin (this);
        }
        public override void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore simBase, string defaultConnectionString)
        {
            if (source.Configs["AuroraConnectors"].GetString("InventoryConnector", "LocalConnector") == "RobustConnector")
            {
                GD = GenericData;
                m_registry = simBase;

                string connectionString = defaultConnectionString;
                if (source.Configs[Name] != null)
                    connectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);

                GD.ConnectToDatabase(connectionString, "Inventory", source.Configs["AuroraConnectors"].GetBoolean("ValidateTables", true));

                DataManager.DataManager.RegisterPlugin(Name, this);
            }
        }
        public void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore simBase, string defaultConnectionString)
        {
            GD = GenericData;

            if (source.Configs[Name] != null)
                defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);

            if (GD != null)
                GD.ConnectToDatabase(defaultConnectionString, "Asset", source.Configs["UniverseConnectors"].GetBoolean("ValidateTables", true));

            Framework.Utilities.DataManager.RegisterPlugin(Name + "Local", this);

            if (source.Configs["UniverseConnectors"].GetString("AssetConnector", "LocalConnector") == "LocalConnector")
            {
                Framework.Utilities.DataManager.RegisterPlugin(this);
            }
        }
        /// <summary>
        ///   Starts the database plugin, performs migrations if needed
        /// </summary>
        /// <param name = "GenericData">The Database Plugin</param>
        /// <param name = "source">Config if more parameters are needed</param>
        /// <param name="simBase"></param>
        /// <param name = "DefaultConnectionString">The connection string to use</param>
        public void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore simBase, string DefaultConnectionString)
        {
            if (source.Configs["AuroraConnectors"].GetString("SchedulerConnector", "LocalConnector") != "LocalConnector")
            {
                return;
            }

            if (source.Configs[Name] != null)
            {
                DefaultConnectionString = source.Configs[Name].GetString("ConnectionString", DefaultConnectionString);
            }
            GenericData.ConnectToDatabase(DefaultConnectionString, "Scheduler",
                                          source.Configs["AuroraConnectors"].GetBoolean("ValidateTables", true));

            m_Gd = GenericData;
            DataManager.DataManager.RegisterPlugin(this);
        }
        public void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore simBase,
                               string defaultConnectionString)
        {
            if (source.Configs["AuroraConnectors"].GetString("AbuseReportsConnector", "LocalConnector") ==
                "LocalConnector")
            {
                GD = GenericData;

                string connectionString = defaultConnectionString;
                if (source.Configs[Name] != null)
                    connectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);

                GD.ConnectToDatabase(connectionString, "UserAccounts",
                                     source.Configs["AuroraConnectors"].GetBoolean("ValidateTables", true));

                DataManager.DataManager.RegisterPlugin(this);
            }
        }
        public void Initialize (IGenericData GenericData, IConfigSource source, IRegistryCore simBase,
                               string defaultConnectionString)
        {
            GD = GenericData;

            if (source.Configs [Name] != null)
                defaultConnectionString = source.Configs [Name].GetString ("ConnectionString", defaultConnectionString);

            if (GD != null)
                GD.ConnectToDatabase (defaultConnectionString, "Generics",
                                     source.Configs ["UniverseConnectors"].GetBoolean ("ValidateTables", true));

            Framework.Utilities.DataManager.RegisterPlugin (Name + "Local", this);

            if (source.Configs ["UniverseConnectors"].GetString ("EmailConnector", "LocalConnector") == "LocalConnector") {
                Framework.Utilities.DataManager.RegisterPlugin (this);
            }
            Init (simBase, Name);
        }
        public void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore simBase, string defaultConnectionString)
        {
            GD         = GenericData;
            m_registry = simBase;

            if (source.Configs[Name] != null)
            {
                defaultConnectionString       = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);
                minTimeBeforeNextParcelUpdate = source.Configs[Name].GetInt("MinUpdateTimeForParcels", minTimeBeforeNextParcelUpdate);
            }
            GD.ConnectToDatabase(defaultConnectionString, "Directory", source.Configs["AuroraConnectors"].GetBoolean("ValidateTables", true));

            DataManager.DataManager.RegisterPlugin(Name + "Local", this);

            if (source.Configs["AuroraConnectors"].GetString("DirectoryServiceConnector", "LocalConnector") == "LocalConnector")
            {
                DataManager.DataManager.RegisterPlugin(Name, this);
            }
        }
        public virtual void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore simBase,
                                       string defaultConnectionString)
        {
            if (source.Configs["AuroraConnectors"].GetString("InventoryConnector", "LocalConnector") == "LocalConnector")
            {
                GD = GenericData;

                string connectionString = defaultConnectionString;
                if (source.Configs[Name] != null)
                    connectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);

                if (GD != null)
                    GD.ConnectToDatabase(connectionString, "Inventory",
                                         source.Configs["AuroraConnectors"].GetBoolean("ValidateTables", true));

                Framework.Utilities.DataManager.RegisterPlugin(this);
            }
            m_registry = simBase;
        }
        public void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore simBase, string defaultConnectionString)
        {
            GD = GenericData;
            m_registry = simBase;

            if (source.Configs[Name] != null)
            {
                defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);
                minTimeBeforeNextParcelUpdate = source.Configs[Name].GetInt("MinUpdateTimeForParcels", minTimeBeforeNextParcelUpdate);
            }
            GD.ConnectToDatabase(defaultConnectionString, "Directory", source.Configs["AuroraConnectors"].GetBoolean("ValidateTables", true));

            DataManager.DataManager.RegisterPlugin(Name+"Local", this);

            if (source.Configs["AuroraConnectors"].GetString("DirectoryServiceConnector", "LocalConnector") == "LocalConnector")
            {
                DataManager.DataManager.RegisterPlugin(Name, this);
            }
        }
示例#36
0
        public void Initialize(IGenericData gd, IConfigSource source, IRegistryCore registry, string defaultConnectionString)
        {
            if (source.Configs["AuroraConnectors"].GetString("CurrencyConnector", "LocalConnector") != "LocalConnector")
            {
                return;
            }
            m_gd       = gd;
            m_registry = registry;

            if (source.Configs["Currency"].GetString("Module", "") != "StarDust")
            {
                return;
            }

            IConfig economyConfig = source.Configs["StarDustCurrency"];

            m_enabled = ((economyConfig != null) &&
                         (economyConfig.GetString("CurrencyModule", "Dust") == "Dust") &&
                         (economyConfig.GetString("CurrencyConnector", "Local") == "Local"));

            if (!m_enabled)
            {
                return;
            }

            if (source.Configs[Name] != null)
            {
                defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);
            }

            gd.ConnectToDatabase(defaultConnectionString, "Currency", true);
            DataManager.RegisterPlugin(Name, this);

            m_options = new StarDustConfig(economyConfig);

            MainConsole.Instance.Commands.AddCommand("money add", "money add", "Adds money to a user's account.",
                                                     AddMoney);
            MainConsole.Instance.Commands.AddCommand("money set", "money set", "Sets the amount of money a user has.",
                                                     AddMoney);
            MainConsole.Instance.Commands.AddCommand("money get", "money get", "Gets the amount of money a user has.",
                                                     AddMoney);
        }
示例#37
0
        public void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore simBase,
                               string defaultConnectionString)
        {
            if (source.Configs["AuroraConnectors"].GetString("AbuseReportsConnector", "LocalConnector") ==
                "LocalConnector")
            {
                GD = GenericData;

                string connectionString = defaultConnectionString;
                if (source.Configs[Name] != null)
                {
                    connectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);
                }

                GD.ConnectToDatabase(connectionString, "GridRegions",
                                     source.Configs["AuroraConnectors"].GetBoolean("ValidateTables", true));

                DataManager.DataManager.RegisterPlugin(this);
            }
        }
        public void Initialize(IGenericData GenericData, IConfigSource source, string defaultConnectionString)
        {
            if(source.Configs["AuroraConnectors"].GetString("AbuseReportsConnector", "LocalConnector") == "LocalConnector")
            {
                GD = GenericData;

                if (source.Configs[Name] != null)
                    defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);

                GD.ConnectToDatabase(defaultConnectionString);

                List<string> Results = GD.Query("Method", "abusereports", "Passwords", "Password");
                if (Results.Count == 0)
                {
                    string newPass = MainConsole.Instance.PasswdPrompt("Password to access Abuse Reports");
                    GD.Insert("passwords", new object[] { "abusereports", Util.Md5Hash(Util.Md5Hash(newPass)) });
                }
                DataManager.DataManager.RegisterPlugin(Name, this);
            }
        }
示例#39
0
        public void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore registry,
                               string defaultConnectionString)
        {
            GD = GenericData;
            m_registry = registry;

            if (source.Configs[Name] != null)
                defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);

            GD.ConnectToDatabase(defaultConnectionString, "Estate",
                                 source.Configs["AuroraConnectors"].GetBoolean("ValidateTables", true));

            DataManager.DataManager.RegisterPlugin(Name + "Local", this);

            if (source.Configs["AuroraConnectors"].GetString("EstateConnector", "LocalConnector") == "LocalConnector")
            {
                DataManager.DataManager.RegisterPlugin(this);
            }
            Init(registry, Name);
        }
        public void Initialize(IGenericData genericData, IConfigSource source, IRegistryCore simBase,
                               string defaultConnectionString)
        {
            GD = genericData;

            if (source.Configs[Name] != null)
                defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);

            if (source.Configs["Groups"] != null)
            {
                agentsCanBypassGroupNoticePermsCheck =
                    Util.ConvertToList(source.Configs["Groups"].GetString("AgentsCanBypassGroupNoticePermsCheck", ""), true)
                        .ConvertAll(x => new UUID(x));
            }

            if (GD != null)
                GD.ConnectToDatabase (defaultConnectionString, "Groups",
                    source.Configs ["WhiteCoreConnectors"].GetBoolean ("ValidateTables", true));

            Framework.Utilities.DataManager.RegisterPlugin (Name + "Local", this);

            if (source.Configs ["WhiteCoreConnectors"].GetString ("GroupsConnector", "LocalConnector") == "LocalConnector")
                Framework.Utilities.DataManager.RegisterPlugin (this);

            IConfig grpConfig = source.Configs["SystemUserService"];
            if (grpConfig != null)
                realEstateGroupName = grpConfig.GetString("RealEstateGroupName", realEstateGroupName);

            Init (simBase, Name);

            // check for system groups if we are local
            if (IsLocalConnector)
            {
                VerifySystemGroup ( 
                    realEstateGroupName, 
                    (UUID) Constants.RealEstateGroupUUID,
                    (UUID) Constants.RealEstateOwnerUUID,
                    "RealEstate maintenance group"
                );
            }
        }
        /// <summary>
        ///     Starts the database plugin, performs migrations if needed
        /// </summary>
        /// <param name="genericData">The Database Plugin</param>
        /// <param name="source">Config if more parameters are needed</param>
        /// <param name="simBase"></param>
        /// <param name="defaultConnectionString">The connection string to use</param>
        public void Initialize(IGenericData genericData, IConfigSource source, IRegistryCore simBase,
                               string defaultConnectionString)
        {
            if (source.Configs["WhiteCoreConnectors"].GetString("SchedulerConnector", "LocalConnector") != "LocalConnector")
            {
                return;
            }

            if (source.Configs[Name] != null)
            {
                defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);
            }
            if (genericData != null)
            {
                genericData.ConnectToDatabase(defaultConnectionString, "Scheduler",
                                              source.Configs["WhiteCoreConnectors"].GetBoolean("ValidateTables", true));
            }

            m_GD = genericData;
            Framework.Utilities.DataManager.RegisterPlugin(this);
        }
示例#42
0
        public void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore registry,
                               string defaultConnectionString)
        {
            m_gd       = GenericData;
            m_registry = registry;

            IConfig config = source.Configs["Currency"];

            if (config == null || source.Configs["Currency"].GetString("Module", "") != "SimpleCurrency")
            {
                return;
            }

            if (source.Configs[Name] != null)
            {
                defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);
            }

            if (GenericData != null)
            {
                GenericData.ConnectToDatabase(defaultConnectionString, "SimpleCurrency", true);
            }
            DataManager.RegisterPlugin(Name, this);

            m_config = new SimpleCurrencyConfig(config);

            Init(m_registry, Name, "", "/currency/", "CurrencyServerURI");

            if (!m_doRemoteCalls)
            {
                MainConsole.Instance.Commands.AddCommand("money add", "money add", "Adds money to a user's account.",
                                                         AddMoney, false, true);
                MainConsole.Instance.Commands.AddCommand("money set", "money set",
                                                         "Sets the amount of money a user has.",
                                                         SetMoney, false, true);
                MainConsole.Instance.Commands.AddCommand("money get", "money get",
                                                         "Gets the amount of money a user has.",
                                                         GetMoney, false, true);
            }
        }
        public void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore registry,
                               string defaultConnectionString)
        {
            GD         = GenericData;
            m_registry = registry;

            IConfig config = source.Configs["Currency"];

            if (config == null || source.Configs["Currency"].GetString("Module", "") != "BaseCurrency")
            {
                return;
            }

            IConfig gridInfo = source.Configs["GridInfoService"];

            if (gridInfo != null)
            {
                InWorldCurrency = gridInfo.GetString("CurrencySymbol", string.Empty) + " ";
                RealCurrency    = gridInfo.GetString("RealCurrencySymbol", string.Empty) + " ";
            }

            if (source.Configs[Name] != null)
            {
                defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);
            }

            if (GenericData != null)
            {
                GenericData.ConnectToDatabase(defaultConnectionString, "SimpleCurrency", true);
            }
            Framework.Utilities.DataManager.RegisterPlugin(Name, this);

            m_config             = new BaseCurrencyConfig(config);
            m_userInfoService    = m_registry.RequestModuleInterface <IAgentInfoService>();
            m_userAccountService = m_registry.RequestModuleInterface <IUserAccountService> ();

            Init(m_registry, Name, "", "/currency/", "CurrencyServerURI");
        }
示例#44
0
        public virtual void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore simBase,
                                       string defaultConnectionString)
        {
            if (source.Configs["UniverseConnectors"].GetString("InventoryConnector", "LocalConnector") == "LocalConnector")
            {
                GD = GenericData;

                string connectionString = defaultConnectionString;
                if (source.Configs[Name] != null)
                {
                    connectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);
                }

                if (GD != null)
                {
                    GD.ConnectToDatabase(connectionString, "Inventory",
                                         source.Configs["UniverseConnectors"].GetBoolean("ValidateTables", true));
                }

                Framework.Utilities.DataManager.RegisterPlugin(this);
            }
            m_registry = simBase;
        }
        public void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore simBase, string defaultConnectionString)
        {
            data = GenericData;

            if (source.Configs[Name] != null)
            {
                defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);
            }
            if (source.Configs["Groups"] != null)
            {
                agentsCanBypassGroupNoticePermsCheck = Util.ConvertToList(source.Configs["Groups"].GetString("AgentsCanBypassGroupNoticePermsCheck", "")).ConvertAll(x => new UUID(x));
            }   

            data.ConnectToDatabase(defaultConnectionString, "Groups",
                                   source.Configs["AuroraConnectors"].GetBoolean("ValidateTables", true));

            DataManager.DataManager.RegisterPlugin(Name + "Local", this);

            if (source.Configs["AuroraConnectors"].GetString("GroupsConnector", "LocalConnector") == "LocalConnector")
            {
                DataManager.DataManager.RegisterPlugin(this);
            }
        }
        public void Initialize(IGenericData GenericData, ISimulationBase simBase, string defaultConnectionString)
        {
            IConfigSource source = simBase.ConfigSource;
            GD = GenericData;

            if (source.Configs[Name] != null)
            {
                defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);
                minTimeBeforeNextParcelUpdate = source.Configs[Name].GetInt("MinUpdateTimeForParcels", minTimeBeforeNextParcelUpdate);
            }
            GD.ConnectToDatabase(defaultConnectionString);

            DataManager.DataManager.RegisterPlugin(Name+"Local", this);

            if (source.Configs["AuroraConnectors"].GetString("DirectoryServiceConnector", "LocalConnector") == "LocalConnector")
            {
                DataManager.DataManager.RegisterPlugin(Name, this);
            }
            else
            {
                //Check to make sure that something else exists
                List<string> m_ServerURI = simBase.ApplicationRegistry.RequestModuleInterface<IConfigurationService>().FindValueOf("RemoteServerURI");
                if (m_ServerURI.Count == 0) //Blank, not set up
                {
                    OpenSim.Framework.Console.MainConsole.Instance.Output("[AuroraDataService]: Falling back on local connector for " + "DirectoryConnector", "None");
                    
                    GD = GenericData;

                    if (source.Configs[Name] != null)
                        defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);

                    GD.ConnectToDatabase(defaultConnectionString);

                    DataManager.DataManager.RegisterPlugin(Name, this);
                }
            }
        }
        public void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore registry,
            string defaultConnectionString)
        {
            m_gd = GenericData;
            m_registry = registry;

            IConfig config = source.Configs["Currency"];
            if (config == null || source.Configs["Currency"].GetString("Module", "") != "SimpleCurrency")
                return;

            IConfig gridInfo = source.Configs["GridInfoService"];
            if (gridInfo != null)
            {
                InWorldCurrency = gridInfo.GetString ("CurrencySymbol", String.Empty) + " ";
                RealCurrency = gridInfo.GetString ("RealCurrencySymbol", String.Empty) + " ";
            }

            if (source.Configs[Name] != null)
                defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);

            if (GenericData != null)
                GenericData.ConnectToDatabase(defaultConnectionString, "SimpleCurrency", true);
            Framework.Utilities.DataManager.RegisterPlugin(Name, this);

            m_config = new BaseCurrencyConfig(config);

            Init(m_registry, Name, "", "/currency/", "CurrencyServerURI");

            if (!m_doRemoteCalls)
            {
                MainConsole.Instance.Commands.AddCommand(
                    "money add",
                    "money add",
                    "Adds money to a user's account.",
                    AddMoney, false, true);

                MainConsole.Instance.Commands.AddCommand(
                    "money set",
                    "money set",
                    "Sets the amount of money a user has.",
                    SetMoney, false, true);

                MainConsole.Instance.Commands.AddCommand(
                    "money get",
                    "money get",
                    "Gets the amount of money a user has.",
                    GetMoney, false, true);

                MainConsole.Instance.Commands.AddCommand(
                    "show user transactions",
                    "show user transactions",
                    "Display user transactions for a period.",
                    HandleShowTransactions, false, true);

                MainConsole.Instance.Commands.AddCommand(
                    "show user purchases",
                    "show user purchases",
                    "Display user purchases for a period.",
                    HandleShowPurchases, false, true);

                MainConsole.Instance.Commands.AddCommand(
                    "stipend set",
                    "stipend set",
                    "Sets the next date for stipend",
                    HandleStipendSet, false, true);
            }
        }
示例#48
0
        public void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore simBase, string defaultConnectionString)
        {
            if (handleConfig(source, defaultConnectionString))
            {
                if (!Enabled)
                {
                    Warn("not loaded, disabled in config.");
                }
                else
                {
                    GD = GenericData;
                    GD.ConnectToDatabase(m_connectionString, "WebAPI", true);

                    QueryFilter filter = new QueryFilter();
                    filter.andFilters["user"] = UUID.Zero;
                    List<string> query = GD.Query(new string[2]{
                        "method",
                        "rate"
                    }, c_table_access, filter, null, null, null);
                    if (query.Count % 2 == 0)
                    {
                        Dictionary<string, uint?> DAR = new Dictionary<string, uint?>();
                        for (int i = 0; i < query.Count; i += 2)
                        {
                            if (string.IsNullOrEmpty(query[i + 1]))
                            {
                                DAR[query[i]] = null;
                            }
                            else
                            {
                                DAR[query[i]] = uint.Parse(query[i + 1]);
                            }
                        }
                        DataManager.DataManager.RegisterPlugin(this);
                    }
                    else
                    {
                        MainConsole.Instance.Error("[" + Name + "]: Could not find default access rate limits");
                    }

                }
            }
        }
        public void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore simBase,
            string defaultConnectionString)
        {
            data = GenericData;

            if (source.Configs[Name] != null)
            {
                defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);
            }
            if (source.Configs["Groups"] != null)
            {
                agentsCanBypassGroupNoticePermsCheck =
                    Util.ConvertToList(source.Configs["Groups"].GetString("AgentsCanBypassGroupNoticePermsCheck", ""), true)
                        .ConvertAll(x => new UUID(x));
            }

            if (data != null)
                data.ConnectToDatabase (defaultConnectionString, "Groups",
                    source.Configs ["WhiteCoreConnectors"].GetBoolean ("ValidateTables", true));

            Framework.Utilities.DataManager.RegisterPlugin (Name + "Local", this);

            if (source.Configs ["WhiteCoreConnectors"].GetString ("GroupsConnector", "LocalConnector") == "LocalConnector")
            {
                Framework.Utilities.DataManager.RegisterPlugin (this);
            }
            Init (simBase, Name);

            // verify that the RealEstate group exists
            if (!m_doRemoteCalls)
                CheckRealEstateGroupInfo ();
        }
        public void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore registry,
            string defaultConnectionString)
        {
            m_gd = GenericData;
            m_registry = registry;

            IConfig config = source.Configs["Currency"];
            if (config == null || source.Configs["Currency"].GetString("Module", "") != "BaseCurrency")
                return;

            IConfig gridInfo = source.Configs["GridInfoService"];
            if (gridInfo != null)
            {
                InWorldCurrency = gridInfo.GetString ("CurrencySymbol", String.Empty) + " ";
                RealCurrency = gridInfo.GetString ("RealCurrencySymbol", String.Empty) + " ";
            }

            if (source.Configs[Name] != null)
                defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);

            if (GenericData != null)
                GenericData.ConnectToDatabase(defaultConnectionString, "SimpleCurrency", true);
            Framework.Utilities.DataManager.RegisterPlugin(Name, this);

            m_config = new BaseCurrencyConfig(config);

            Init(m_registry, Name, "", "/currency/", "CurrencyServerURI");
        }
        public void Initialize(IGenericData GenericData, IConfigSource source, IRegistryCore registry,
                               string defaultConnectionString)
        {
            m_gd       = GenericData;
            m_registry = registry;

            IConfig config = source.Configs["Currency"];

            if (config == null || source.Configs["Currency"].GetString("Module", "") != "SimpleCurrency")
            {
                return;
            }

            IConfig gridInfo = source.Configs["GridInfoService"];

            if (gridInfo != null)
            {
                InWorldCurrency = gridInfo.GetString("CurrencySymbol", String.Empty) + " ";
                RealCurrency    = gridInfo.GetString("RealCurrencySymbol", String.Empty) + " ";
            }

            if (source.Configs[Name] != null)
            {
                defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);
            }

            if (GenericData != null)
            {
                GenericData.ConnectToDatabase(defaultConnectionString, "SimpleCurrency", true);
            }
            Framework.Utilities.DataManager.RegisterPlugin(Name, this);

            m_config = new BaseCurrencyConfig(config);

            Init(m_registry, Name, "", "/currency/", "CurrencyServerURI");

            if (!m_doRemoteCalls)
            {
                MainConsole.Instance.Commands.AddCommand(
                    "money add",
                    "money add",
                    "Adds money to a user's account.",
                    AddMoney, false, true);

                MainConsole.Instance.Commands.AddCommand(
                    "money set",
                    "money set",
                    "Sets the amount of money a user has.",
                    SetMoney, false, true);

                MainConsole.Instance.Commands.AddCommand(
                    "money get",
                    "money get",
                    "Gets the amount of money a user has.",
                    GetMoney, false, true);

                MainConsole.Instance.Commands.AddCommand(
                    "show user transactions",
                    "show user transactions",
                    "Display user transactions for a period.",
                    HandleShowTransactions, false, true);

                MainConsole.Instance.Commands.AddCommand(
                    "show user purchases",
                    "show user purchases",
                    "Display user purchases for a period.",
                    HandleShowPurchases, false, true);

                MainConsole.Instance.Commands.AddCommand(
                    "stipend set",
                    "stipend set",
                    "Sets the next date for stipend",
                    HandleStipendSet, false, true);
            }
        }
        public void Initialize(IGenericData genericData, IConfigSource source, IRegistryCore simBase,
                               string defaultConnectionString)
        {
            if (source.Configs["AuroraConnectors"].GetString("AssetConnector", "LocalConnector") !=
                "LocalConnectorBlackHole")
                return;
            m_Gd = genericData;
            m_Enabled = true;

            if (source.Configs["Handlers"].GetString("AssetHandler", "") != "AssetService")
                return;

            m_CacheDirectory = source.Configs["BlackHole"].GetString("CacheDirector", m_CacheDirectory);
            m_CacheDirectoryBackup = source.Configs["BlackHole"].GetString("BackupCacheDirector", m_CacheDirectoryBackup);
            NumberOfDaysForOldAssets = source.Configs["BlackHole"].GetInt("AssetsAreOldAfterHowManyDays", 30) * -1;
            m_Enabled = true;

            m_pointInventory2ParentAssets = source.Configs["BlackHole"].GetBoolean("PointInventoryToParentAssets", true);


            if (!Directory.Exists(m_CacheDirectoryBackup))
                Directory.CreateDirectory(m_CacheDirectoryBackup);
            if (!Directory.Exists(m_CacheDirectoryBackup))
            {
                MainConsole.Instance.Error(
                    "Check your Main.ini and ensure your backup directory is set! under [BlackHole] BackupCacheDirector");
                m_Enabled = false;
                return;
            }

            if (!Directory.Exists(m_CacheDirectory))
                Directory.CreateDirectory(m_CacheDirectory);
            if (!Directory.Exists(m_CacheDirectory))
            {
                MainConsole.Instance.Error(
                    "Check your Main.ini and ensure your cache directory is set! under [BlackHole] m_CacheDirectory");
                m_Enabled = false;
                return;
            }

            if (source.Configs[Name] != null)
                defaultConnectionString = source.Configs[Name].GetString("ConnectionString", defaultConnectionString);
            genericData.ConnectToDatabase(defaultConnectionString, "BlackholeAsset",
                                          source.Configs["AuroraConnectors"].GetBoolean("ValidateTables", true));

            m_InvalidChars.AddRange(Path.GetInvalidPathChars());
            m_InvalidChars.AddRange(Path.GetInvalidFileNameChars());

            if (m_Enabled)
            {
                MainConsole.Instance.Error("[BlackholeAssets]: Blackhole assets enabled");
                DataManager.DataManager.RegisterPlugin(this);
                try
                {
                    needsConversion = (m_Gd.Query(new string[1] { "id" }, "assets", null, null, null, null).Count >= 1);
                }
                catch
                {
                    // the assets table might not exist if they next used it.. 
                    needsConversion = false;
                }
                convertCount = 0;
                taskTimer.Interval = 60000;
                taskTimer.Elapsed += t_Elapsed;
                taskTimer.Start();
            }
        }