* Move standalone login setup in LLStandaloneLoginmodule to RegionLoaded() from AddRegion()

* This is necessary to avoid a dependency problem where LLStandaloneLoginModule references IInventoryService before the LocalInventoryServiceConnector is registered
* Correct some copypasta log messages in LocalInventoryServiceConnector
0.6.6-post-fixes
Justin Clarke Casey 2009-06-12 15:41:53 +00:00
parent e6e88ac126
commit 45342067f5
2 changed files with 39 additions and 33 deletions

View File

@ -98,35 +98,6 @@ namespace OpenSim.Client.Linden
public void AddRegion(Scene scene) public void AddRegion(Scene scene)
{ {
if (m_firstScene == null)
{
m_firstScene = scene;
if (m_enabled)
{
//TODO: fix casting.
LibraryRootFolder rootFolder
= m_firstScene.CommsManager.UserProfileCacheService.LibraryRoot as LibraryRootFolder;
IHttpServer httpServer = m_firstScene.CommsManager.HttpServer;
//TODO: fix the casting of the user service, maybe by registering the userManagerBase with scenes, or refactoring so we just need a IUserService reference
m_loginService = new LLStandaloneLoginService((UserManagerBase)m_firstScene.CommsManager.UserAdminService, welcomeMessage, m_firstScene.InventoryService, m_firstScene.CommsManager.NetworkServersInfo, authenticate, rootFolder, this);
httpServer.AddXmlRPCHandler("login_to_simulator", m_loginService.XmlRpcLoginMethod);
// provides the web form login
httpServer.AddHTTPHandler("login", m_loginService.ProcessHTMLLogin);
// Provides the LLSD login
httpServer.SetDefaultLLSDHandler(m_loginService.LLSDLoginMethod);
}
}
if (m_enabled)
{
AddScene(scene);
}
} }
public void RemoveRegion(Scene scene) public void RemoveRegion(Scene scene)
@ -149,7 +120,39 @@ namespace OpenSim.Client.Linden
public void RegionLoaded(Scene scene) public void RegionLoaded(Scene scene)
{ {
if (m_firstScene == null)
{
m_firstScene = scene;
if (m_enabled)
{
//TODO: fix casting.
LibraryRootFolder rootFolder
= m_firstScene.CommsManager.UserProfileCacheService.LibraryRoot as LibraryRootFolder;
IHttpServer httpServer = m_firstScene.CommsManager.HttpServer;
//TODO: fix the casting of the user service, maybe by registering the userManagerBase with scenes, or refactoring so we just need a IUserService reference
m_loginService
= new LLStandaloneLoginService(
(UserManagerBase)m_firstScene.CommsManager.UserAdminService, welcomeMessage,
m_firstScene.InventoryService, m_firstScene.CommsManager.NetworkServersInfo, authenticate,
rootFolder, this);
httpServer.AddXmlRPCHandler("login_to_simulator", m_loginService.XmlRpcLoginMethod);
// provides the web form login
httpServer.AddHTTPHandler("login", m_loginService.ProcessHTMLLogin);
// Provides the LLSD login
httpServer.SetDefaultLLSDHandler(m_loginService.LLSDLoginMethod);
}
}
if (m_enabled)
{
AddScene(scene);
}
} }
public string Name public string Name

View File

@ -105,7 +105,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Inventory
//} //}
m_Enabled = true; m_Enabled = true;
m_log.Info("[INVENTORY CONNECTOR]: Local asset connector enabled"); m_log.Info("[INVENTORY CONNECTOR]: Local inventory connector enabled");
} }
} }
} }
@ -120,6 +120,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Inventory
public void AddRegion(Scene scene) public void AddRegion(Scene scene)
{ {
m_log.DebugFormat("HEEEERE");
if (!m_Enabled) if (!m_Enabled)
return; return;
@ -131,8 +132,10 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Inventory
m_Initialized = true; m_Initialized = true;
} }
scene.RegisterModuleInterface<IInventoryService>(this); m_log.DebugFormat(
"[INVENTORY CONNECTOR]: Registering IInventoryService to scene {0}", scene.RegionInfo.RegionName);
scene.RegisterModuleInterface<IInventoryService>(this);
} }
public void RemoveRegion(Scene scene) public void RemoveRegion(Scene scene)
@ -144,8 +147,8 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Inventory
if (!m_Enabled) if (!m_Enabled)
return; return;
m_log.InfoFormat("[INVENTORY CONNECTOR]: Enabled local assets for region {0}", scene.RegionInfo.RegionName); m_log.InfoFormat(
"[INVENTORY CONNECTOR]: Enabled local invnetory for region {0}", scene.RegionInfo.RegionName);
} }
#region IInventoryService #region IInventoryService