mirror of
https://github.com/opensim/opensim.git
synced 2026-08-04 08:06:27 +08:00
Thank you, Grumly57 kindly for:
This patch proposes a new function : osOpenRemoteDataChannel(key channeID) that allow to open an XMLRPC channel for remote_data event. The difference is that the channelID can be customized instead of being randomly generated.
This commit is contained in:
@@ -2011,6 +2011,11 @@ namespace OpenSim.Region.ScriptEngine.Common
|
||||
m_LSL_Functions.osSetStateEvents(events);
|
||||
}
|
||||
|
||||
public void osOpenRemoteDataChannel(string channel)
|
||||
{
|
||||
m_LSL_Functions.osOpenRemoteDataChannel(channel);
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
public double llList2Float(LSL_Types.list src, int index)
|
||||
|
||||
@@ -4362,7 +4362,7 @@ namespace OpenSim.Region.ScriptEngine.Common
|
||||
IXMLRPC xmlrpcMod = m_ScriptEngine.World.RequestModuleInterface<IXMLRPC>();
|
||||
if (xmlrpcMod.IsEnabled())
|
||||
{
|
||||
LLUUID channelID = xmlrpcMod.OpenXMLRPCChannel(m_localID, m_itemID);
|
||||
LLUUID channelID = xmlrpcMod.OpenXMLRPCChannel(m_localID, m_itemID, LLUUID.Zero);
|
||||
object[] resobj = new object[] { new LSL_Types.LSLInteger(1), new LSL_Types.LSLString(channelID.ToString()), new LSL_Types.LSLString(LLUUID.Zero.ToString()), new LSL_Types.LSLString(String.Empty), new LSL_Types.LSLInteger(0), new LSL_Types.LSLString(String.Empty) };
|
||||
m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(m_localID, m_itemID, "remote_data", EventQueueManager.llDetectNull, resobj);
|
||||
}
|
||||
|
||||
@@ -31,6 +31,7 @@ using Nini.Config;
|
||||
using OpenSim.Framework.Console;
|
||||
using OpenSim.Region.Environment.Interfaces;
|
||||
using OpenSim.Region.Environment.Scenes;
|
||||
using OpenSim.Region.ScriptEngine.Common.ScriptEngineBase;
|
||||
|
||||
//using OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL;
|
||||
|
||||
@@ -531,5 +532,16 @@ namespace OpenSim.Region.ScriptEngine.Common
|
||||
m_host.SetScriptEvents(m_itemID, events);
|
||||
}
|
||||
|
||||
public void osOpenRemoteDataChannel(string channel)
|
||||
{
|
||||
m_host.AddScriptLPS(1);
|
||||
IXMLRPC xmlrpcMod = m_ScriptEngine.World.RequestModuleInterface<IXMLRPC>();
|
||||
if (xmlrpcMod.IsEnabled())
|
||||
{
|
||||
LLUUID channelID = xmlrpcMod.OpenXMLRPCChannel(m_localID, m_itemID, new LLUUID(channel));
|
||||
object[] resobj = new object[] { new LSL_Types.LSLInteger(1), new LSL_Types.LSLString(channelID.ToString()), new LSL_Types.LSLString(LLUUID.Zero.ToString()), new LSL_Types.LSLString(String.Empty), new LSL_Types.LSLInteger(0), new LSL_Types.LSLString(String.Empty) };
|
||||
m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(m_localID, m_itemID, "remote_data", EventQueueManager.llDetectNull, resobj);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,5 +62,7 @@ namespace OpenSim.Region.ScriptEngine.Common
|
||||
string osDrawImage(string drawList, int width, int height, string imageUrl);
|
||||
void osSetStateEvents(int events);
|
||||
|
||||
void osOpenRemoteDataChannel(string channel);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user