aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Grid/UserServer/Main.cs
diff options
context:
space:
mode:
authorMW2009-05-30 12:51:28 +0000
committerMW2009-05-30 12:51:28 +0000
commit69817b4d6a08d3f9866796c50a0d0fb0d28ded77 (patch)
tree7e35f8ac4f54d9586a8c2d7a051a079487a66e5e /OpenSim/Grid/UserServer/Main.cs
parent* Tweaks to /WHO listings. (diff)
downloadopensim-SC-69817b4d6a08d3f9866796c50a0d0fb0d28ded77.zip
opensim-SC-69817b4d6a08d3f9866796c50a0d0fb0d28ded77.tar.gz
opensim-SC-69817b4d6a08d3f9866796c50a0d0fb0d28ded77.tar.bz2
opensim-SC-69817b4d6a08d3f9866796c50a0d0fb0d28ded77.tar.xz
Added a AvatarCreationModule to the user server. This handles the "cloning" of a existing avatar's inventory to another avatar's inventory (the base method will also create the inventory for a new avatar if the avatar doesn't alreayd have any inventory).
The code also sets the target avatar as wearing whatever the template avatar was wearing (including attachments). The idea is to allow the use of this to give new avatars a more interesting avatar (and inventory set) than the current default. I have include a console command that will clone the inventory from one existing user (template avatar) to another existing avatar (target avatar). The format of the command is : "clone avatar <templateAvatarFirstName> <templateAvatarLastName> <targetAvatarFirstName> <targetAvatarLastName>" (to use this console command on new accounts, the "create user" command will need to be used first) While the code was designed for hooking up to a remote call from a web interface, I have left the hookup code out of this commit, as I believe most use cases will want to handle it differently. Also added a "trusted handler" to the inventory server to allow the user server to create new folders in a user's inventory. All this is in the old UGAIM servers so will need porting to the new servers.
Diffstat (limited to 'OpenSim/Grid/UserServer/Main.cs')
-rw-r--r--OpenSim/Grid/UserServer/Main.cs9
1 files changed, 9 insertions, 0 deletions
diff --git a/OpenSim/Grid/UserServer/Main.cs b/OpenSim/Grid/UserServer/Main.cs
index 7bb8b12..d9b3d3f 100644
--- a/OpenSim/Grid/UserServer/Main.cs
+++ b/OpenSim/Grid/UserServer/Main.cs
@@ -71,6 +71,8 @@ namespace OpenSim.Grid.UserServer
71 protected UserServerCommandModule m_consoleCommandModule; 71 protected UserServerCommandModule m_consoleCommandModule;
72 protected UserServerEventDispatchModule m_eventDispatcher; 72 protected UserServerEventDispatchModule m_eventDispatcher;
73 73
74 protected AvatarCreationModule m_appearanceModule;
75
74 public static void Main(string[] args) 76 public static void Main(string[] args)
75 { 77 {
76 XmlConfigurator.Configure(); 78 XmlConfigurator.Configure();
@@ -180,6 +182,9 @@ namespace OpenSim.Grid.UserServer
180 182
181 protected virtual void StartOtherComponents(IInterServiceInventoryServices inventoryService) 183 protected virtual void StartOtherComponents(IInterServiceInventoryServices inventoryService)
182 { 184 {
185 m_appearanceModule = new AvatarCreationModule(m_userDataBaseService, Cfg, inventoryService);
186 m_appearanceModule.Initialise(this);
187
183 StartupLoginService(inventoryService); 188 StartupLoginService(inventoryService);
184 // 189 //
185 // Get the minimum defaultLevel to access to the grid 190 // Get the minimum defaultLevel to access to the grid
@@ -216,6 +221,8 @@ namespace OpenSim.Grid.UserServer
216 m_userManager.PostInitialise(); 221 m_userManager.PostInitialise();
217 m_avatarAppearanceModule.PostInitialise(); 222 m_avatarAppearanceModule.PostInitialise();
218 m_friendsModule.PostInitialise(); 223 m_friendsModule.PostInitialise();
224
225 m_avatarAppearanceModule.PostInitialise();
219 } 226 }
220 227
221 protected virtual void RegisterHttpHandlers() 228 protected virtual void RegisterHttpHandlers()
@@ -230,6 +237,8 @@ namespace OpenSim.Grid.UserServer
230 m_avatarAppearanceModule.RegisterHandlers(m_httpServer); 237 m_avatarAppearanceModule.RegisterHandlers(m_httpServer);
231 m_messagesService.RegisterHandlers(m_httpServer); 238 m_messagesService.RegisterHandlers(m_httpServer);
232 m_gridInfoService.RegisterHandlers(m_httpServer); 239 m_gridInfoService.RegisterHandlers(m_httpServer);
240
241 m_avatarAppearanceModule.RegisterHandlers(m_httpServer);
233 } 242 }
234 243
235 public override void ShutdownSpecific() 244 public override void ShutdownSpecific()