From 139994757c7dab04dd03801266525e8c53395a5e Mon Sep 17 00:00:00 2001
From: Sean Dague
Date: Fri, 19 Oct 2007 20:27:34 +0000
Subject: changes to pass nini config object to the modules that get loaded so
that they may read out any bits they are interested in
---
.../Environment/Modules/AssetDownloadModule.cs | 3 +-
.../Environment/Modules/AvatarProfilesModule.cs | 187 ++++----
OpenSim/Region/Environment/Modules/ChatModule.cs | 485 +++++++++++----------
.../Environment/Modules/DynamicTextureModule.cs | 381 ++++++++--------
.../Region/Environment/Modules/FriendsModule.cs | 123 +++---
OpenSim/Region/Environment/Modules/GroupsModule.cs | 123 +++---
.../Environment/Modules/InstantMessageModule.cs | 201 ++++-----
.../Region/Environment/Modules/InventoryModule.cs | 123 +++---
.../Environment/Modules/LoadImageURLModule.cs | 247 +++++------
.../Environment/Modules/TextureDownloadModule.cs | 153 +++----
.../Region/Environment/Modules/WorldCommModule.cs | 3 +-
OpenSim/Region/Environment/Modules/XMLRPCModule.cs | 3 +-
OpenSim/Region/Environment/Modules/XferModule.cs | 403 ++++++++---------
13 files changed, 1224 insertions(+), 1211 deletions(-)
(limited to 'OpenSim/Region/Environment/Modules')
diff --git a/OpenSim/Region/Environment/Modules/AssetDownloadModule.cs b/OpenSim/Region/Environment/Modules/AssetDownloadModule.cs
index 417e3bc..b53c05e 100644
--- a/OpenSim/Region/Environment/Modules/AssetDownloadModule.cs
+++ b/OpenSim/Region/Environment/Modules/AssetDownloadModule.cs
@@ -29,6 +29,7 @@
using OpenSim.Framework.Interfaces;
using OpenSim.Region.Environment.Interfaces;
using OpenSim.Region.Environment.Scenes;
+using Nini.Config;
namespace OpenSim.Region.Environment.Modules
{
@@ -40,7 +41,7 @@ namespace OpenSim.Region.Environment.Modules
{
}
- public void Initialise(Scene scene)
+ public void Initialise(Scene scene, IConfigSource config)
{
m_scene = scene;
m_scene.EventManager.OnNewClient += NewClient;
diff --git a/OpenSim/Region/Environment/Modules/AvatarProfilesModule.cs b/OpenSim/Region/Environment/Modules/AvatarProfilesModule.cs
index 9c627df..4bdb61b 100644
--- a/OpenSim/Region/Environment/Modules/AvatarProfilesModule.cs
+++ b/OpenSim/Region/Environment/Modules/AvatarProfilesModule.cs
@@ -1,93 +1,94 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-using libsecondlife;
-using OpenSim.Framework.Interfaces;
-using OpenSim.Region.Environment.Interfaces;
-using OpenSim.Region.Environment.Scenes;
-
-namespace OpenSim.Region.Environment.Modules
-{
- public class AvatarProfilesModule : IRegionModule
- {
- private Scene m_scene;
-
- public AvatarProfilesModule()
- {
- }
-
- public void Initialise(Scene scene)
- {
- m_scene = scene;
- m_scene.EventManager.OnNewClient += NewClient;
- }
-
- public void PostInitialise()
- {
- }
-
- public void Close()
- {
- }
-
- public string Name
- {
- get { return "AvatarProfilesModule"; }
- }
-
- public bool IsSharedModule
- {
- get { return false; }
- }
-
- public void NewClient(IClientAPI client)
- {
- client.OnRequestAvatarProperties += RequestAvatarProperty;
- }
-
- public void RemoveClient(IClientAPI client)
- {
- client.OnRequestAvatarProperties -= RequestAvatarProperty;
- }
-
- ///
- ///
- ///
- ///
- ///
- public void RequestAvatarProperty(IClientAPI remoteClient, LLUUID avatarID)
- {
- string about = "OpenSim crash test dummy";
- string bornOn = "Before now";
- string flAbout = "First life? What is one of those? OpenSim is my life!";
- LLUUID partner = new LLUUID("11111111-1111-0000-0000-000100bba000");
- remoteClient.SendAvatarProperties(avatarID, about, bornOn, "", flAbout, 0, LLUUID.Zero, LLUUID.Zero, "",
- partner);
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using libsecondlife;
+using OpenSim.Framework.Interfaces;
+using OpenSim.Region.Environment.Interfaces;
+using OpenSim.Region.Environment.Scenes;
+using Nini.Config;
+
+namespace OpenSim.Region.Environment.Modules
+{
+ public class AvatarProfilesModule : IRegionModule
+ {
+ private Scene m_scene;
+
+ public AvatarProfilesModule()
+ {
+ }
+
+ public void Initialise(Scene scene, IConfigSource config)
+ {
+ m_scene = scene;
+ m_scene.EventManager.OnNewClient += NewClient;
+ }
+
+ public void PostInitialise()
+ {
+ }
+
+ public void Close()
+ {
+ }
+
+ public string Name
+ {
+ get { return "AvatarProfilesModule"; }
+ }
+
+ public bool IsSharedModule
+ {
+ get { return false; }
+ }
+
+ public void NewClient(IClientAPI client)
+ {
+ client.OnRequestAvatarProperties += RequestAvatarProperty;
+ }
+
+ public void RemoveClient(IClientAPI client)
+ {
+ client.OnRequestAvatarProperties -= RequestAvatarProperty;
+ }
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ public void RequestAvatarProperty(IClientAPI remoteClient, LLUUID avatarID)
+ {
+ string about = "OpenSim crash test dummy";
+ string bornOn = "Before now";
+ string flAbout = "First life? What is one of those? OpenSim is my life!";
+ LLUUID partner = new LLUUID("11111111-1111-0000-0000-000100bba000");
+ remoteClient.SendAvatarProperties(avatarID, about, bornOn, "", flAbout, 0, LLUUID.Zero, LLUUID.Zero, "",
+ partner);
+ }
+ }
+}
diff --git a/OpenSim/Region/Environment/Modules/ChatModule.cs b/OpenSim/Region/Environment/Modules/ChatModule.cs
index 6b8050e..a85a12c 100644
--- a/OpenSim/Region/Environment/Modules/ChatModule.cs
+++ b/OpenSim/Region/Environment/Modules/ChatModule.cs
@@ -1,242 +1,243 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-using System;
-using System.IO;
-using System.Net.Sockets;
-using System.Threading;
-using libsecondlife;
-using OpenSim.Framework.Interfaces;
-using OpenSim.Framework.Utilities;
-using OpenSim.Region.Environment.Interfaces;
-using OpenSim.Region.Environment.Scenes;
-
-namespace OpenSim.Region.Environment.Modules
-{
- public class ChatModule : IRegionModule, ISimChat
- {
- private Scene m_scene;
-
- private string m_server = "irc2.choopa.net";
-
- // private int m_port = 6668;
- //private string m_user = "USER OpenSimBot 8 * :I'm a OpenSim to irc bot";
- private string m_nick = "OSimBot";
- private string m_channel = "#opensim";
-
- // private NetworkStream m_stream;
- private TcpClient m_irc;
- private StreamWriter m_ircWriter;
- private StreamReader m_ircReader;
-
- // private Thread pingSender;
- // private Thread listener;
-
- private bool connected = false;
-
- public ChatModule()
- {
- m_nick = "OSimBot" + Util.RandomClass.Next(1, 99);
- m_irc = null;
- m_ircWriter = null;
- m_ircReader = null;
- }
-
- public void Initialise(Scene scene)
- {
- m_scene = scene;
- m_scene.EventManager.OnNewClient += NewClient;
-
- m_scene.RegisterModuleInterface(this);
- }
-
- public void PostInitialise()
- {
- /*
- try
- {
- m_irc = new TcpClient(m_server, m_port);
- m_stream = m_irc.GetStream();
- m_ircReader = new StreamReader(m_stream);
- m_ircWriter = new StreamWriter(m_stream);
-
- pingSender = new Thread(new ThreadStart(this.PingRun));
- pingSender.Start();
-
- listener = new Thread(new ThreadStart(this.ListenerRun));
- listener.Start();
-
- m_ircWriter.WriteLine(m_user);
- m_ircWriter.Flush();
- m_ircWriter.WriteLine("NICK " + m_nick);
- m_ircWriter.Flush();
- m_ircWriter.WriteLine("JOIN " + m_channel);
- m_ircWriter.Flush();
- connected = true;
- }
- catch (Exception e)
- {
- Console.WriteLine(e.ToString());
- }
- */
- }
-
- public void Close()
- {
- m_ircWriter.Close();
- m_ircReader.Close();
- m_irc.Close();
- }
-
- public string Name
- {
- get { return "ChatModule"; }
- }
-
- public bool IsSharedModule
- {
- get { return false; }
- }
-
- public void NewClient(IClientAPI client)
- {
- client.OnChatFromViewer += SimChat;
- }
-
- public void PingRun()
- {
- while (true)
- {
- m_ircWriter.WriteLine("PING :" + m_server);
- m_ircWriter.Flush();
- Thread.Sleep(15000);
- }
- }
-
- public void ListenerRun()
- {
- string inputLine;
- LLVector3 pos = new LLVector3(128, 128, 20);
- while (true)
- {
- while ((inputLine = m_ircReader.ReadLine()) != null)
- {
- Console.WriteLine(inputLine);
- if (inputLine.Contains(m_channel))
- {
- string mess = inputLine.Substring(inputLine.IndexOf(m_channel));
- m_scene.Broadcast(delegate(IClientAPI client)
- {
- client.SendChatMessage(
- Helpers.StringToField(mess), 255, pos, "IRC:",
- LLUUID.Zero);
- });
- }
- }
- }
- }
-
- public void SimChat(byte[] message, byte type, int channel, LLVector3 fromPos, string fromName,
- LLUUID fromAgentID)
- {
- ScenePresence avatar = null;
- avatar = m_scene.GetScenePresence(fromAgentID);
- if (avatar != null)
- {
- fromPos = avatar.AbsolutePosition;
- fromName = avatar.Firstname + " " + avatar.Lastname;
- avatar = null;
- }
-
- if (connected)
- {
- m_ircWriter.WriteLine("PRIVMSG " + m_channel + " :" + "<" + fromName + ">: " +
- Util.FieldToString(message));
- m_ircWriter.Flush();
- }
-
- if (channel == 0)
- {
- m_scene.ForEachScenePresence(delegate(ScenePresence presence)
- {
- int dis = -1000;
-
- //err ??? the following code seems to be request a scenePresence when it already has a ref to it
- avatar = m_scene.GetScenePresence(presence.ControllingClient.AgentId);
- if (avatar != null)
- {
- dis = (int) avatar.AbsolutePosition.GetDistanceTo(fromPos);
- }
-
- switch (type)
- {
- case 0: // Whisper
- if ((dis < 10) && (dis > -10))
- {
- //should change so the message is sent through the avatar rather than direct to the ClientView
- presence.ControllingClient.SendChatMessage(message,
- type,
- fromPos,
- fromName,
- fromAgentID);
- }
- break;
- case 1: // Say
- if ((dis < 30) && (dis > -30))
- {
- //Console.WriteLine("sending chat");
- presence.ControllingClient.SendChatMessage(message,
- type,
- fromPos,
- fromName,
- fromAgentID);
- }
- break;
- case 2: // Shout
- if ((dis < 100) && (dis > -100))
- {
- presence.ControllingClient.SendChatMessage(message,
- type,
- fromPos,
- fromName,
- fromAgentID);
- }
- break;
-
- case 0xff: // Broadcast
- presence.ControllingClient.SendChatMessage(message, type,
- fromPos,
- fromName,
- fromAgentID);
- break;
- }
- });
- }
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using System;
+using System.IO;
+using System.Net.Sockets;
+using System.Threading;
+using libsecondlife;
+using OpenSim.Framework.Interfaces;
+using OpenSim.Framework.Utilities;
+using OpenSim.Region.Environment.Interfaces;
+using OpenSim.Region.Environment.Scenes;
+using Nini.Config;
+
+namespace OpenSim.Region.Environment.Modules
+{
+ public class ChatModule : IRegionModule, ISimChat
+ {
+ private Scene m_scene;
+
+ private string m_server = "irc2.choopa.net";
+
+ // private int m_port = 6668;
+ //private string m_user = "USER OpenSimBot 8 * :I'm a OpenSim to irc bot";
+ private string m_nick = "OSimBot";
+ private string m_channel = "#opensim";
+
+ // private NetworkStream m_stream;
+ private TcpClient m_irc;
+ private StreamWriter m_ircWriter;
+ private StreamReader m_ircReader;
+
+ // private Thread pingSender;
+ // private Thread listener;
+
+ private bool connected = false;
+
+ public ChatModule()
+ {
+ m_nick = "OSimBot" + Util.RandomClass.Next(1, 99);
+ m_irc = null;
+ m_ircWriter = null;
+ m_ircReader = null;
+ }
+
+ public void Initialise(Scene scene, IConfigSource config)
+ {
+ m_scene = scene;
+ m_scene.EventManager.OnNewClient += NewClient;
+
+ m_scene.RegisterModuleInterface(this);
+ }
+
+ public void PostInitialise()
+ {
+ /*
+ try
+ {
+ m_irc = new TcpClient(m_server, m_port);
+ m_stream = m_irc.GetStream();
+ m_ircReader = new StreamReader(m_stream);
+ m_ircWriter = new StreamWriter(m_stream);
+
+ pingSender = new Thread(new ThreadStart(this.PingRun));
+ pingSender.Start();
+
+ listener = new Thread(new ThreadStart(this.ListenerRun));
+ listener.Start();
+
+ m_ircWriter.WriteLine(m_user);
+ m_ircWriter.Flush();
+ m_ircWriter.WriteLine("NICK " + m_nick);
+ m_ircWriter.Flush();
+ m_ircWriter.WriteLine("JOIN " + m_channel);
+ m_ircWriter.Flush();
+ connected = true;
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine(e.ToString());
+ }
+ */
+ }
+
+ public void Close()
+ {
+ m_ircWriter.Close();
+ m_ircReader.Close();
+ m_irc.Close();
+ }
+
+ public string Name
+ {
+ get { return "ChatModule"; }
+ }
+
+ public bool IsSharedModule
+ {
+ get { return false; }
+ }
+
+ public void NewClient(IClientAPI client)
+ {
+ client.OnChatFromViewer += SimChat;
+ }
+
+ public void PingRun()
+ {
+ while (true)
+ {
+ m_ircWriter.WriteLine("PING :" + m_server);
+ m_ircWriter.Flush();
+ Thread.Sleep(15000);
+ }
+ }
+
+ public void ListenerRun()
+ {
+ string inputLine;
+ LLVector3 pos = new LLVector3(128, 128, 20);
+ while (true)
+ {
+ while ((inputLine = m_ircReader.ReadLine()) != null)
+ {
+ Console.WriteLine(inputLine);
+ if (inputLine.Contains(m_channel))
+ {
+ string mess = inputLine.Substring(inputLine.IndexOf(m_channel));
+ m_scene.Broadcast(delegate(IClientAPI client)
+ {
+ client.SendChatMessage(
+ Helpers.StringToField(mess), 255, pos, "IRC:",
+ LLUUID.Zero);
+ });
+ }
+ }
+ }
+ }
+
+ public void SimChat(byte[] message, byte type, int channel, LLVector3 fromPos, string fromName,
+ LLUUID fromAgentID)
+ {
+ ScenePresence avatar = null;
+ avatar = m_scene.GetScenePresence(fromAgentID);
+ if (avatar != null)
+ {
+ fromPos = avatar.AbsolutePosition;
+ fromName = avatar.Firstname + " " + avatar.Lastname;
+ avatar = null;
+ }
+
+ if (connected)
+ {
+ m_ircWriter.WriteLine("PRIVMSG " + m_channel + " :" + "<" + fromName + ">: " +
+ Util.FieldToString(message));
+ m_ircWriter.Flush();
+ }
+
+ if (channel == 0)
+ {
+ m_scene.ForEachScenePresence(delegate(ScenePresence presence)
+ {
+ int dis = -1000;
+
+ //err ??? the following code seems to be request a scenePresence when it already has a ref to it
+ avatar = m_scene.GetScenePresence(presence.ControllingClient.AgentId);
+ if (avatar != null)
+ {
+ dis = (int) avatar.AbsolutePosition.GetDistanceTo(fromPos);
+ }
+
+ switch (type)
+ {
+ case 0: // Whisper
+ if ((dis < 10) && (dis > -10))
+ {
+ //should change so the message is sent through the avatar rather than direct to the ClientView
+ presence.ControllingClient.SendChatMessage(message,
+ type,
+ fromPos,
+ fromName,
+ fromAgentID);
+ }
+ break;
+ case 1: // Say
+ if ((dis < 30) && (dis > -30))
+ {
+ //Console.WriteLine("sending chat");
+ presence.ControllingClient.SendChatMessage(message,
+ type,
+ fromPos,
+ fromName,
+ fromAgentID);
+ }
+ break;
+ case 2: // Shout
+ if ((dis < 100) && (dis > -100))
+ {
+ presence.ControllingClient.SendChatMessage(message,
+ type,
+ fromPos,
+ fromName,
+ fromAgentID);
+ }
+ break;
+
+ case 0xff: // Broadcast
+ presence.ControllingClient.SendChatMessage(message, type,
+ fromPos,
+ fromName,
+ fromAgentID);
+ break;
+ }
+ });
+ }
+ }
+ }
+}
diff --git a/OpenSim/Region/Environment/Modules/DynamicTextureModule.cs b/OpenSim/Region/Environment/Modules/DynamicTextureModule.cs
index e776717..4e29977 100644
--- a/OpenSim/Region/Environment/Modules/DynamicTextureModule.cs
+++ b/OpenSim/Region/Environment/Modules/DynamicTextureModule.cs
@@ -1,190 +1,191 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-using System;
-using System.Collections.Generic;
-using libsecondlife;
-using OpenSim.Framework.Types;
-using OpenSim.Framework.Utilities;
-using OpenSim.Region.Environment.Interfaces;
-using OpenSim.Region.Environment.Scenes;
-
-namespace OpenSim.Region.Environment.Modules
-{
- public class DynamicTextureModule : IRegionModule, IDynamicTextureManager
- {
- private Dictionary RegisteredScenes = new Dictionary();
-
- private Dictionary RenderPlugins =
- new Dictionary();
-
- private Dictionary Updaters = new Dictionary();
-
- public void Initialise(Scene scene)
- {
- if (!RegisteredScenes.ContainsKey(scene.RegionInfo.RegionID))
- {
- RegisteredScenes.Add(scene.RegionInfo.RegionID, scene);
- scene.RegisterModuleInterface(this);
- }
- }
-
- public void PostInitialise()
- {
- }
-
- public void Close()
- {
- }
-
- public string Name
- {
- get { return "DynamicTextureModule"; }
- }
-
- public bool IsSharedModule
- {
- get { return true; }
- }
-
- public void RegisterRender(string handleType, IDynamicTextureRender render)
- {
- if (!RenderPlugins.ContainsKey(handleType))
- {
- RenderPlugins.Add(handleType, render);
- }
- }
-
- public void ReturnData(LLUUID id, byte[] data)
- {
- if (Updaters.ContainsKey(id))
- {
- DynamicTextureUpdater updater = Updaters[id];
- if (RegisteredScenes.ContainsKey(updater.SimUUID))
- {
- Scene scene = RegisteredScenes[updater.SimUUID];
- updater.DataReceived(data, scene);
- }
- }
- }
-
- public LLUUID AddDynamicTextureURL(LLUUID simID, LLUUID primID, string contentType, string url,
- string extraParams, int updateTimer)
- {
- if (RenderPlugins.ContainsKey(contentType))
- {
- //Console.WriteLine("dynamic texture being created: " + url + " of type " + contentType);
-
- DynamicTextureUpdater updater = new DynamicTextureUpdater();
- updater.SimUUID = simID;
- updater.PrimID = primID;
- updater.ContentType = contentType;
- updater.Url = url;
- updater.UpdateTimer = updateTimer;
- updater.UpdaterID = LLUUID.Random();
- updater.Params = extraParams;
-
- if (!Updaters.ContainsKey(updater.UpdaterID))
- {
- Updaters.Add(updater.UpdaterID, updater);
- }
-
- RenderPlugins[contentType].AsyncConvertUrl(updater.UpdaterID, url, extraParams);
- return updater.UpdaterID;
- }
- return LLUUID.Zero;
- }
-
- public LLUUID AddDynamicTextureData(LLUUID simID, LLUUID primID, string contentType, string data,
- string extraParams, int updateTimer)
- {
- if (RenderPlugins.ContainsKey(contentType))
- {
- DynamicTextureUpdater updater = new DynamicTextureUpdater();
- updater.SimUUID = simID;
- updater.PrimID = primID;
- updater.ContentType = contentType;
- updater.BodyData = data;
- updater.UpdateTimer = updateTimer;
- updater.UpdaterID = LLUUID.Random();
- updater.Params = extraParams;
-
- if (!Updaters.ContainsKey(updater.UpdaterID))
- {
- Updaters.Add(updater.UpdaterID, updater);
- }
-
- RenderPlugins[contentType].AsyncConvertData(updater.UpdaterID, data, extraParams);
- return updater.UpdaterID;
- }
- return LLUUID.Zero;
- }
-
- public class DynamicTextureUpdater
- {
- public LLUUID SimUUID;
- public LLUUID UpdaterID;
- public string ContentType;
- public string Url;
- public string BodyData;
- public LLUUID PrimID;
- public int UpdateTimer;
- public LLUUID LastAssetID;
- public string Params;
-
- public DynamicTextureUpdater()
- {
- LastAssetID = LLUUID.Zero;
- UpdateTimer = 0;
- BodyData = null;
- }
-
- public void DataReceived(byte[] data, Scene scene)
- {
- //TODO delete the last asset(data), if it was a dynamic texture
- byte[] assetData = new byte[data.Length];
- Array.Copy(data, assetData, data.Length);
- AssetBase asset = new AssetBase();
- asset.FullID = LLUUID.Random();
- asset.Data = assetData;
- asset.Name = "DynamicImage" + Util.RandomClass.Next(1, 10000);
- asset.Type = 0;
- asset.Description = "dynamic image";
- asset.Local = false;
- asset.Temporary = false;
- scene.commsManager.AssetCache.AddAsset(asset);
-
- LastAssetID = asset.FullID;
-
- SceneObjectPart part = scene.GetSceneObjectPart(PrimID);
- part.Shape.TextureEntry = new LLObject.TextureEntry(asset.FullID).ToBytes();
- part.ScheduleFullUpdate();
- }
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using System;
+using System.Collections.Generic;
+using libsecondlife;
+using OpenSim.Framework.Types;
+using OpenSim.Framework.Utilities;
+using OpenSim.Region.Environment.Interfaces;
+using OpenSim.Region.Environment.Scenes;
+using Nini.Config;
+
+namespace OpenSim.Region.Environment.Modules
+{
+ public class DynamicTextureModule : IRegionModule, IDynamicTextureManager
+ {
+ private Dictionary RegisteredScenes = new Dictionary();
+
+ private Dictionary RenderPlugins =
+ new Dictionary();
+
+ private Dictionary Updaters = new Dictionary();
+
+ public void Initialise(Scene scene, IConfigSource config)
+ {
+ if (!RegisteredScenes.ContainsKey(scene.RegionInfo.RegionID))
+ {
+ RegisteredScenes.Add(scene.RegionInfo.RegionID, scene);
+ scene.RegisterModuleInterface(this);
+ }
+ }
+
+ public void PostInitialise()
+ {
+ }
+
+ public void Close()
+ {
+ }
+
+ public string Name
+ {
+ get { return "DynamicTextureModule"; }
+ }
+
+ public bool IsSharedModule
+ {
+ get { return true; }
+ }
+
+ public void RegisterRender(string handleType, IDynamicTextureRender render)
+ {
+ if (!RenderPlugins.ContainsKey(handleType))
+ {
+ RenderPlugins.Add(handleType, render);
+ }
+ }
+
+ public void ReturnData(LLUUID id, byte[] data)
+ {
+ if (Updaters.ContainsKey(id))
+ {
+ DynamicTextureUpdater updater = Updaters[id];
+ if (RegisteredScenes.ContainsKey(updater.SimUUID))
+ {
+ Scene scene = RegisteredScenes[updater.SimUUID];
+ updater.DataReceived(data, scene);
+ }
+ }
+ }
+
+ public LLUUID AddDynamicTextureURL(LLUUID simID, LLUUID primID, string contentType, string url,
+ string extraParams, int updateTimer)
+ {
+ if (RenderPlugins.ContainsKey(contentType))
+ {
+ //Console.WriteLine("dynamic texture being created: " + url + " of type " + contentType);
+
+ DynamicTextureUpdater updater = new DynamicTextureUpdater();
+ updater.SimUUID = simID;
+ updater.PrimID = primID;
+ updater.ContentType = contentType;
+ updater.Url = url;
+ updater.UpdateTimer = updateTimer;
+ updater.UpdaterID = LLUUID.Random();
+ updater.Params = extraParams;
+
+ if (!Updaters.ContainsKey(updater.UpdaterID))
+ {
+ Updaters.Add(updater.UpdaterID, updater);
+ }
+
+ RenderPlugins[contentType].AsyncConvertUrl(updater.UpdaterID, url, extraParams);
+ return updater.UpdaterID;
+ }
+ return LLUUID.Zero;
+ }
+
+ public LLUUID AddDynamicTextureData(LLUUID simID, LLUUID primID, string contentType, string data,
+ string extraParams, int updateTimer)
+ {
+ if (RenderPlugins.ContainsKey(contentType))
+ {
+ DynamicTextureUpdater updater = new DynamicTextureUpdater();
+ updater.SimUUID = simID;
+ updater.PrimID = primID;
+ updater.ContentType = contentType;
+ updater.BodyData = data;
+ updater.UpdateTimer = updateTimer;
+ updater.UpdaterID = LLUUID.Random();
+ updater.Params = extraParams;
+
+ if (!Updaters.ContainsKey(updater.UpdaterID))
+ {
+ Updaters.Add(updater.UpdaterID, updater);
+ }
+
+ RenderPlugins[contentType].AsyncConvertData(updater.UpdaterID, data, extraParams);
+ return updater.UpdaterID;
+ }
+ return LLUUID.Zero;
+ }
+
+ public class DynamicTextureUpdater
+ {
+ public LLUUID SimUUID;
+ public LLUUID UpdaterID;
+ public string ContentType;
+ public string Url;
+ public string BodyData;
+ public LLUUID PrimID;
+ public int UpdateTimer;
+ public LLUUID LastAssetID;
+ public string Params;
+
+ public DynamicTextureUpdater()
+ {
+ LastAssetID = LLUUID.Zero;
+ UpdateTimer = 0;
+ BodyData = null;
+ }
+
+ public void DataReceived(byte[] data, Scene scene)
+ {
+ //TODO delete the last asset(data), if it was a dynamic texture
+ byte[] assetData = new byte[data.Length];
+ Array.Copy(data, assetData, data.Length);
+ AssetBase asset = new AssetBase();
+ asset.FullID = LLUUID.Random();
+ asset.Data = assetData;
+ asset.Name = "DynamicImage" + Util.RandomClass.Next(1, 10000);
+ asset.Type = 0;
+ asset.Description = "dynamic image";
+ asset.Local = false;
+ asset.Temporary = false;
+ scene.commsManager.AssetCache.AddAsset(asset);
+
+ LastAssetID = asset.FullID;
+
+ SceneObjectPart part = scene.GetSceneObjectPart(PrimID);
+ part.Shape.TextureEntry = new LLObject.TextureEntry(asset.FullID).ToBytes();
+ part.ScheduleFullUpdate();
+ }
+ }
+ }
+}
diff --git a/OpenSim/Region/Environment/Modules/FriendsModule.cs b/OpenSim/Region/Environment/Modules/FriendsModule.cs
index 1b51d9e..9144bee 100644
--- a/OpenSim/Region/Environment/Modules/FriendsModule.cs
+++ b/OpenSim/Region/Environment/Modules/FriendsModule.cs
@@ -1,61 +1,62 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-using OpenSim.Region.Environment.Interfaces;
-using OpenSim.Region.Environment.Scenes;
-
-namespace OpenSim.Region.Environment.Modules
-{
- public class FriendsModule : IRegionModule
- {
- private Scene m_scene;
-
- public void Initialise(Scene scene)
- {
- m_scene = scene;
- }
-
- public void PostInitialise()
- {
- }
-
- public void Close()
- {
- }
-
- public string Name
- {
- get { return "FriendsModule"; }
- }
-
- public bool IsSharedModule
- {
- get { return false; }
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using OpenSim.Region.Environment.Interfaces;
+using OpenSim.Region.Environment.Scenes;
+using Nini.Config;
+
+namespace OpenSim.Region.Environment.Modules
+{
+ public class FriendsModule : IRegionModule
+ {
+ private Scene m_scene;
+
+ public void Initialise(Scene scene, IConfigSource config)
+ {
+ m_scene = scene;
+ }
+
+ public void PostInitialise()
+ {
+ }
+
+ public void Close()
+ {
+ }
+
+ public string Name
+ {
+ get { return "FriendsModule"; }
+ }
+
+ public bool IsSharedModule
+ {
+ get { return false; }
+ }
+ }
+}
diff --git a/OpenSim/Region/Environment/Modules/GroupsModule.cs b/OpenSim/Region/Environment/Modules/GroupsModule.cs
index a024ccd..150f294 100644
--- a/OpenSim/Region/Environment/Modules/GroupsModule.cs
+++ b/OpenSim/Region/Environment/Modules/GroupsModule.cs
@@ -1,61 +1,62 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-using OpenSim.Region.Environment.Interfaces;
-using OpenSim.Region.Environment.Scenes;
-
-namespace OpenSim.Region.Environment.Modules
-{
- public class GroupsModule : IRegionModule
- {
- private Scene m_scene;
-
- public void Initialise(Scene scene)
- {
- m_scene = scene;
- }
-
- public void PostInitialise()
- {
- }
-
- public void Close()
- {
- }
-
- public string Name
- {
- get { return "GroupsModule"; }
- }
-
- public bool IsSharedModule
- {
- get { return false; }
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using OpenSim.Region.Environment.Interfaces;
+using OpenSim.Region.Environment.Scenes;
+using Nini.Config;
+
+namespace OpenSim.Region.Environment.Modules
+{
+ public class GroupsModule : IRegionModule
+ {
+ private Scene m_scene;
+
+ public void Initialise(Scene scene, IConfigSource config)
+ {
+ m_scene = scene;
+ }
+
+ public void PostInitialise()
+ {
+ }
+
+ public void Close()
+ {
+ }
+
+ public string Name
+ {
+ get { return "GroupsModule"; }
+ }
+
+ public bool IsSharedModule
+ {
+ get { return false; }
+ }
+ }
+}
diff --git a/OpenSim/Region/Environment/Modules/InstantMessageModule.cs b/OpenSim/Region/Environment/Modules/InstantMessageModule.cs
index dbd2434..7c4e2c8 100644
--- a/OpenSim/Region/Environment/Modules/InstantMessageModule.cs
+++ b/OpenSim/Region/Environment/Modules/InstantMessageModule.cs
@@ -1,100 +1,101 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-using System.Collections.Generic;
-using OpenSim.Region.Environment.Interfaces;
-using OpenSim.Region.Environment.Scenes;
-using OpenSim.Framework.Console;
-
-namespace OpenSim.Region.Environment.Modules
-{
- public class InstantMessageModule : IRegionModule
- {
- private List m_scenes = new List();
- private LogBase m_log;
-
- public void Initialise(Scene scene)
- {
- if (!m_scenes.Contains(scene))
- {
- m_scenes.Add(scene);
-
- scene.EventManager.OnNewClient += OnNewClient;
- m_log = OpenSim.Framework.Console.MainLog.Instance;
- }
- }
-
- void OnNewClient(OpenSim.Framework.Interfaces.IClientAPI client)
- {
- client.OnInstantMessage += OnInstantMessage;
- }
-
- void OnInstantMessage(libsecondlife.LLUUID fromAgentID,
- libsecondlife.LLUUID fromAgentSession, libsecondlife.LLUUID toAgentID,
- libsecondlife.LLUUID imSessionID, uint timestamp, string fromAgentName,
- string message, byte dialog)
- {
- // TODO: Remove after debugging. Privacy implications.
- m_log.Verbose("IM",fromAgentName + ": " + message);
-
- foreach (Scene m_scene in m_scenes)
- {
- if (m_scene.Entities.ContainsKey(toAgentID) && m_scene.Entities[toAgentID] is ScenePresence)
- {
- // Local Message
- ScenePresence user = (ScenePresence)m_scene.Entities[toAgentID];
- user.ControllingClient.SendInstantMessage(fromAgentID, fromAgentSession, message,
- toAgentID, imSessionID, user.Firstname + " " + user.Lastname, dialog, timestamp);
-
- // Message sent
- return;
- }
- }
-
- // Still here, try send via Grid
- }
-
- public void PostInitialise()
- {
- }
-
- public void Close()
- {
- }
-
- public string Name
- {
- get { return "InstantMessageModule"; }
- }
-
- public bool IsSharedModule
- {
- get { return true; }
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using System.Collections.Generic;
+using OpenSim.Region.Environment.Interfaces;
+using OpenSim.Region.Environment.Scenes;
+using OpenSim.Framework.Console;
+using Nini.Config;
+
+namespace OpenSim.Region.Environment.Modules
+{
+ public class InstantMessageModule : IRegionModule
+ {
+ private List m_scenes = new List();
+ private LogBase m_log;
+
+ public void Initialise(Scene scene, IConfigSource config)
+ {
+ if (!m_scenes.Contains(scene))
+ {
+ m_scenes.Add(scene);
+
+ scene.EventManager.OnNewClient += OnNewClient;
+ m_log = OpenSim.Framework.Console.MainLog.Instance;
+ }
+ }
+
+ void OnNewClient(OpenSim.Framework.Interfaces.IClientAPI client)
+ {
+ client.OnInstantMessage += OnInstantMessage;
+ }
+
+ void OnInstantMessage(libsecondlife.LLUUID fromAgentID,
+ libsecondlife.LLUUID fromAgentSession, libsecondlife.LLUUID toAgentID,
+ libsecondlife.LLUUID imSessionID, uint timestamp, string fromAgentName,
+ string message, byte dialog)
+ {
+ // TODO: Remove after debugging. Privacy implications.
+ m_log.Verbose("IM",fromAgentName + ": " + message);
+
+ foreach (Scene m_scene in m_scenes)
+ {
+ if (m_scene.Entities.ContainsKey(toAgentID) && m_scene.Entities[toAgentID] is ScenePresence)
+ {
+ // Local Message
+ ScenePresence user = (ScenePresence)m_scene.Entities[toAgentID];
+ user.ControllingClient.SendInstantMessage(fromAgentID, fromAgentSession, message,
+ toAgentID, imSessionID, user.Firstname + " " + user.Lastname, dialog, timestamp);
+
+ // Message sent
+ return;
+ }
+ }
+
+ // Still here, try send via Grid
+ }
+
+ public void PostInitialise()
+ {
+ }
+
+ public void Close()
+ {
+ }
+
+ public string Name
+ {
+ get { return "InstantMessageModule"; }
+ }
+
+ public bool IsSharedModule
+ {
+ get { return true; }
+ }
+ }
+}
diff --git a/OpenSim/Region/Environment/Modules/InventoryModule.cs b/OpenSim/Region/Environment/Modules/InventoryModule.cs
index d3b90c2..3f8cd6e 100644
--- a/OpenSim/Region/Environment/Modules/InventoryModule.cs
+++ b/OpenSim/Region/Environment/Modules/InventoryModule.cs
@@ -1,61 +1,62 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-using OpenSim.Region.Environment.Interfaces;
-using OpenSim.Region.Environment.Scenes;
-
-namespace OpenSim.Region.Environment.Modules
-{
- public class InventoryModule : IRegionModule
- {
- private Scene m_scene;
-
- public void Initialise(Scene scene)
- {
- m_scene = scene;
- }
-
- public void PostInitialise()
- {
- }
-
- public void Close()
- {
- }
-
- public string Name
- {
- get { return "InventoryModule"; }
- }
-
- public bool IsSharedModule
- {
- get { return false; }
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using OpenSim.Region.Environment.Interfaces;
+using OpenSim.Region.Environment.Scenes;
+using Nini.Config;
+
+namespace OpenSim.Region.Environment.Modules
+{
+ public class InventoryModule : IRegionModule
+ {
+ private Scene m_scene;
+
+ public void Initialise(Scene scene, IConfigSource config)
+ {
+ m_scene = scene;
+ }
+
+ public void PostInitialise()
+ {
+ }
+
+ public void Close()
+ {
+ }
+
+ public string Name
+ {
+ get { return "InventoryModule"; }
+ }
+
+ public bool IsSharedModule
+ {
+ get { return false; }
+ }
+ }
+}
diff --git a/OpenSim/Region/Environment/Modules/LoadImageURLModule.cs b/OpenSim/Region/Environment/Modules/LoadImageURLModule.cs
index f1f479d..8b8b386 100644
--- a/OpenSim/Region/Environment/Modules/LoadImageURLModule.cs
+++ b/OpenSim/Region/Environment/Modules/LoadImageURLModule.cs
@@ -1,123 +1,124 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Net;
-using System.IO;
-using System.Drawing;
-using libsecondlife;
-using OpenJPEGNet;
-using OpenSim.Region.Environment.Scenes;
-using OpenSim.Region.Environment.Interfaces;
-
-namespace OpenSim.Region.Environment.Modules
-{
- public class LoadImageURLModule : IRegionModule , IDynamicTextureRender
- {
- private string m_name = "LoadImageURL";
- private IDynamicTextureManager m_textureManager;
- private Scene m_scene;
-
- public void Initialise(Scene scene)
- {
- if (m_scene == null)
- {
- m_scene = scene;
- }
- }
-
- public void PostInitialise()
- {
- m_textureManager = m_scene.RequestModuleInterface();
- m_textureManager.RegisterRender(GetContentType(), this);
- }
-
- public void Close()
- {
- }
-
- public string Name
- {
- get { return m_name; }
- }
-
- public bool IsSharedModule
- {
- get { return true; }
- }
-
- public string GetName()
- {
- return m_name;
- }
-
- public string GetContentType()
- {
- return ("image");
- }
-
- public bool SupportsAsynchronous()
- {
- return true;
- }
-
- public byte[] ConvertUrl(string url, string extraParams)
- {
- return null;
- }
-
- public byte[] ConvertStream(Stream data, string extraParams)
- {
- return null;
- }
-
- public bool AsyncConvertUrl(LLUUID id, string url, string extraParams)
- {
- MakeHttpRequest(url, id);
- return true;
- }
-
- public bool AsyncConvertData(LLUUID id, string bodyData, string extraParams)
- {
- return false;
- }
-
- private void MakeHttpRequest(string url, LLUUID requestID)
- {
- WebRequest request = HttpWebRequest.Create(url);
- RequestState state = new RequestState((HttpWebRequest)request, requestID);
- IAsyncResult result = request.BeginGetResponse(new AsyncCallback(HttpRequestReturn), state);
-
- TimeSpan t = (DateTime.UtcNow - new DateTime(1970, 1, 1));
- state.TimeOfRequest = (int)t.TotalSeconds;
- }
-
- private void HttpRequestReturn(IAsyncResult result)
- {
- RequestState state = (RequestState)result.AsyncState;
- WebRequest request = (WebRequest)state.Request;
- HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(result);
- if (response.StatusCode == HttpStatusCode.OK)
- {
- Bitmap image = new Bitmap(response.GetResponseStream());
- Bitmap resize = new Bitmap(image, new Size(512, 512));
- byte[] imageJ2000 = OpenJPEG.EncodeFromImage(resize, true);
-
- m_textureManager.ReturnData(state.RequestID, imageJ2000);
- }
- }
-
- public class RequestState
- {
- public HttpWebRequest Request = null;
- public LLUUID RequestID = LLUUID.Zero;
- public int TimeOfRequest = 0;
-
- public RequestState(HttpWebRequest request, LLUUID requestID)
- {
- Request = request;
- RequestID = requestID;
- }
- }
-
- }
-}
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Net;
+using System.IO;
+using System.Drawing;
+using libsecondlife;
+using OpenJPEGNet;
+using OpenSim.Region.Environment.Scenes;
+using OpenSim.Region.Environment.Interfaces;
+using Nini.Config;
+
+namespace OpenSim.Region.Environment.Modules
+{
+ public class LoadImageURLModule : IRegionModule , IDynamicTextureRender
+ {
+ private string m_name = "LoadImageURL";
+ private IDynamicTextureManager m_textureManager;
+ private Scene m_scene;
+
+ public void Initialise(Scene scene, IConfigSource config)
+ {
+ if (m_scene == null)
+ {
+ m_scene = scene;
+ }
+ }
+
+ public void PostInitialise()
+ {
+ m_textureManager = m_scene.RequestModuleInterface();
+ m_textureManager.RegisterRender(GetContentType(), this);
+ }
+
+ public void Close()
+ {
+ }
+
+ public string Name
+ {
+ get { return m_name; }
+ }
+
+ public bool IsSharedModule
+ {
+ get { return true; }
+ }
+
+ public string GetName()
+ {
+ return m_name;
+ }
+
+ public string GetContentType()
+ {
+ return ("image");
+ }
+
+ public bool SupportsAsynchronous()
+ {
+ return true;
+ }
+
+ public byte[] ConvertUrl(string url, string extraParams)
+ {
+ return null;
+ }
+
+ public byte[] ConvertStream(Stream data, string extraParams)
+ {
+ return null;
+ }
+
+ public bool AsyncConvertUrl(LLUUID id, string url, string extraParams)
+ {
+ MakeHttpRequest(url, id);
+ return true;
+ }
+
+ public bool AsyncConvertData(LLUUID id, string bodyData, string extraParams)
+ {
+ return false;
+ }
+
+ private void MakeHttpRequest(string url, LLUUID requestID)
+ {
+ WebRequest request = HttpWebRequest.Create(url);
+ RequestState state = new RequestState((HttpWebRequest)request, requestID);
+ IAsyncResult result = request.BeginGetResponse(new AsyncCallback(HttpRequestReturn), state);
+
+ TimeSpan t = (DateTime.UtcNow - new DateTime(1970, 1, 1));
+ state.TimeOfRequest = (int)t.TotalSeconds;
+ }
+
+ private void HttpRequestReturn(IAsyncResult result)
+ {
+ RequestState state = (RequestState)result.AsyncState;
+ WebRequest request = (WebRequest)state.Request;
+ HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(result);
+ if (response.StatusCode == HttpStatusCode.OK)
+ {
+ Bitmap image = new Bitmap(response.GetResponseStream());
+ Bitmap resize = new Bitmap(image, new Size(512, 512));
+ byte[] imageJ2000 = OpenJPEG.EncodeFromImage(resize, true);
+
+ m_textureManager.ReturnData(state.RequestID, imageJ2000);
+ }
+ }
+
+ public class RequestState
+ {
+ public HttpWebRequest Request = null;
+ public LLUUID RequestID = LLUUID.Zero;
+ public int TimeOfRequest = 0;
+
+ public RequestState(HttpWebRequest request, LLUUID requestID)
+ {
+ Request = request;
+ RequestID = requestID;
+ }
+ }
+
+ }
+}
diff --git a/OpenSim/Region/Environment/Modules/TextureDownloadModule.cs b/OpenSim/Region/Environment/Modules/TextureDownloadModule.cs
index 2531265..d3297c8 100644
--- a/OpenSim/Region/Environment/Modules/TextureDownloadModule.cs
+++ b/OpenSim/Region/Environment/Modules/TextureDownloadModule.cs
@@ -1,76 +1,77 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-using libsecondlife;
-using OpenSim.Framework.Interfaces;
-using OpenSim.Region.Environment.Interfaces;
-using OpenSim.Region.Environment.Scenes;
-
-namespace OpenSim.Region.Environment.Modules
-{
- public class TextureDownloadModule : IRegionModule
- {
- private Scene m_scene;
-
- public TextureDownloadModule()
- {
- }
-
- public void Initialise(Scene scene)
- {
- m_scene = scene;
- m_scene.EventManager.OnNewClient += NewClient;
- }
-
- public void PostInitialise()
- {
- }
-
- public void Close()
- {
- }
-
- public string Name
- {
- get { return "TextureDownloadModule"; }
- }
-
- public bool IsSharedModule
- {
- get { return false; }
- }
-
- public void NewClient(IClientAPI client)
- {
- }
-
- public void TextureAssetCallback(LLUUID texture, byte[] data)
- {
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using libsecondlife;
+using OpenSim.Framework.Interfaces;
+using OpenSim.Region.Environment.Interfaces;
+using OpenSim.Region.Environment.Scenes;
+using Nini.Config;
+
+namespace OpenSim.Region.Environment.Modules
+{
+ public class TextureDownloadModule : IRegionModule
+ {
+ private Scene m_scene;
+
+ public TextureDownloadModule()
+ {
+ }
+
+ public void Initialise(Scene scene, IConfigSource config)
+ {
+ m_scene = scene;
+ m_scene.EventManager.OnNewClient += NewClient;
+ }
+
+ public void PostInitialise()
+ {
+ }
+
+ public void Close()
+ {
+ }
+
+ public string Name
+ {
+ get { return "TextureDownloadModule"; }
+ }
+
+ public bool IsSharedModule
+ {
+ get { return false; }
+ }
+
+ public void NewClient(IClientAPI client)
+ {
+ }
+
+ public void TextureAssetCallback(LLUUID texture, byte[] data)
+ {
+ }
+ }
+}
diff --git a/OpenSim/Region/Environment/Modules/WorldCommModule.cs b/OpenSim/Region/Environment/Modules/WorldCommModule.cs
index 994d07e..765f1b4 100644
--- a/OpenSim/Region/Environment/Modules/WorldCommModule.cs
+++ b/OpenSim/Region/Environment/Modules/WorldCommModule.cs
@@ -40,6 +40,7 @@ using OpenSim.Framework.Servers;
using Nwc.XmlRpc;
using System.Collections;
using System.Collections.Generic;
+using Nini.Config;
/*****************************************************
*
@@ -84,7 +85,7 @@ namespace OpenSim.Region.Environment.Modules
{
}
- public void Initialise(Scene scene)
+ public void Initialise(Scene scene, IConfigSource config)
{
m_scene = scene;
diff --git a/OpenSim/Region/Environment/Modules/XMLRPCModule.cs b/OpenSim/Region/Environment/Modules/XMLRPCModule.cs
index 941d3c1..3a5b3c6 100644
--- a/OpenSim/Region/Environment/Modules/XMLRPCModule.cs
+++ b/OpenSim/Region/Environment/Modules/XMLRPCModule.cs
@@ -39,6 +39,7 @@ using OpenSim.Framework.Servers;
using Nwc.XmlRpc;
using System.Collections;
using System.Collections.Generic;
+using Nini.Config;
/*****************************************************
*
@@ -93,7 +94,7 @@ namespace OpenSim.Region.Environment.Modules
{
}
- public void Initialise(Scene scene)
+ public void Initialise(Scene scene, IConfigSource config)
{
m_scene = scene;
diff --git a/OpenSim/Region/Environment/Modules/XferModule.cs b/OpenSim/Region/Environment/Modules/XferModule.cs
index 7bc831f..2adb1c9 100644
--- a/OpenSim/Region/Environment/Modules/XferModule.cs
+++ b/OpenSim/Region/Environment/Modules/XferModule.cs
@@ -1,201 +1,202 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-using System;
-using System.Collections.Generic;
-using libsecondlife;
-using OpenSim.Framework.Interfaces;
-using OpenSim.Region.Environment.Interfaces;
-using OpenSim.Region.Environment.Scenes;
-
-namespace OpenSim.Region.Environment.Modules
-{
- public class XferModule : IRegionModule, IXfer
- {
- public Dictionary NewFiles = new Dictionary();
- public Dictionary Transfers = new Dictionary();
-
- private Scene m_scene;
-
- public XferModule()
- {
- }
-
- public void Initialise(Scene scene)
- {
- m_scene = scene;
- m_scene.EventManager.OnNewClient += NewClient;
-
- m_scene.RegisterModuleInterface(this);
- }
-
- public void PostInitialise()
- {
- }
-
- public void Close()
- {
- }
-
- public string Name
- {
- get { return "XferModule"; }
- }
-
- public bool IsSharedModule
- {
- get { return false; }
- }
-
- public void NewClient(IClientAPI client)
- {
- client.OnRequestXfer += RequestXfer;
- client.OnConfirmXfer += AckPacket;
- }
-
- ///
- ///
- ///
- ///
- ///
- ///
- public void RequestXfer(IClientAPI remoteClient, ulong xferID, string fileName)
- {
- lock (NewFiles)
- {
- if (NewFiles.ContainsKey(fileName))
- {
- if (!Transfers.ContainsKey(xferID))
- {
- byte[] fileData = NewFiles[fileName];
- XferDownLoad transaction = new XferDownLoad(fileName, fileData, xferID, remoteClient);
- Transfers.Add(xferID, transaction);
- NewFiles.Remove(fileName);
- transaction.StartSend();
- }
- }
- }
- }
-
- public void AckPacket(IClientAPI remoteClient, ulong xferID, uint packet)
- {
- if (Transfers.ContainsKey(xferID))
- {
- Transfers[xferID].AckPacket(packet);
- }
- }
-
- public bool AddNewFile(string fileName, byte[] data)
- {
- lock (NewFiles)
- {
- if (NewFiles.ContainsKey(fileName))
- {
- NewFiles[fileName] = data;
- }
- else
- {
- NewFiles.Add(fileName, data);
- }
- }
- return true;
- }
-
-
- public class XferDownLoad
- {
- public byte[] Data = new byte[0];
- public string FileName = "";
- public ulong XferID = 0;
- public int DataPointer = 0;
- public uint Packet = 0;
- public IClientAPI Client;
- public uint Serial = 1;
- private bool complete = false;
-
- public XferDownLoad(string fileName, byte[] data, ulong xferID, IClientAPI client)
- {
- FileName = fileName;
- Data = data;
- XferID = xferID;
- Client = client;
- }
-
- public XferDownLoad()
- {
- }
-
- public void StartSend()
- {
- if (Data.Length < 1000)
- {
- // for now (testing ) we only support files under 1000 bytes
- byte[] transferData = new byte[Data.Length + 4];
- Array.Copy(Helpers.IntToBytes(Data.Length), 0, transferData, 0, 4);
- Array.Copy(Data, 0, transferData, 4, Data.Length);
- Client.SendXferPacket(XferID, 0 + 0x80000000, transferData);
- complete = true;
- }
- else
- {
- byte[] transferData = new byte[1000 + 4];
- Array.Copy(Helpers.IntToBytes(Data.Length), 0, transferData, 0, 4);
- Array.Copy(Data, 0, transferData, 4, 1000);
- Client.SendXferPacket(XferID, 0, transferData);
- Packet++;
- DataPointer = 1000;
- }
- }
-
- public void AckPacket(uint packet)
- {
- if (!complete)
- {
- if ((Data.Length - DataPointer) > 1000)
- {
- byte[] transferData = new byte[1000];
- Array.Copy(Data, DataPointer, transferData, 0, 1000);
- Client.SendXferPacket(XferID, Packet, transferData);
- Packet++;
- DataPointer += 1000;
- }
- else
- {
- byte[] transferData = new byte[Data.Length - DataPointer];
- Array.Copy(Data, DataPointer, transferData, 0, Data.Length - DataPointer);
- uint endPacket = Packet |= (uint) 0x80000000;
- Client.SendXferPacket(XferID, endPacket, transferData);
- Packet++;
- DataPointer += (Data.Length - DataPointer);
- complete = true;
- }
- }
- }
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using System;
+using System.Collections.Generic;
+using libsecondlife;
+using OpenSim.Framework.Interfaces;
+using OpenSim.Region.Environment.Interfaces;
+using OpenSim.Region.Environment.Scenes;
+using Nini.Config;
+
+namespace OpenSim.Region.Environment.Modules
+{
+ public class XferModule : IRegionModule, IXfer
+ {
+ public Dictionary NewFiles = new Dictionary();
+ public Dictionary Transfers = new Dictionary();
+
+ private Scene m_scene;
+
+ public XferModule()
+ {
+ }
+
+ public void Initialise(Scene scene, IConfigSource config)
+ {
+ m_scene = scene;
+ m_scene.EventManager.OnNewClient += NewClient;
+
+ m_scene.RegisterModuleInterface(this);
+ }
+
+ public void PostInitialise()
+ {
+ }
+
+ public void Close()
+ {
+ }
+
+ public string Name
+ {
+ get { return "XferModule"; }
+ }
+
+ public bool IsSharedModule
+ {
+ get { return false; }
+ }
+
+ public void NewClient(IClientAPI client)
+ {
+ client.OnRequestXfer += RequestXfer;
+ client.OnConfirmXfer += AckPacket;
+ }
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public void RequestXfer(IClientAPI remoteClient, ulong xferID, string fileName)
+ {
+ lock (NewFiles)
+ {
+ if (NewFiles.ContainsKey(fileName))
+ {
+ if (!Transfers.ContainsKey(xferID))
+ {
+ byte[] fileData = NewFiles[fileName];
+ XferDownLoad transaction = new XferDownLoad(fileName, fileData, xferID, remoteClient);
+ Transfers.Add(xferID, transaction);
+ NewFiles.Remove(fileName);
+ transaction.StartSend();
+ }
+ }
+ }
+ }
+
+ public void AckPacket(IClientAPI remoteClient, ulong xferID, uint packet)
+ {
+ if (Transfers.ContainsKey(xferID))
+ {
+ Transfers[xferID].AckPacket(packet);
+ }
+ }
+
+ public bool AddNewFile(string fileName, byte[] data)
+ {
+ lock (NewFiles)
+ {
+ if (NewFiles.ContainsKey(fileName))
+ {
+ NewFiles[fileName] = data;
+ }
+ else
+ {
+ NewFiles.Add(fileName, data);
+ }
+ }
+ return true;
+ }
+
+
+ public class XferDownLoad
+ {
+ public byte[] Data = new byte[0];
+ public string FileName = "";
+ public ulong XferID = 0;
+ public int DataPointer = 0;
+ public uint Packet = 0;
+ public IClientAPI Client;
+ public uint Serial = 1;
+ private bool complete = false;
+
+ public XferDownLoad(string fileName, byte[] data, ulong xferID, IClientAPI client)
+ {
+ FileName = fileName;
+ Data = data;
+ XferID = xferID;
+ Client = client;
+ }
+
+ public XferDownLoad()
+ {
+ }
+
+ public void StartSend()
+ {
+ if (Data.Length < 1000)
+ {
+ // for now (testing ) we only support files under 1000 bytes
+ byte[] transferData = new byte[Data.Length + 4];
+ Array.Copy(Helpers.IntToBytes(Data.Length), 0, transferData, 0, 4);
+ Array.Copy(Data, 0, transferData, 4, Data.Length);
+ Client.SendXferPacket(XferID, 0 + 0x80000000, transferData);
+ complete = true;
+ }
+ else
+ {
+ byte[] transferData = new byte[1000 + 4];
+ Array.Copy(Helpers.IntToBytes(Data.Length), 0, transferData, 0, 4);
+ Array.Copy(Data, 0, transferData, 4, 1000);
+ Client.SendXferPacket(XferID, 0, transferData);
+ Packet++;
+ DataPointer = 1000;
+ }
+ }
+
+ public void AckPacket(uint packet)
+ {
+ if (!complete)
+ {
+ if ((Data.Length - DataPointer) > 1000)
+ {
+ byte[] transferData = new byte[1000];
+ Array.Copy(Data, DataPointer, transferData, 0, 1000);
+ Client.SendXferPacket(XferID, Packet, transferData);
+ Packet++;
+ DataPointer += 1000;
+ }
+ else
+ {
+ byte[] transferData = new byte[Data.Length - DataPointer];
+ Array.Copy(Data, DataPointer, transferData, 0, Data.Length - DataPointer);
+ uint endPacket = Packet |= (uint) 0x80000000;
+ Client.SendXferPacket(XferID, endPacket, transferData);
+ Packet++;
+ DataPointer += (Data.Length - DataPointer);
+ complete = true;
+ }
+ }
+ }
+ }
+ }
+}
--
cgit v1.1