diff --git a/OpenSim/Region/Environment/Interfaces/IDynamicTextureManager.cs b/OpenSim/Region/Environment/Interfaces/IDynamicTextureManager.cs index 4da5a7e9d9..8fdfa8fb5b 100644 --- a/OpenSim/Region/Environment/Interfaces/IDynamicTextureManager.cs +++ b/OpenSim/Region/Environment/Interfaces/IDynamicTextureManager.cs @@ -11,6 +11,7 @@ namespace OpenSim.Region.Environment.Interfaces void RegisterRender(string handleType, IDynamicTextureRender render); void ReturnData(LLUUID id, byte[] data); LLUUID AddDynamicTextureURL(LLUUID simID, LLUUID primID, string contentType, string url, string extraParams, int updateTimer); + LLUUID AddDynamicTextureData(LLUUID simID, LLUUID primID, string contentType, string data, string extraParams, int updateTimer); } public interface IDynamicTextureRender @@ -21,6 +22,6 @@ namespace OpenSim.Region.Environment.Interfaces byte[] ConvertUrl(string url, string extraParams); byte[] ConvertStream(Stream data, string extraParams); bool AsyncConvertUrl(LLUUID id, string url, string extraParams); - bool AsyncConvertStream(LLUUID id, Stream data, string extraParams); + bool AsyncConvertData(LLUUID id, string bodyData, string extraParams); } } diff --git a/OpenSim/Region/Environment/Modules/DynamicTextureModule.cs b/OpenSim/Region/Environment/Modules/DynamicTextureModule.cs index 6edebe7011..3a03d48705 100644 --- a/OpenSim/Region/Environment/Modules/DynamicTextureModule.cs +++ b/OpenSim/Region/Environment/Modules/DynamicTextureModule.cs @@ -95,13 +95,37 @@ namespace OpenSim.Region.Environment.Modules return LLUUID.Zero; } + public LLUUID AddDynamicTextureData(LLUUID simID, LLUUID primID, string contentType, string data, string extraParams, int updateTimer) + { + if (this.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 (!this.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 Stream StreamData; + public string BodyData; public LLUUID PrimID; public int UpdateTimer; public LLUUID LastAssetID; @@ -111,7 +135,7 @@ namespace OpenSim.Region.Environment.Modules { LastAssetID = LLUUID.Zero; UpdateTimer = 0; - StreamData = null; + BodyData = null; } public void DataReceived(byte[] data, Scene scene) diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index dca4222216..3ea9678f5d 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs @@ -1233,6 +1233,16 @@ namespace OpenSim.Region.Environment.Scenes { switch (command) { + case "help": + MainLog.Instance.Error("alert - send alert to a designated user or all users."); + MainLog.Instance.Error(" alert [First] [Last] [Message] - send an alert to a user. Case sensitive."); + MainLog.Instance.Error(" alert general [Message] - send an alert to all users."); + MainLog.Instance.Error("backup - trigger a region backup"); + MainLog.Instance.Error("load-xml [filename] - load prims from a XML file into current region"); + MainLog.Instance.Error("save-xml [filename] - save prims from current region to a XML file"); + MainLog.Instance.Error("show users - show info about connected users in the current region."); + MainLog.Instance.Error("shutdown - disconnect all clients and shutdown."); + break; case "show": if (cmdparams.Length > 0) {