add patch
							parent
							
								
									fd2753060a
								
							
						
					
					
						commit
						48d1fb1963
					
				|  | @ -0,0 +1,89 @@ | |||
| From b60391860348fdc59c518a9c585ac201767f0378 Mon Sep 17 00:00:00 2001 | ||||
| From: Christopher <christopher@clatza.dev> | ||||
| Date: Fri, 9 Jul 2021 21:55:17 +0200 | ||||
| Subject: [PATCH] add hg notification to friendService | ||||
| 
 | ||||
| ---
 | ||||
|  .../HypergridService/HGFriendsService.cs      | 40 +++++++++++-------- | ||||
|  1 file changed, 24 insertions(+), 16 deletions(-) | ||||
| 
 | ||||
| diff --git a/OpenSim/Services/HypergridService/HGFriendsService.cs b/OpenSim/Services/HypergridService/HGFriendsService.cs
 | ||||
| index d3b4f18283..cf68eb549c 100644
 | ||||
| --- a/OpenSim/Services/HypergridService/HGFriendsService.cs
 | ||||
| +++ b/OpenSim/Services/HypergridService/HGFriendsService.cs
 | ||||
| @@ -61,6 +61,7 @@ namespace OpenSim.Services.HypergridService
 | ||||
|          protected static IFriendsService m_FriendsService; | ||||
|          protected static IPresenceService m_PresenceService; | ||||
|          protected static IUserAccountService m_UserAccountService; | ||||
| +        protected static IUserAgentService m_UserAgentService;
 | ||||
|          protected static IFriendsSimConnector m_FriendsLocalSimConnector; // standalone, points to HGFriendsModule | ||||
|          protected static FriendsSimConnector m_FriendsSimConnector; // grid | ||||
|   | ||||
| @@ -88,7 +89,7 @@ namespace OpenSim.Services.HypergridService
 | ||||
|                  if (theService == String.Empty) | ||||
|                      throw new Exception("No FriendsService in config file " + m_ConfigName); | ||||
|                  m_FriendsService = ServerUtils.LoadPlugin<IFriendsService>(theService, args); | ||||
| -
 | ||||
| +                
 | ||||
|                  theService = serverConfig.GetString("UserAccountService", string.Empty); | ||||
|                  if (theService == String.Empty) | ||||
|                      throw new Exception("No UserAccountService in " + m_ConfigName); | ||||
| @@ -99,13 +100,17 @@ namespace OpenSim.Services.HypergridService
 | ||||
|                      throw new Exception("No GridService in " + m_ConfigName); | ||||
|                  m_GridService = ServerUtils.LoadPlugin<IGridService>(theService, args); | ||||
|   | ||||
| +                theService = serverConfig.GetString("UserAgentService", string.Empty);
 | ||||
| +                if (theService == String.Empty)
 | ||||
| +                    throw new Exception("No UserAgentService in " + m_ConfigName);
 | ||||
| +                m_UserAgentService = ServerUtils.LoadPlugin<IUserAgentService>(theService, args);
 | ||||
| +
 | ||||
|                  theService = serverConfig.GetString("PresenceService", string.Empty); | ||||
|                  if (theService == String.Empty) | ||||
|                      throw new Exception("No PresenceService in " + m_ConfigName); | ||||
| -                m_PresenceService = ServerUtils.LoadPlugin<IPresenceService>(theService, args);
 | ||||
|   | ||||
| +                m_PresenceService = ServerUtils.LoadPlugin<IPresenceService>(theService, args);
 | ||||
|                  m_FriendsSimConnector = new FriendsSimConnector(); | ||||
| -
 | ||||
|                  m_log.DebugFormat("[HGFRIENDS SERVICE]: Starting..."); | ||||
|   | ||||
|              } | ||||
| @@ -277,19 +282,22 @@ namespace OpenSim.Services.HypergridService
 | ||||
|                  } | ||||
|              } | ||||
|   | ||||
| -//            // Lastly, let's notify the rest who may be online somewhere else
 | ||||
| -//            foreach (string user in usersToBeNotified)
 | ||||
| -//            {
 | ||||
| -//                UUID id = new UUID(user);
 | ||||
| -//                //m_UserAgentService.LocateUser(id);
 | ||||
| -//                //etc...
 | ||||
| -//                //if (m_TravelingAgents.ContainsKey(id) && m_TravelingAgents[id].GridExternalName != m_GridName)
 | ||||
| -//                //{
 | ||||
| -//                //    string url = m_TravelingAgents[id].GridExternalName;
 | ||||
| -//                //    // forward
 | ||||
| -//                //}
 | ||||
| -//                //m_log.WarnFormat("[HGFRIENDS SERVICE]: User {0} is visiting another grid. HG Status notifications still not implemented.", user);
 | ||||
| -//            }
 | ||||
| +            foreach (string user in usersToBeNotified)
 | ||||
| +            {
 | ||||
| +                try
 | ||||
| +                {
 | ||||
| +                    UUID id = new UUID(user);
 | ||||
| +                    String remoteServer = m_UserAgentService.LocateUser(id);
 | ||||
| +                    GridRegion remoteRegion = m_GridService.GetRegionByURI(UUID.Zero, new RegionURI(remoteServer));
 | ||||
| +                    m_FriendsSimConnector.StatusNotify(remoteRegion, id, user, online);
 | ||||
| +                }
 | ||||
| +                catch(Exception error)
 | ||||
| +                {
 | ||||
| +                    m_log.Error("User: " + user);
 | ||||
| +                    m_log.Error(error.Message);
 | ||||
| +                    m_log.Error(error.StackTrace);
 | ||||
| +                }
 | ||||
| +            }
 | ||||
|   | ||||
|              // and finally, let's send the online friends | ||||
|              if (online) | ||||
| -- 
 | ||||
| 2.30.1.windows.1 | ||||
| 
 | ||||
		Loading…
	
		Reference in New Issue
	
	 Christopher
						Christopher