From d08ad6459a03a6a5a6a551fd2b275f1c7da94d8e Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Tue, 20 Mar 2012 17:14:19 -0700 Subject: HG Friends: allow the establishment of HG friendships without requiring co-presence in the same sim. Using avatar picker, users can now search for names such as "first.last@grid.com:9000", find them, and request friendship. Friendship requests are stored if target user is offline. TESTED ON STANDALONE ONLY. --- .../Hypergrid/HypergridServiceInConnectorModule.cs | 26 +++++++++++++++++----- 1 file changed, 20 insertions(+), 6 deletions(-) (limited to 'OpenSim/Region/CoreModules/ServiceConnectorsIn') diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsIn/Hypergrid/HypergridServiceInConnectorModule.cs b/OpenSim/Region/CoreModules/ServiceConnectorsIn/Hypergrid/HypergridServiceInConnectorModule.cs index 89abbb2..8df1c7b 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsIn/Hypergrid/HypergridServiceInConnectorModule.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsIn/Hypergrid/HypergridServiceInConnectorModule.cs @@ -48,8 +48,10 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Hypergrid private static bool m_Enabled = false; private IConfigSource m_Config; - bool m_Registered = false; - GatekeeperServiceInConnector m_HypergridHandler; + private bool m_Registered = false; + private string m_LocalServiceDll = String.Empty; + private GatekeeperServiceInConnector m_HypergridHandler; + private UserAgentServerConnector m_UASHandler; #region IRegionModule interface @@ -63,6 +65,13 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Hypergrid if (m_Enabled) { m_log.Info("[HGGRID IN CONNECTOR]: Hypergrid Service In Connector enabled"); + IConfig fconfig = config.Configs["FriendsService"]; + if (fconfig != null) + { + m_LocalServiceDll = fconfig.GetString("LocalServiceModule", m_LocalServiceDll); + if (m_LocalServiceDll == String.Empty) + m_log.WarnFormat("[HGGRID IN CONNECTOR]: Friends LocalServiceModule config missing"); + } } } @@ -91,7 +100,6 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Hypergrid { if (!m_Enabled) return; - } public void RemoveRegion(Scene scene) @@ -112,14 +120,20 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Hypergrid m_log.Info("[HypergridService]: Starting..."); ISimulationService simService = scene.RequestModuleInterface(); + IFriendsSimConnector friendsConn = scene.RequestModuleInterface(); + Object[] args = new Object[] { m_Config }; + IFriendsService friendsService = ServerUtils.LoadPlugin(m_LocalServiceDll, args); + m_HypergridHandler = new GatekeeperServiceInConnector(m_Config, MainServer.Instance, simService); - IFriendsSimConnector friendsConn = scene.RequestModuleInterface(); - new UserAgentServerConnector(m_Config, MainServer.Instance, friendsConn); + m_UASHandler = new UserAgentServerConnector(m_Config, MainServer.Instance, friendsConn); + new HeloServiceInConnector(m_Config, MainServer.Instance, "HeloService"); - new HGFriendsServerConnector(m_Config, MainServer.Instance, "HGFriendsService"); + + new HGFriendsServerConnector(m_Config, MainServer.Instance, "HGFriendsService", friendsConn); } scene.RegisterModuleInterface(m_HypergridHandler.GateKeeper); + scene.RegisterModuleInterface(m_UASHandler.HomeUsersService); } #endregion -- cgit v1.1