diff options
author | Diva Canto | 2011-10-13 18:03:19 -0700 |
---|---|---|
committer | Diva Canto | 2011-10-13 18:03:19 -0700 |
commit | 83c7b9b609d3c78d099a0bf18de8685676184f94 (patch) | |
tree | d7ecdd61be63465f4b5604de81e6b12fa74284e8 | |
parent | refactor: rename IClientAPI.SendPrimUpdate() to SendEntityUpdate() since it s... (diff) | |
download | opensim-SC_OLD-83c7b9b609d3c78d099a0bf18de8685676184f94.zip opensim-SC_OLD-83c7b9b609d3c78d099a0bf18de8685676184f94.tar.gz opensim-SC_OLD-83c7b9b609d3c78d099a0bf18de8685676184f94.tar.bz2 opensim-SC_OLD-83c7b9b609d3c78d099a0bf18de8685676184f94.tar.xz |
Bug fix -- Test User on first run standalone might not be created properly: let all instances of UserAccountService have all its service references properly initialized, and register console commands on only one.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Services/UserAccountService/UserAccountService.cs | 90 |
1 files changed, 44 insertions, 46 deletions
diff --git a/OpenSim/Services/UserAccountService/UserAccountService.cs b/OpenSim/Services/UserAccountService/UserAccountService.cs index 923be7e..e234c0a 100644 --- a/OpenSim/Services/UserAccountService/UserAccountService.cs +++ b/OpenSim/Services/UserAccountService/UserAccountService.cs | |||
@@ -62,58 +62,56 @@ namespace OpenSim.Services.UserAccountService | |||
62 | if (userConfig == null) | 62 | if (userConfig == null) |
63 | throw new Exception("No UserAccountService configuration"); | 63 | throw new Exception("No UserAccountService configuration"); |
64 | 64 | ||
65 | // In case there are several instances of this class in the same process, | 65 | m_RootInstance = this; |
66 | // the console commands are only registered for the root instance | 66 | string gridServiceDll = userConfig.GetString("GridService", string.Empty); |
67 | if (m_RootInstance == null) | 67 | if (gridServiceDll != string.Empty) |
68 | { | 68 | m_GridService = LoadPlugin<IGridService>(gridServiceDll, new Object[] { config }); |
69 | m_RootInstance = this; | ||
70 | string gridServiceDll = userConfig.GetString("GridService", string.Empty); | ||
71 | if (gridServiceDll != string.Empty) | ||
72 | m_GridService = LoadPlugin<IGridService>(gridServiceDll, new Object[] { config }); | ||
73 | 69 | ||
74 | string authServiceDll = userConfig.GetString("AuthenticationService", string.Empty); | 70 | string authServiceDll = userConfig.GetString("AuthenticationService", string.Empty); |
75 | if (authServiceDll != string.Empty) | 71 | if (authServiceDll != string.Empty) |
76 | m_AuthenticationService = LoadPlugin<IAuthenticationService>(authServiceDll, new Object[] { config }); | 72 | m_AuthenticationService = LoadPlugin<IAuthenticationService>(authServiceDll, new Object[] { config }); |
77 | 73 | ||
78 | string presenceServiceDll = userConfig.GetString("GridUserService", string.Empty); | 74 | string presenceServiceDll = userConfig.GetString("GridUserService", string.Empty); |
79 | if (presenceServiceDll != string.Empty) | 75 | if (presenceServiceDll != string.Empty) |
80 | m_GridUserService = LoadPlugin<IGridUserService>(presenceServiceDll, new Object[] { config }); | 76 | m_GridUserService = LoadPlugin<IGridUserService>(presenceServiceDll, new Object[] { config }); |
81 | 77 | ||
82 | string invServiceDll = userConfig.GetString("InventoryService", string.Empty); | 78 | string invServiceDll = userConfig.GetString("InventoryService", string.Empty); |
83 | if (invServiceDll != string.Empty) | 79 | if (invServiceDll != string.Empty) |
84 | m_InventoryService = LoadPlugin<IInventoryService>(invServiceDll, new Object[] { config }); | 80 | m_InventoryService = LoadPlugin<IInventoryService>(invServiceDll, new Object[] { config }); |
85 | 81 | ||
86 | string avatarServiceDll = userConfig.GetString("AvatarService", string.Empty); | 82 | string avatarServiceDll = userConfig.GetString("AvatarService", string.Empty); |
87 | if (avatarServiceDll != string.Empty) | 83 | if (avatarServiceDll != string.Empty) |
88 | m_AvatarService = LoadPlugin<IAvatarService>(avatarServiceDll, new Object[] { config }); | 84 | m_AvatarService = LoadPlugin<IAvatarService>(avatarServiceDll, new Object[] { config }); |
89 | 85 | ||
90 | m_CreateDefaultAvatarEntries = userConfig.GetBoolean("CreateDefaultAvatarEntries", false); | 86 | m_CreateDefaultAvatarEntries = userConfig.GetBoolean("CreateDefaultAvatarEntries", false); |
91 | 87 | ||
92 | if (MainConsole.Instance != null) | 88 | // In case there are several instances of this class in the same process, |
93 | { | 89 | // the console commands are only registered for the root instance |
94 | MainConsole.Instance.Commands.AddCommand("UserService", false, | 90 | if (m_RootInstance == null && MainConsole.Instance != null) |
95 | "create user", | 91 | { |
96 | "create user [<first> [<last> [<pass> [<email> [<user id>]]]]]", | 92 | m_RootInstance = this; |
97 | "Create a new user", HandleCreateUser); | 93 | MainConsole.Instance.Commands.AddCommand("UserService", false, |
98 | 94 | "create user", | |
99 | MainConsole.Instance.Commands.AddCommand("UserService", false, | 95 | "create user [<first> [<last> [<pass> [<email> [<user id>]]]]]", |
100 | "reset user password", | 96 | "Create a new user", HandleCreateUser); |
101 | "reset user password [<first> [<last> [<password>]]]", | 97 | |
102 | "Reset a user password", HandleResetUserPassword); | 98 | MainConsole.Instance.Commands.AddCommand("UserService", false, |
103 | 99 | "reset user password", | |
104 | MainConsole.Instance.Commands.AddCommand("UserService", false, | 100 | "reset user password [<first> [<last> [<password>]]]", |
105 | "set user level", | 101 | "Reset a user password", HandleResetUserPassword); |
106 | "set user level [<first> [<last> [<level>]]]", | 102 | |
107 | "Set user level. If >= 200 and 'allow_grid_gods = true' in OpenSim.ini, " | 103 | MainConsole.Instance.Commands.AddCommand("UserService", false, |
108 | + "this account will be treated as god-moded. " | 104 | "set user level", |
109 | + "It will also affect the 'login level' command. ", | 105 | "set user level [<first> [<last> [<level>]]]", |
110 | HandleSetUserLevel); | 106 | "Set user level. If >= 200 and 'allow_grid_gods = true' in OpenSim.ini, " |
111 | 107 | + "this account will be treated as god-moded. " | |
112 | MainConsole.Instance.Commands.AddCommand("UserService", false, | 108 | + "It will also affect the 'login level' command. ", |
113 | "show account", | 109 | HandleSetUserLevel); |
114 | "show account <first> <last>", | 110 | |
115 | "Show account details for the given user", HandleShowAccount); | 111 | MainConsole.Instance.Commands.AddCommand("UserService", false, |
116 | } | 112 | "show account", |
113 | "show account <first> <last>", | ||
114 | "Show account details for the given user", HandleShowAccount); | ||
117 | } | 115 | } |
118 | } | 116 | } |
119 | 117 | ||