diff options
Diffstat (limited to 'OpenSim/Region/Environment/Scenes')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/EventManager.cs | 29 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.cs | 18 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | 3 |
3 files changed, 24 insertions, 26 deletions
diff --git a/OpenSim/Region/Environment/Scenes/EventManager.cs b/OpenSim/Region/Environment/Scenes/EventManager.cs index 5d21dc5..bcefe37 100644 --- a/OpenSim/Region/Environment/Scenes/EventManager.cs +++ b/OpenSim/Region/Environment/Scenes/EventManager.cs | |||
@@ -144,9 +144,11 @@ namespace OpenSim.Region.Environment.Scenes | |||
144 | 144 | ||
145 | public event SignificantClientMovement OnSignificantClientMovement; | 145 | public event SignificantClientMovement OnSignificantClientMovement; |
146 | 146 | ||
147 | public delegate void NewGridInstantMessage(GridInstantMessage message, InstantMessageReceiver whichModule); | 147 | public delegate void IncomingInstantMessage(GridInstantMessage message); |
148 | 148 | ||
149 | public event NewGridInstantMessage OnGridInstantMessage; | 149 | public event IncomingInstantMessage OnIncomingInstantMessage; |
150 | |||
151 | public event IncomingInstantMessage OnUnhandledInstantMessage; | ||
150 | 152 | ||
151 | public delegate void ClientClosed(UUID clientID); | 153 | public delegate void ClientClosed(UUID clientID); |
152 | 154 | ||
@@ -352,7 +354,8 @@ namespace OpenSim.Region.Environment.Scenes | |||
352 | private LandObjectAdded handlerLandObjectAdded = null; //OnLandObjectAdded; | 354 | private LandObjectAdded handlerLandObjectAdded = null; //OnLandObjectAdded; |
353 | private LandObjectRemoved handlerLandObjectRemoved = null; //OnLandObjectRemoved; | 355 | private LandObjectRemoved handlerLandObjectRemoved = null; //OnLandObjectRemoved; |
354 | private AvatarEnteringNewParcel handlerAvatarEnteringNewParcel = null; //OnAvatarEnteringNewParcel; | 356 | private AvatarEnteringNewParcel handlerAvatarEnteringNewParcel = null; //OnAvatarEnteringNewParcel; |
355 | private NewGridInstantMessage handlerGridInstantMessage = null; //OnGridInstantMessage; | 357 | private IncomingInstantMessage handlerIncomingInstantMessage = null; //OnIncomingInstantMessage; |
358 | private IncomingInstantMessage handlerUnhandledInstantMessage = null; //OnUnhandledInstantMessage; | ||
356 | private ClientClosed handlerClientClosed = null; //OnClientClosed; | 359 | private ClientClosed handlerClientClosed = null; //OnClientClosed; |
357 | private OnMakeChildAgentDelegate handlerMakeChildAgent = null; //OnMakeChildAgent; | 360 | private OnMakeChildAgentDelegate handlerMakeChildAgent = null; //OnMakeChildAgent; |
358 | private OnMakeRootAgentDelegate handlerMakeRootAgent = null; //OnMakeRootAgent; | 361 | private OnMakeRootAgentDelegate handlerMakeRootAgent = null; //OnMakeRootAgent; |
@@ -641,15 +644,21 @@ namespace OpenSim.Region.Environment.Scenes | |||
641 | } | 644 | } |
642 | } | 645 | } |
643 | 646 | ||
644 | ///<summary>Used to pass instnat messages around between the Scene, the Friends Module and the Instant Messsage Module</summary> | 647 | public void TriggerIncomingInstantMessage(GridInstantMessage message) |
645 | ///<param name="message">Object containing the Instant Message Data</param> | 648 | { |
646 | ///<param name="whichModule">A bit vector containing the modules to send the message to</param> | 649 | handlerIncomingInstantMessage = OnIncomingInstantMessage; |
647 | public void TriggerGridInstantMessage(GridInstantMessage message, InstantMessageReceiver whichModule) | 650 | if (handlerIncomingInstantMessage != null) |
651 | { | ||
652 | handlerIncomingInstantMessage(message); | ||
653 | } | ||
654 | } | ||
655 | |||
656 | public void TriggerUnhandledInstantMessage(GridInstantMessage message) | ||
648 | { | 657 | { |
649 | handlerGridInstantMessage = OnGridInstantMessage; | 658 | handlerUnhandledInstantMessage = OnUnhandledInstantMessage; |
650 | if (handlerGridInstantMessage != null) | 659 | if (handlerUnhandledInstantMessage != null) |
651 | { | 660 | { |
652 | handlerGridInstantMessage(message, whichModule); | 661 | handlerUnhandledInstantMessage(message); |
653 | } | 662 | } |
654 | } | 663 | } |
655 | 664 | ||
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 08b7bdb..7485134 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -993,7 +993,8 @@ namespace OpenSim.Region.Environment.Scenes | |||
993 | else | 993 | else |
994 | msg.message = string.Format("Your object {0} was returned from {1} in region {2} due to parcel auto return", ret.Value.objectName, ret.Value.location.ToString(), RegionInfo.RegionName); | 994 | msg.message = string.Format("Your object {0} was returned from {1} in region {2} due to parcel auto return", ret.Value.objectName, ret.Value.location.ToString(), RegionInfo.RegionName); |
995 | 995 | ||
996 | TriggerGridInstantMessage(msg, InstantMessageReceiver.IMModule); | 996 | // TODO: Send IM |
997 | // TriggerGridInstantMessage(msg); | ||
997 | } | 998 | } |
998 | } | 999 | } |
999 | 1000 | ||
@@ -3304,21 +3305,6 @@ namespace OpenSim.Region.Environment.Scenes | |||
3304 | return UUID.Zero; | 3305 | return UUID.Zero; |
3305 | } | 3306 | } |
3306 | 3307 | ||
3307 | /// <summary> | ||
3308 | /// This method is a way for the Friends Module to create an instant | ||
3309 | /// message to the avatar and for Instant Messages that travel across | ||
3310 | /// gridcomms to make it to the Instant Message Module. | ||
3311 | /// | ||
3312 | /// Friendship establishment and groups are unfortunately tied with instant messaging and | ||
3313 | /// there's no way to separate them completely. | ||
3314 | /// </summary> | ||
3315 | /// <param name="message">object containing the instant message data</param> | ||
3316 | /// <returns>void</returns> | ||
3317 | public void TriggerGridInstantMessage(GridInstantMessage message, InstantMessageReceiver options) | ||
3318 | { | ||
3319 | m_eventManager.TriggerGridInstantMessage(message, options); | ||
3320 | } | ||
3321 | |||
3322 | public virtual void StoreAddFriendship(UUID ownerID, UUID friendID, uint perms) | 3308 | public virtual void StoreAddFriendship(UUID ownerID, UUID friendID, uint perms) |
3323 | { | 3309 | { |
3324 | // TODO: m_sceneGridService.DoStuff; | 3310 | // TODO: m_sceneGridService.DoStuff; |
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index d929be2..acb6888 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | |||
@@ -1211,6 +1211,9 @@ namespace OpenSim.Region.Environment.Scenes | |||
1211 | /// <param name="datastore"></param> | 1211 | /// <param name="datastore"></param> |
1212 | public void ProcessBackup(IRegionDataStore datastore) | 1212 | public void ProcessBackup(IRegionDataStore datastore) |
1213 | { | 1213 | { |
1214 | if (!m_isBackedUp) | ||
1215 | return; | ||
1216 | |||
1214 | // Since this is the top of the section of call stack for backing up a particular scene object, don't let | 1217 | // Since this is the top of the section of call stack for backing up a particular scene object, don't let |
1215 | // any exception propogate upwards. | 1218 | // any exception propogate upwards. |
1216 | 1219 | ||