aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/Environment/Modules/Avatar/InstantMessage/PresenceModule.cs18
-rw-r--r--OpenSim/Region/Environment/Scenes/EventManager.cs13
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.cs2
3 files changed, 33 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Modules/Avatar/InstantMessage/PresenceModule.cs b/OpenSim/Region/Environment/Modules/Avatar/InstantMessage/PresenceModule.cs
index 439b082..48c7717 100644
--- a/OpenSim/Region/Environment/Modules/Avatar/InstantMessage/PresenceModule.cs
+++ b/OpenSim/Region/Environment/Modules/Avatar/InstantMessage/PresenceModule.cs
@@ -75,7 +75,12 @@ namespace OpenSim.Region.Environment.Modules.Avatar.InstantMessage
75 75
76 if (m_Gridmode) 76 if (m_Gridmode)
77 NotifyMessageServerOfStartup(scene); 77 NotifyMessageServerOfStartup(scene);
78
78 scene.RegisterModuleInterface<IPresenceModule>(this); 79 scene.RegisterModuleInterface<IPresenceModule>(this);
80
81 scene.EventManager.OnNewClient += OnNewClient;
82 scene.EventManager.OnSetRootAgentScene += OnSetRootAgentScene;
83
79 m_Scenes.Add(scene); 84 m_Scenes.Add(scene);
80 } 85 }
81 } 86 }
@@ -107,6 +112,19 @@ namespace OpenSim.Region.Environment.Modules.Avatar.InstantMessage
107 { 112 {
108 } 113 }
109 114
115 public void OnNewClient(IClientAPI client)
116 {
117 client.OnConnectionClosed += OnConnectionClosed;
118 }
119
120 public void OnConnectionClosed(IClientAPI client)
121 {
122 }
123
124 public void OnSetRootAgentScene(UUID agentID)
125 {
126 }
127
110 private void NotifyMessageServerOfStartup(Scene scene) 128 private void NotifyMessageServerOfStartup(Scene scene)
111 { 129 {
112 Hashtable xmlrpcdata = new Hashtable(); 130 Hashtable xmlrpcdata = new Hashtable();
diff --git a/OpenSim/Region/Environment/Scenes/EventManager.cs b/OpenSim/Region/Environment/Scenes/EventManager.cs
index bcefe37..cdaff51 100644
--- a/OpenSim/Region/Environment/Scenes/EventManager.cs
+++ b/OpenSim/Region/Environment/Scenes/EventManager.cs
@@ -98,6 +98,10 @@ namespace OpenSim.Region.Environment.Scenes
98 98
99 public delegate void OnPermissionErrorDelegate(UUID user, string reason); 99 public delegate void OnPermissionErrorDelegate(UUID user, string reason);
100 100
101 public delegate void OnSetRootAgentSceneDelegate(UUID agentID);
102
103 public event OnSetRootAgentSceneDelegate OnSetRootAgentScene;
104
101 public event ObjectGrabDelegate OnObjectGrab; 105 public event ObjectGrabDelegate OnObjectGrab;
102 public event ObjectDeGrabDelegate OnObjectDeGrab; 106 public event ObjectDeGrabDelegate OnObjectDeGrab;
103 public event ScriptResetDelegate OnScriptReset; 107 public event ScriptResetDelegate OnScriptReset;
@@ -389,6 +393,8 @@ namespace OpenSim.Region.Environment.Scenes
389 private GetScriptRunning handlerGetScriptRunning = null; 393 private GetScriptRunning handlerGetScriptRunning = null;
390 394
391 private SunLindenHour handlerSunGetLindenHour = null; 395 private SunLindenHour handlerSunGetLindenHour = null;
396 private OnSetRootAgentSceneDelegate handlerSetRootAgentScene = null;
397
392 398
393 public void TriggerGetScriptRunning(IClientAPI controllingClient, UUID objectID, UUID itemID) 399 public void TriggerGetScriptRunning(IClientAPI controllingClient, UUID objectID, UUID itemID)
394 { 400 {
@@ -912,5 +918,12 @@ namespace OpenSim.Region.Environment.Scenes
912 if (handlerCollidingEnd != null) 918 if (handlerCollidingEnd != null)
913 handlerCollidingEnd(localId, colliders); 919 handlerCollidingEnd(localId, colliders);
914 } 920 }
921
922 public void TriggerSetRootAgentScene(UUID agentID)
923 {
924 handlerSetRootAgentScene = OnSetRootAgentScene;
925 if (handlerSetRootAgentScene != null)
926 handlerSetRootAgentScene(agentID);
927 }
915 } 928 }
916} 929}
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index 2fcca43..0c5eb62 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -4214,6 +4214,8 @@ namespace OpenSim.Region.Environment.Scenes
4214 return; 4214 return;
4215 4215
4216 inv.SetRootAgentScene(agentID, this); 4216 inv.SetRootAgentScene(agentID, this);
4217
4218 EventManager.TriggerSetRootAgentScene(agentID);
4217 } 4219 }
4218 4220
4219 public bool NeedSceneCacheClear(UUID agentID) 4221 public bool NeedSceneCacheClear(UUID agentID)