From b4c9b6bd19c0725ae5bf60172db75ebc63ba72c6 Mon Sep 17 00:00:00 2001
From: Teravus Ovares
Date: Tue, 1 Jan 2008 06:12:04 +0000
Subject: * You can add and remove a friend in standalone now within the same
simulator. It saves. * You can add and remove a friend in grid mode now
within the same simulator. It doesn't save yet. * I got rid of Mr. OpenSim
as a friend.. he bothers me /:b...
---
OpenSim/Region/Environment/Scenes/SceneEvents.cs | 36 ++++++++++++++++++++++++
1 file changed, 36 insertions(+)
(limited to 'OpenSim/Region/Environment/Scenes/SceneEvents.cs')
diff --git a/OpenSim/Region/Environment/Scenes/SceneEvents.cs b/OpenSim/Region/Environment/Scenes/SceneEvents.cs
index a6a8fb6..5bf23ac 100644
--- a/OpenSim/Region/Environment/Scenes/SceneEvents.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneEvents.cs
@@ -27,12 +27,14 @@
*/
using libsecondlife;
+using System;
using OpenSim.Framework;
using OpenSim.Region.Environment.Interfaces;
using OpenSim.Region.Environment.LandManagement;
namespace OpenSim.Region.Environment.Scenes
{
+
///
/// A class for triggering remote scene events.
///
@@ -115,6 +117,16 @@ namespace OpenSim.Region.Environment.Scenes
public event AvatarEnteringNewParcel OnAvatarEnteringNewParcel;
+ public delegate void NewGridInstantMessage(GridInstantMessage message);
+
+ public event NewGridInstantMessage OnGridInstantMessageToIMModule;
+
+ public event NewGridInstantMessage OnGridInstantMessageToFriendsModule;
+
+ public event NewGridInstantMessage OnGridInstantMessageToGroupsModule;
+
+
+
public void TriggerOnClientMovement(ScenePresence avatar)
{
if (OnClientMovement != null)
@@ -265,5 +277,29 @@ namespace OpenSim.Region.Environment.Scenes
OnAvatarEnteringNewParcel(avatar, localLandID, regionID);
}
}
+
+ ///Used to pass instnat messages around between the Scene, the Friends Module and the Instant Messsage Module
+ ///Object containing the Instant Message Data
+ ///A bit vector containing the modules to send the message to
+ public void TriggerGridInstantMessage(GridInstantMessage message, InstantMessageReceiver whichModule)
+ {
+ if ((whichModule & InstantMessageReceiver.IMModule) != 0)
+ {
+
+ if (OnGridInstantMessageToIMModule != null)
+ {
+ OnGridInstantMessageToIMModule(message);
+ }
+ }
+ if ((whichModule & InstantMessageReceiver.FriendsModule) != 0)
+ {
+ if (OnGridInstantMessageToFriendsModule != null)
+ {
+ OnGridInstantMessageToFriendsModule(message);
+ }
+
+ }
+ }
+
}
}
\ No newline at end of file
--
cgit v1.1