mirror of
https://github.com/opensim/opensim.git
synced 2026-08-06 01:06:30 +08:00
Merge branch 'master' into careminster
Conflicts: OpenSim/Data/MySQL/MySQLSimulationData.cs OpenSim/Data/MySQL/Resources/RegionStore.migrations OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs OpenSim/Region/CoreModules/World/LightShare/LightShareModule.cs OpenSim/Region/Framework/Scenes/Scene.cs OpenSim/Region/Framework/Scenes/ScenePresence.cs OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCapabilityTests.cs OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
This commit is contained in:
@@ -96,7 +96,7 @@ namespace OpenSim.Region.ClientStack.Linden.Tests
|
||||
UUID spId = TestHelpers.ParseTail(0x1);
|
||||
|
||||
SceneHelpers.AddScenePresence(m_scene, spId);
|
||||
m_scene.IncomingCloseAgent(spId, false);
|
||||
m_scene.CloseAgent(spId, false);
|
||||
|
||||
// TODO: Add more assertions for the other aspects of event queues
|
||||
Assert.That(MainServer.Instance.GetPollServiceHandlerKeys().Count, Is.EqualTo(0));
|
||||
|
||||
@@ -155,6 +155,7 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||
Quaternion rotation = Quaternion.Identity;
|
||||
Vector3 scale = Vector3.Zero;
|
||||
int state = 0;
|
||||
int lastattach = 0;
|
||||
|
||||
if (r.Type != OSDType.Map) // not a proper req
|
||||
return responsedata;
|
||||
@@ -224,6 +225,7 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||
|
||||
ray_target_id = ObjMap["RayTargetId"].AsUUID();
|
||||
state = ObjMap["State"].AsInteger();
|
||||
lastattach = ObjMap["LastAttachPoint"].AsInteger();
|
||||
try
|
||||
{
|
||||
ray_end = ((OSDArray)ObjMap["RayEnd"]).AsVector3();
|
||||
@@ -290,6 +292,7 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||
|
||||
//session_id = rm["session_id"].AsUUID();
|
||||
state = rm["state"].AsInteger();
|
||||
lastattach = rm["last_attach_point"].AsInteger();
|
||||
try
|
||||
{
|
||||
ray_end = ((OSDArray)rm["ray_end"]).AsVector3();
|
||||
@@ -331,6 +334,7 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||
pbs.ProfileEnd = (ushort)profile_end;
|
||||
pbs.Scale = scale;
|
||||
pbs.State = (byte)state;
|
||||
pbs.LastAttachPoint = (byte)lastattach;
|
||||
|
||||
SceneObjectGroup obj = null; ;
|
||||
|
||||
|
||||
@@ -277,6 +277,7 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||
pbs.ProfileEnd = (ushort) obj.ProfileEnd;
|
||||
pbs.Scale = obj.Scale;
|
||||
pbs.State = (byte) 0;
|
||||
pbs.LastAttachPoint = (byte) 0;
|
||||
SceneObjectPart prim = new SceneObjectPart();
|
||||
prim.UUID = UUID.Random();
|
||||
prim.CreatorID = AgentId;
|
||||
|
||||
@@ -116,7 +116,7 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||
m_scene.EventManager.OnRegisterCaps -= RegisterCaps;
|
||||
|
||||
foreach (Thread t in m_workerThreads)
|
||||
Watchdog.AbortThread(t.ManagedThreadId);
|
||||
Watchdog.AbortThread(t.ManagedThreadId);
|
||||
|
||||
m_scene = null;
|
||||
}
|
||||
@@ -298,36 +298,49 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||
requestinfo.request["body"].ToString(), String.Empty, String.Empty, null, null);
|
||||
|
||||
lock (responses)
|
||||
responses[requestID] = response;
|
||||
responses[requestID] = response;
|
||||
}
|
||||
}
|
||||
|
||||
private void RegisterCaps(UUID agentID, Caps caps)
|
||||
{
|
||||
if (m_fetchInventoryDescendents2Url == "")
|
||||
RegisterFetchDescendentsCap(agentID, caps, "FetchInventoryDescendents2", m_fetchInventoryDescendents2Url);
|
||||
}
|
||||
|
||||
private void RegisterFetchDescendentsCap(UUID agentID, Caps caps, string capName, string url)
|
||||
{
|
||||
string capUrl;
|
||||
|
||||
// disable the cap clause
|
||||
if (url == "")
|
||||
{
|
||||
return;
|
||||
}
|
||||
// handled by the simulator
|
||||
else if (url == "localhost")
|
||||
{
|
||||
capUrl = "/CAPS/" + UUID.Random() + "/";
|
||||
|
||||
// Register this as a poll service
|
||||
PollServiceInventoryEventArgs args
|
||||
= new PollServiceInventoryEventArgs(m_scene, "/CAPS/" + UUID.Random() + "/", agentID);
|
||||
args.Type = PollServiceEventArgs.EventType.Inventory;
|
||||
// Register this as a poll service
|
||||
PollServiceInventoryEventArgs args = new PollServiceInventoryEventArgs(m_scene, capUrl, agentID);
|
||||
args.Type = PollServiceEventArgs.EventType.Inventory;
|
||||
|
||||
caps.RegisterPollHandler("FetchInventoryDescendents2", args);
|
||||
caps.RegisterPollHandler(capName, args);
|
||||
}
|
||||
// external handler
|
||||
else
|
||||
{
|
||||
capUrl = url;
|
||||
IExternalCapsModule handler = m_scene.RequestModuleInterface<IExternalCapsModule>();
|
||||
if (handler != null)
|
||||
handler.RegisterExternalUserCapsHandler(agentID,caps,capName,capUrl);
|
||||
else
|
||||
caps.RegisterHandler(capName, capUrl);
|
||||
}
|
||||
|
||||
// MainServer.Instance.AddPollServiceHTTPHandler(capUrl, args);
|
||||
//
|
||||
// string hostName = m_scene.RegionInfo.ExternalHostName;
|
||||
// uint port = (MainServer.Instance == null) ? 0 : MainServer.Instance.Port;
|
||||
// string protocol = "http";
|
||||
//
|
||||
// if (MainServer.Instance.UseSSL)
|
||||
// {
|
||||
// hostName = MainServer.Instance.SSLCommonName;
|
||||
// port = MainServer.Instance.SSLPort;
|
||||
// protocol = "https";
|
||||
// }
|
||||
//
|
||||
// caps.RegisterHandler("FetchInventoryDescendents2", String.Format("{0}://{1}:{2}{3}", protocol, hostName, port, capUrl));
|
||||
// m_log.DebugFormat(
|
||||
// "[FETCH INVENTORY DESCENDENTS2 MODULE]: Registered capability {0} at {1} in region {2} for {3}",
|
||||
// capName, capUrl, m_scene.RegionInfo.RegionName, agentID);
|
||||
}
|
||||
|
||||
// private void DeregisterCaps(UUID agentID, Caps caps)
|
||||
|
||||
Reference in New Issue
Block a user