From 3bda7711b3998d21d0ce78d99273f83d6ee73991 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Thu, 7 Jul 2011 23:49:19 +0100
Subject: Switch the MeshUploadFlag CAP module on and off with the existing
config AllowMeshUpload flag in [Mesh] (in OpenSimDefaults.ini)
Default is on.
---
.../Linden/Caps/MeshUploadFlagModule.cs | 49 +++++++++++++++-------
1 file changed, 35 insertions(+), 14 deletions(-)
(limited to 'OpenSim/Region')
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/MeshUploadFlagModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/MeshUploadFlagModule.cs
index 2d15ca5..c9d7ae1 100644
--- a/OpenSim/Region/ClientStack/Linden/Caps/MeshUploadFlagModule.cs
+++ b/OpenSim/Region/ClientStack/Linden/Caps/MeshUploadFlagModule.cs
@@ -45,33 +45,54 @@ namespace OpenSim.Region.ClientStack.Linden
///
/// MeshUploadFlag capability. This is required for uploading Mesh.
///
- ///
[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")]
public class MeshUploadFlagModule : INonSharedRegionModule
{
private static readonly ILog m_log =
LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
+
+ ///
+ /// Is this module enabled?
+ ///
+ public bool Enabled { get; private set; }
+
private Scene m_scene;
private UUID m_agentID;
-
#region ISharedRegionModule Members
+ public MeshUploadFlagModule()
+ {
+ Enabled = true;
+ }
+
public void Initialise(IConfigSource source)
{
- IConfig config = source.Configs["MeshUploadFlag"];
+ IConfig config = source.Configs["Mesh"];
if (config == null)
+ {
return;
+ }
+ else
+ {
+ Enabled = config.GetBoolean("AllowMeshUpload", Enabled);
+ }
}
public void AddRegion(Scene s)
{
+ if (!Enabled)
+ return;
+
m_scene = s;
m_scene.EventManager.OnRegisterCaps += RegisterCaps;
}
public void RemoveRegion(Scene s)
{
+ if (!Enabled)
+ return;
+
m_scene.EventManager.OnRegisterCaps -= RegisterCaps;
}
@@ -98,22 +119,23 @@ namespace OpenSim.Region.ClientStack.Linden
{
IRequestHandler reqHandler = new RestHTTPHandler("GET", "/CAPS/" + UUID.Random(), MeshUploadFlag);
caps.RegisterHandler("MeshUploadFlag", reqHandler);
- m_agentID = agentID;
+ m_agentID = agentID;
}
private Hashtable MeshUploadFlag(Hashtable mDhttpMethod)
{
m_log.DebugFormat("[SIMULATOR FEATURES MODULE]: MeshUploadFlag request");
+
OSDMap data = new OSDMap();
- ScenePresence sp = m_scene.GetScenePresence(m_agentID);
- data["username"] = sp.Firstname + "." + sp.Lastname;
- data["display_name_next_update"] = new OSDDate(DateTime.Now);
- data["legacy_first_name"] = sp.Firstname;
- data["mesh_upload_status"] = "valid";
- data["display_name"] = sp.Firstname + " " + sp.Lastname;
- data["legacy_last_name"] = sp.Lastname;
- data["id"] = m_agentID;
- data["is_display_name_default"] = true;
+ ScenePresence sp = m_scene.GetScenePresence(m_agentID);
+ data["username"] = sp.Firstname + "." + sp.Lastname;
+ data["display_name_next_update"] = new OSDDate(DateTime.Now);
+ data["legacy_first_name"] = sp.Firstname;
+ data["mesh_upload_status"] = "valid";
+ data["display_name"] = sp.Firstname + " " + sp.Lastname;
+ data["legacy_last_name"] = sp.Lastname;
+ data["id"] = m_agentID;
+ data["is_display_name_default"] = true;
//Send back data
Hashtable responsedata = new Hashtable();
@@ -123,6 +145,5 @@ namespace OpenSim.Region.ClientStack.Linden
responsedata["str_response_string"] = OSDParser.SerializeLLSDXmlString(data);
return responsedata;
}
-
}
}
\ No newline at end of file
--
cgit v1.1