eol-style native; on EventQueueHelper

0.6.0-stable
Teravus Ovares 2008-09-28 02:59:42 +00:00
parent 25a998feb4
commit e78cdd9690
1 changed files with 146 additions and 146 deletions

View File

@ -1,146 +1,146 @@
/* /*
* Copyright (c) Contributors, http://opensimulator.org/ * Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders. * See CONTRIBUTORS.TXT for a full list of copyright holders.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright * * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer. * notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright * * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the * notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution. * documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSim Project nor the * * Neither the name of the OpenSim Project nor the
* names of its contributors may be used to endorse or promote products * names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission. * derived from this software without specific prior written permission.
* *
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * 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 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/ */
using System; using System;
using System.Net; using System.Net;
using OpenMetaverse; using OpenMetaverse;
using OpenMetaverse.StructuredData; using OpenMetaverse.StructuredData;
namespace OpenSim.Region.Environment namespace OpenSim.Region.Environment
{ {
public class EventQueueHelper public class EventQueueHelper
{ {
private EventQueueHelper() {} // no construction possible, it's an utility class private EventQueueHelper() {} // no construction possible, it's an utility class
public static LLSD EnableSimulator(ulong Handle, IPEndPoint endPoint) public static LLSD EnableSimulator(ulong Handle, IPEndPoint endPoint)
{ {
LLSDMap llsdSimInfo = new LLSDMap(3); LLSDMap llsdSimInfo = new LLSDMap(3);
byte[] regionhandle = new byte[8]; byte[] regionhandle = new byte[8];
int i = 0; int i = 0;
// Reverse endianness of RegionHandle // Reverse endianness of RegionHandle
regionhandle[i++] = (byte)((Handle >> 56) % 256); regionhandle[i++] = (byte)((Handle >> 56) % 256);
regionhandle[i++] = (byte)((Handle >> 48) % 256); regionhandle[i++] = (byte)((Handle >> 48) % 256);
regionhandle[i++] = (byte)((Handle >> 40) % 256); regionhandle[i++] = (byte)((Handle >> 40) % 256);
regionhandle[i++] = (byte)((Handle >> 32) % 256); regionhandle[i++] = (byte)((Handle >> 32) % 256);
regionhandle[i++] = (byte)((Handle >> 24) % 256); regionhandle[i++] = (byte)((Handle >> 24) % 256);
regionhandle[i++] = (byte)((Handle >> 16) % 256); regionhandle[i++] = (byte)((Handle >> 16) % 256);
regionhandle[i++] = (byte)((Handle >> 8) % 256); regionhandle[i++] = (byte)((Handle >> 8) % 256);
regionhandle[i++] = (byte)(Handle % 256); regionhandle[i++] = (byte)(Handle % 256);
llsdSimInfo.Add("Handle", new LLSDBinary(regionhandle)); llsdSimInfo.Add("Handle", new LLSDBinary(regionhandle));
llsdSimInfo.Add("IP", new LLSDBinary(endPoint.Address.GetAddressBytes())); llsdSimInfo.Add("IP", new LLSDBinary(endPoint.Address.GetAddressBytes()));
llsdSimInfo.Add("Port", new LLSDInteger(endPoint.Port)); llsdSimInfo.Add("Port", new LLSDInteger(endPoint.Port));
LLSDArray arr = new LLSDArray(1); LLSDArray arr = new LLSDArray(1);
arr.Add(llsdSimInfo); arr.Add(llsdSimInfo);
LLSDMap llsdBody = new LLSDMap(1); LLSDMap llsdBody = new LLSDMap(1);
llsdBody.Add("SimulatorInfo", arr); llsdBody.Add("SimulatorInfo", arr);
LLSDMap llsdMessage = new LLSDMap(2); LLSDMap llsdMessage = new LLSDMap(2);
llsdMessage.Add("message", new LLSDString("EnableSimulator")); llsdMessage.Add("message", new LLSDString("EnableSimulator"));
llsdMessage.Add("body", llsdBody); llsdMessage.Add("body", llsdBody);
return llsdMessage; return llsdMessage;
} }
public static LLSD CrossRegion(ulong Handle, Vector3 pos, Vector3 lookAt, public static LLSD CrossRegion(ulong Handle, Vector3 pos, Vector3 lookAt,
IPEndPoint newRegionExternalEndPoint, IPEndPoint newRegionExternalEndPoint,
string capsURL, UUID AgentID, UUID SessionID) string capsURL, UUID AgentID, UUID SessionID)
{ {
LLSDArray LookAtArr = new LLSDArray(3); LLSDArray LookAtArr = new LLSDArray(3);
LookAtArr.Add(LLSD.FromReal(lookAt.X)); LookAtArr.Add(LLSD.FromReal(lookAt.X));
LookAtArr.Add(LLSD.FromReal(lookAt.Y)); LookAtArr.Add(LLSD.FromReal(lookAt.Y));
LookAtArr.Add(LLSD.FromReal(lookAt.Z)); LookAtArr.Add(LLSD.FromReal(lookAt.Z));
LLSDArray PositionArr = new LLSDArray(3); LLSDArray PositionArr = new LLSDArray(3);
PositionArr.Add(LLSD.FromReal(pos.X)); PositionArr.Add(LLSD.FromReal(pos.X));
PositionArr.Add(LLSD.FromReal(pos.Y)); PositionArr.Add(LLSD.FromReal(pos.Y));
PositionArr.Add(LLSD.FromReal(pos.Z)); PositionArr.Add(LLSD.FromReal(pos.Z));
LLSDMap InfoMap = new LLSDMap(2); LLSDMap InfoMap = new LLSDMap(2);
InfoMap.Add("LookAt", LookAtArr); InfoMap.Add("LookAt", LookAtArr);
InfoMap.Add("Position", PositionArr); InfoMap.Add("Position", PositionArr);
LLSDArray InfoArr = new LLSDArray(1); LLSDArray InfoArr = new LLSDArray(1);
InfoArr.Add(InfoMap); InfoArr.Add(InfoMap);
LLSDMap AgentDataMap = new LLSDMap(2); LLSDMap AgentDataMap = new LLSDMap(2);
AgentDataMap.Add("AgentID", LLSD.FromUUID(AgentID)); AgentDataMap.Add("AgentID", LLSD.FromUUID(AgentID));
AgentDataMap.Add("SessionID", LLSD.FromUUID(SessionID)); AgentDataMap.Add("SessionID", LLSD.FromUUID(SessionID));
LLSDArray AgentDataArr = new LLSDArray(1); LLSDArray AgentDataArr = new LLSDArray(1);
AgentDataArr.Add(AgentDataMap); AgentDataArr.Add(AgentDataMap);
LLSDMap RegionDataMap = new LLSDMap(4); LLSDMap RegionDataMap = new LLSDMap(4);
byte[] regionhandle = new byte[8]; byte[] regionhandle = new byte[8];
{ {
int i = 0; int i = 0;
regionhandle[i++] = (byte)((Handle >> 56) % 256); regionhandle[i++] = (byte)((Handle >> 56) % 256);
regionhandle[i++] = (byte)((Handle >> 48) % 256); regionhandle[i++] = (byte)((Handle >> 48) % 256);
regionhandle[i++] = (byte)((Handle >> 40) % 256); regionhandle[i++] = (byte)((Handle >> 40) % 256);
regionhandle[i++] = (byte)((Handle >> 32) % 256); regionhandle[i++] = (byte)((Handle >> 32) % 256);
regionhandle[i++] = (byte)((Handle >> 24) % 256); regionhandle[i++] = (byte)((Handle >> 24) % 256);
regionhandle[i++] = (byte)((Handle >> 16) % 256); regionhandle[i++] = (byte)((Handle >> 16) % 256);
regionhandle[i++] = (byte)((Handle >> 8) % 256); regionhandle[i++] = (byte)((Handle >> 8) % 256);
regionhandle[i++] = (byte)(Handle % 256); regionhandle[i++] = (byte)(Handle % 256);
} }
RegionDataMap.Add("RegionHandle", LLSD.FromBinary(regionhandle)); RegionDataMap.Add("RegionHandle", LLSD.FromBinary(regionhandle));
RegionDataMap.Add("SeedCapability", LLSD.FromString(capsURL)); RegionDataMap.Add("SeedCapability", LLSD.FromString(capsURL));
RegionDataMap.Add("SimIP", LLSD.FromBinary(newRegionExternalEndPoint.Address.GetAddressBytes())); RegionDataMap.Add("SimIP", LLSD.FromBinary(newRegionExternalEndPoint.Address.GetAddressBytes()));
RegionDataMap.Add("SimPort", LLSD.FromInteger(newRegionExternalEndPoint.Port)); RegionDataMap.Add("SimPort", LLSD.FromInteger(newRegionExternalEndPoint.Port));
LLSDArray RegionDataArr = new LLSDArray(1); LLSDArray RegionDataArr = new LLSDArray(1);
RegionDataArr.Add(RegionDataMap); RegionDataArr.Add(RegionDataMap);
LLSDMap llsdBody = new LLSDMap(3); LLSDMap llsdBody = new LLSDMap(3);
llsdBody.Add("Info", InfoArr); llsdBody.Add("Info", InfoArr);
llsdBody.Add("AgentData", AgentDataArr); llsdBody.Add("AgentData", AgentDataArr);
llsdBody.Add("RegionData", RegionDataArr); llsdBody.Add("RegionData", RegionDataArr);
LLSDMap llsdMessage = new LLSDMap(2); LLSDMap llsdMessage = new LLSDMap(2);
llsdMessage.Add("message", new LLSDString("CrossedRegion")); llsdMessage.Add("message", new LLSDString("CrossedRegion"));
llsdMessage.Add("body", llsdBody); llsdMessage.Add("body", llsdBody);
return llsdMessage; return llsdMessage;
} }
public static LLSD KeepAliveEvent() public static LLSD KeepAliveEvent()
{ {
LLSDMap llsdSimInfo = new LLSDMap(); LLSDMap llsdSimInfo = new LLSDMap();
LLSDMap llsdMessage = new LLSDMap(2); LLSDMap llsdMessage = new LLSDMap(2);
llsdMessage.Add("message", new LLSDString("FAKEEVENT")); llsdMessage.Add("message", new LLSDString("FAKEEVENT"));
llsdMessage.Add("body", llsdSimInfo); llsdMessage.Add("body", llsdSimInfo);
return llsdMessage; return llsdMessage;
} }
} }
} }