Grab the presence module and load the friends connector into the friends module
							parent
							
								
									c7b1e76eb5
								
							
						
					
					
						commit
						e776bf9316
					
				|  | @ -52,6 +52,25 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | ||||||
| 
 | 
 | ||||||
|         protected int m_Port = 0; |         protected int m_Port = 0; | ||||||
| 
 | 
 | ||||||
|  |         protected List<Scene> m_Scenes = new List<Scene>(); | ||||||
|  | 
 | ||||||
|  |         protected IPresenceService m_PresenceService = null; | ||||||
|  |         protected IFriendsService m_FriendsService = null; | ||||||
|  | 
 | ||||||
|  |         protected IPresenceService PresenceService | ||||||
|  |         { | ||||||
|  |             get | ||||||
|  |             { | ||||||
|  |                 if (m_PresenceService == null) | ||||||
|  |                 { | ||||||
|  |                     if (m_Scenes.Count > 0) | ||||||
|  |                         m_PresenceService = m_Scenes[0].RequestModuleInterface<IPresenceService>(); | ||||||
|  |                 } | ||||||
|  | 
 | ||||||
|  |                 return m_PresenceService; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|         public FriendsModule() |         public FriendsModule() | ||||||
|                 : base("POST", "/friends") |                 : base("POST", "/friends") | ||||||
|         { |         { | ||||||
|  | @ -63,6 +82,17 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | ||||||
|             if (friendsConfig != null) |             if (friendsConfig != null) | ||||||
|             { |             { | ||||||
|                 m_Port = friendsConfig.GetInt("Port", m_Port); |                 m_Port = friendsConfig.GetInt("Port", m_Port); | ||||||
|  | 
 | ||||||
|  |                 string connector = friendsConfig.GetString("Connector", String.Empty); | ||||||
|  |                 Object[] args = new Object[] { config }; | ||||||
|  | 
 | ||||||
|  |                 m_FriendsService = ServerUtils.LoadPlugin<IFriendsService>(connector, args); | ||||||
|  |             } | ||||||
|  | 
 | ||||||
|  |             if (m_FriendsService == null) | ||||||
|  |             { | ||||||
|  |                 m_log.Error("[FRIENDS]: No Connector defined in section Friends, or filed to load, cannot continue"); | ||||||
|  |                 throw new Exception("Connector load error"); | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             IHttpServer server = MainServer.GetHttpServer((uint)m_Port); |             IHttpServer server = MainServer.GetHttpServer((uint)m_Port); | ||||||
|  | @ -81,6 +111,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | ||||||
| 
 | 
 | ||||||
|         public void AddRegion(Scene scene) |         public void AddRegion(Scene scene) | ||||||
|         { |         { | ||||||
|  |             m_Scenes.Add(scene); | ||||||
|  |             scene.RegisterModuleInterface<IFriendsModule>(this); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         public void RegionLoaded(Scene scene) |         public void RegionLoaded(Scene scene) | ||||||
|  | @ -89,6 +121,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | ||||||
| 
 | 
 | ||||||
|         public void RemoveRegion(Scene scene) |         public void RemoveRegion(Scene scene) | ||||||
|         { |         { | ||||||
|  |             m_Scenes.Remove(scene); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         public override byte[] Handle(string path, Stream requestData, |         public override byte[] Handle(string path, Stream requestData, | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Melanie
						Melanie