* Spring cleaning.

* Added new generic "Location" class to handle 2D integer locations. Going to use it to replace all RegionHandle and X,Y coordinate references throughout the entire project. You have been warned.
0.6.0-stable
Adam Frisby 2008-04-29 14:04:55 +00:00
parent 9907c0fd10
commit 375163a6fe
64 changed files with 1283 additions and 1475 deletions

View File

@ -43,8 +43,8 @@ namespace OpenSim.Framework
/// </summary>
public class ACL
{
private Dictionary<string, Role> Roles = new Dictionary<string, Role>();
private Dictionary<string, Resource> Resources = new Dictionary<string, Resource>();
private Dictionary<string, Role> Roles = new Dictionary<string, Role>();
public ACL AddRole(Role role)
{
@ -125,16 +125,16 @@ namespace OpenSim.Framework
{
protected Role m_role;
public Role ErrorRole
{
get { return m_role; }
}
public AlreadyContainsRoleException(Role role)
{
m_role = role;
}
public Role ErrorRole
{
get { return m_role; }
}
public override string ToString()
{
return "This ACL already contains a role called '" + m_role.Name + "'.";
@ -164,6 +164,18 @@ namespace OpenSim.Framework
private Role[] m_parents;
private Dictionary<string, Permission> m_resources = new Dictionary<string, Permission>();
public Role(string name)
{
m_name = name;
m_parents = null;
}
public Role(string name, Role[] parents)
{
m_name = name;
m_parents = parents;
}
public string Name
{
get { return m_name; }
@ -201,33 +213,21 @@ namespace OpenSim.Framework
{
m_resources[resource] = perm;
}
public Role(string name)
{
m_name = name;
m_parents = null;
}
public Role(string name, Role[] parents)
{
m_name = name;
m_parents = parents;
}
}
public class Resource
{
private string m_name;
public string Name
{
get { return m_name; }
}
public Resource(string name)
{
m_name = name;
}
public string Name
{
get { return m_name; }
}
}
#endregion

View File

@ -32,6 +32,18 @@ namespace OpenSim.Framework
{
public class AgentCircuitData
{
public LLUUID AgentID;
public LLUUID BaseFolder;
public string CapsPath = String.Empty;
public bool child;
public uint circuitcode;
public string firstname;
public LLUUID InventoryFolder;
public string lastname;
public LLUUID SecureSessionID;
public LLUUID SessionID;
public LLVector3 startpos;
public AgentCircuitData()
{
}
@ -50,23 +62,25 @@ namespace OpenSim.Framework
BaseFolder = new LLUUID(cAgent.BaseFolder);
CapsPath = cAgent.CapsPath;
}
public LLUUID AgentID;
public LLUUID SessionID;
public LLUUID SecureSessionID;
public LLVector3 startpos;
public string firstname;
public string lastname;
public uint circuitcode;
public bool child;
public LLUUID InventoryFolder;
public LLUUID BaseFolder;
public string CapsPath = String.Empty;
}
[Serializable]
public class sAgentCircuitData
{
public Guid AgentID;
public Guid BaseFolder;
public string CapsPath = String.Empty;
public bool child;
public uint circuitcode;
public string firstname;
public Guid InventoryFolder;
public string lastname;
public Guid SecureSessionID;
public Guid SessionID;
public float startposx;
public float startposy;
public float startposz;
public sAgentCircuitData()
{
}
@ -87,19 +101,5 @@ namespace OpenSim.Framework
BaseFolder = cAgent.BaseFolder.UUID;
CapsPath = cAgent.CapsPath;
}
public Guid AgentID;
public Guid SessionID;
public Guid SecureSessionID;
public float startposx;
public float startposy;
public float startposz;
public string firstname;
public string lastname;
public uint circuitcode;
public bool child;
public Guid InventoryFolder;
public Guid BaseFolder;
public string CapsPath = String.Empty;
}
}

View File

@ -35,11 +35,11 @@ namespace OpenSim.Framework
public class AgentInventory
{
//Holds the local copy of Inventory info for a agent
public LLUUID AgentID;
public Dictionary<LLUUID, InventoryFolder> InventoryFolders;
public Dictionary<LLUUID, InventoryItem> InventoryItems;
public InventoryFolder InventoryRoot;
public int LastCached; //maybe used by opensim app, time this was last stored/compared to user server
public LLUUID AgentID;
public AvatarWearable[] Wearables;
public AgentInventory()
@ -206,13 +206,13 @@ namespace OpenSim.Framework
public class InventoryFolder
{
public List<InventoryItem> Items;
//public List<InventoryFolder> Subfolders;
public ushort DefaultType;
public LLUUID FolderID;
public string FolderName;
public List<InventoryItem> Items;
public LLUUID OwnerID;
public LLUUID ParentID = LLUUID.Zero;
public string FolderName;
public ushort DefaultType;
public ushort Version;
public InventoryFolder()
@ -224,15 +224,15 @@ namespace OpenSim.Framework
public class InventoryItem
{
public LLUUID FolderID;
public LLUUID OwnerID;
public LLUUID ItemID;
public LLUUID AssetID;
public LLUUID CreatorID;
public sbyte InvType;
public sbyte Type;
public string Name = String.Empty;
public string Description;
public LLUUID FolderID;
public sbyte InvType;
public LLUUID ItemID;
public string Name = String.Empty;
public LLUUID OwnerID;
public sbyte Type;
public InventoryItem()
{
@ -252,4 +252,4 @@ namespace OpenSim.Framework
return result;
}
}
}
}

View File

@ -60,4 +60,4 @@ using System.Runtime.InteropServices;
//
[assembly : AssemblyVersion("1.0.0.0")]
[assembly : AssemblyFileVersion("1.0.0.0")]
[assembly : AssemblyFileVersion("1.0.0.0")]

View File

@ -34,13 +34,13 @@ namespace OpenSim.Framework
public class AssetBase
{
private byte[] _data;
private LLUUID _fullid;
private sbyte _type;
private sbyte _invtype;
private string _name = String.Empty;
private string _description = String.Empty;
private LLUUID _fullid;
private sbyte _invtype;
private bool _local = false;
private string _name = String.Empty;
private bool _temporary = false;
private sbyte _type;
public AssetBase()
{
@ -52,49 +52,58 @@ namespace OpenSim.Framework
Name = name;
}
public virtual LLUUID FullID {
public virtual LLUUID FullID
{
get { return _fullid; }
set { _fullid = value; }
}
public virtual string ID {
public virtual string ID
{
get { return _fullid.ToString(); }
set { _fullid = new LLUUID(value); }
}
public virtual byte[] Data {
public virtual byte[] Data
{
get { return _data; }
set { _data = value; }
}
public virtual sbyte Type {
public virtual sbyte Type
{
get { return _type; }
set { _type = value; }
}
public virtual sbyte InvType {
public virtual sbyte InvType
{
get { return _invtype; }
set { _invtype = value; }
}
public virtual string Name {
public virtual string Name
{
get { return _name; }
set { _name = value; }
}
public virtual string Description {
public virtual string Description
{
get { return _description; }
set { _description = value; }
}
public virtual bool Local {
public virtual bool Local
{
get { return _local; }
set { _local = value; }
}
public virtual bool Temporary {
public virtual bool Temporary
{
get { return _temporary; }
set { _temporary = value; }
}
}
}
}

View File

@ -34,16 +34,13 @@ namespace OpenSim.Framework
/// </summary>
public class AssetConfig
{
public string DefaultStartupMsg = String.Empty;
public string DatabaseProvider = String.Empty;
public string DatabaseConnect = String.Empty;
public const uint DefaultHttpPort = 8003;
public uint HttpPort = DefaultHttpPort;
private ConfigurationMember configMember;
public string DatabaseConnect = String.Empty;
public string DatabaseProvider = String.Empty;
public string DefaultStartupMsg = String.Empty;
public uint HttpPort = DefaultHttpPort;
public AssetConfig(string description, string filename)
{
@ -89,4 +86,4 @@ namespace OpenSim.Framework
return true;
}
}
}
}

View File

@ -32,10 +32,10 @@ namespace OpenSim.Framework
{
public class AssetLandmark : AssetBase
{
public int Version;
public LLVector3 Position;
public LLUUID RegionID;
public ulong RegionHandle;
public LLUUID RegionID;
public int Version;
public AssetLandmark(AssetBase a)
{
@ -58,4 +58,4 @@ namespace OpenSim.Framework
ulong.TryParse(parts[3].Substring(14, parts[3].Length - 14), out RegionHandle);
}
}
}
}

View File

@ -34,4 +34,4 @@ namespace OpenSim.Framework
public LLUUID AssetID;
public bool IsTexture;
}
}
}

View File

@ -31,6 +31,11 @@ namespace OpenSim.Framework
{
public class AssetStorage
{
public byte[] Data;
public string Name;
public sbyte Type;
public LLUUID UUID;
public AssetStorage()
{
}
@ -39,10 +44,5 @@ namespace OpenSim.Framework
{
UUID = assetUUID;
}
public byte[] Data;
public sbyte Type;
public string Name;
public LLUUID UUID;
}
}
}

View File

@ -36,4 +36,4 @@ namespace OpenSim.Framework
{
}
}
}
}

View File

@ -35,4 +35,4 @@ namespace OpenSim.Framework
public string firstName;
public string lastName;
}
}
}

View File

@ -48,6 +48,20 @@ namespace OpenSim.Framework
ItemID = itemId;
}
protected AvatarWearable(SerializationInfo info, StreamingContext context)
{
//System.Console.WriteLine("AvatarWearable Deserialize BGN");
if (info == null)
{
throw new ArgumentNullException("info");
}
AssetID = new LLUUID((Guid) info.GetValue("AssetID", typeof (Guid)));
ItemID = new LLUUID((Guid) info.GetValue("ItemID", typeof (Guid)));
//System.Console.WriteLine("AvatarWearable Deserialize END");
}
public static AvatarWearable[] DefaultWearables
{
get
@ -72,24 +86,12 @@ namespace OpenSim.Framework
}
}
protected AvatarWearable(SerializationInfo info, StreamingContext context)
{
//System.Console.WriteLine("AvatarWearable Deserialize BGN");
if (info == null)
{
throw new ArgumentNullException("info");
}
AssetID = new LLUUID((Guid)info.GetValue("AssetID", typeof(Guid)));
ItemID = new LLUUID((Guid)info.GetValue("ItemID", typeof(Guid)));
//System.Console.WriteLine("AvatarWearable Deserialize END");
}
#region ISerializable Members
[SecurityPermission(SecurityAction.LinkDemand,
Flags = SecurityPermissionFlag.SerializationFormatter)]
public virtual void GetObjectData(
SerializationInfo info, StreamingContext context)
SerializationInfo info, StreamingContext context)
{
if (info == null)
{
@ -99,5 +101,7 @@ namespace OpenSim.Framework
info.AddValue("AssetID", AssetID.UUID);
info.AddValue("ItemID", ItemID.UUID);
}
#endregion
}
}
}

View File

@ -64,13 +64,13 @@ namespace OpenSim.Framework
return m_queue.Contains(item);
}
}
public int Count()
{
lock(m_queueSync)
{
return m_queue.Count;
}
lock (m_queueSync)
{
return m_queue.Count;
}
}
public T[] GetQueueArray()
@ -81,4 +81,4 @@ namespace OpenSim.Framework
}
}
}
}
}

View File

@ -32,21 +32,21 @@ namespace OpenSim.Framework
[Serializable]
public class ChildAgentDataUpdate
{
public Guid ActiveGroupID;
public Guid AgentID;
public bool alwaysrun;
public float AVHeight;
public sLLVector3 cameraPosition;
public float drawdistance;
public float godlevel;
public uint GroupAccess;
public sLLVector3 Position;
public ulong regionHandle;
public byte[] throttles;
public sLLVector3 Velocity;
public ChildAgentDataUpdate()
{
}
public sLLVector3 Position;
public ulong regionHandle;
public float drawdistance;
public sLLVector3 cameraPosition;
public sLLVector3 Velocity;
public float AVHeight;
public Guid AgentID;
public float godlevel;
public byte[] throttles;
public bool alwaysrun;
public Guid ActiveGroupID;
public uint GroupAccess;
}
}
}

View File

@ -42,6 +42,11 @@ namespace OpenSim.Framework
private Dictionary<uint, IClientAPI> m_clients;
public ClientManager()
{
m_clients = new Dictionary<uint, IClientAPI>();
}
public void ForEachClient(ForEachClientDelegate whatToDo)
{
// Wasteful, I know
@ -65,11 +70,6 @@ namespace OpenSim.Framework
}
}
public ClientManager()
{
m_clients = new Dictionary<uint, IClientAPI>();
}
public void Remove(uint id)
{
//m_log.InfoFormat("[CLIENT]: Removing client with code {0}, current count {1}", id, m_clients.Count);
@ -94,7 +94,7 @@ namespace OpenSim.Framework
bool tryGetRet = false;
lock (m_clients)
tryGetRet = m_clients.TryGetValue(circuitCode, out client);
if(tryGetRet)
if (tryGetRet)
{
client.InPacket(packet);
}
@ -106,7 +106,7 @@ namespace OpenSim.Framework
bool tryGetRet = false;
lock (m_clients)
tryGetRet = m_clients.TryGetValue(circuitCode, out client);
if (tryGetRet)
if (tryGetRet)
{
CloseAllCircuits(client.AgentId);
}
@ -125,7 +125,7 @@ namespace OpenSim.Framework
bool tryGetRet = false;
lock (m_clients)
tryGetRet = m_clients.TryGetValue(circuits[i], out client);
if(tryGetRet)
if (tryGetRet)
{
Remove(client.CircuitCode);
client.Close(false);
@ -138,7 +138,7 @@ namespace OpenSim.Framework
}
}
public uint[] GetAllCircuits(LLUUID agentId)
public uint[] GetAllCircuits(LLUUID agentId)
{
List<uint> circuits = new List<uint>();
// Wasteful, I know
@ -149,7 +149,7 @@ namespace OpenSim.Framework
m_clients.Values.CopyTo(LocalClients, 0);
}
for (int i = 0; i < LocalClients.Length; i++ )
for (int i = 0; i < LocalClients.Length; i++)
{
if (LocalClients[i].AgentId == agentId)
{
@ -173,7 +173,7 @@ namespace OpenSim.Framework
public void ViewerEffectHandler(IClientAPI sender, ViewerEffectPacket.EffectBlock[] effectBlock)
{
ViewerEffectPacket packet = (ViewerEffectPacket) PacketPool.Instance.GetPacket(PacketType.ViewerEffect);
ViewerEffectPacket packet = (ViewerEffectPacket) PacketPool.Instance.GetPacket(PacketType.ViewerEffect);
// TODO: don't create new blocks if recycling an old packet
packet.Effect = effectBlock;
@ -205,4 +205,4 @@ namespace OpenSim.Framework
}
}
}
}
}

View File

@ -39,26 +39,33 @@ namespace OpenSim.Framework
{
public class ConfigurationMember
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
#region Delegates
public delegate bool ConfigurationOptionResult(string configuration_key, object configuration_result);
public delegate void ConfigurationOptionsLoad();
private List<ConfigurationOption> configurationOptions = new List<ConfigurationOption>();
private string configurationFilename = String.Empty;
private string configurationDescription = String.Empty;
private XmlNode configurationFromXMLNode = null;
private ConfigurationOptionsLoad loadFunction;
private ConfigurationOptionResult resultFunction;
#endregion
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private int cE = 0;
private string configurationDescription = String.Empty;
private string configurationFilename = String.Empty;
private XmlNode configurationFromXMLNode = null;
private List<ConfigurationOption> configurationOptions = new List<ConfigurationOption>();
private IGenericConfig configurationPlugin = null;
private bool useConsoleToPromptOnError = true;
/// <summary>
/// This is the default configuration DLL loaded
/// </summary>
private string configurationPluginFilename = "OpenSim.Framework.Configuration.XML.dll";
private ConfigurationOptionsLoad loadFunction;
private ConfigurationOptionResult resultFunction;
private bool useConsoleToPromptOnError = true;
public ConfigurationMember(string configuration_filename, string configuration_description,
ConfigurationOptionsLoad load_function, ConfigurationOptionResult result_function, bool use_console_to_prompt_on_error)
{
@ -150,7 +157,6 @@ namespace OpenSim.Framework
}
// TEMP - REMOVE
private int cE = 0;
public void performConfigurationRetrieve()
{
if (cE > 1)
@ -162,14 +168,14 @@ namespace OpenSim.Framework
if (loadFunction == null)
{
m_log.Error("Load Function for '" + configurationDescription +
"' is null. Refusing to run configuration.");
"' is null. Refusing to run configuration.");
return;
}
if (resultFunction == null)
{
m_log.Error("Result Function for '" + configurationDescription +
"' is null. Refusing to run configuration.");
"' is null. Refusing to run configuration.");
return;
}
@ -261,7 +267,7 @@ namespace OpenSim.Framework
{
console_result =
MainConsole.Instance.CmdPrompt(configOption.configurationQuestion,
configOption.configurationDefault);
configOption.configurationDefault);
}
}
else
@ -500,4 +506,4 @@ namespace OpenSim.Framework
configurationPlugin.Close();
}
}
}
}

View File

@ -31,8 +31,14 @@ namespace OpenSim.Framework
{
public class ConfigurationOption
{
#region Delegates
public delegate bool ConfigurationOptionShouldBeAsked(string configuration_key);
#endregion
#region ConfigurationTypes enum
public enum ConfigurationTypes
{
TYPE_STRING,
@ -53,12 +59,15 @@ namespace OpenSim.Framework
TYPE_DOUBLE
} ;
#endregion
public string configurationDefault = String.Empty;
public string configurationKey = String.Empty;
public string configurationQuestion = String.Empty;
public string configurationDefault = String.Empty;
public ConfigurationTypes configurationType = ConfigurationTypes.TYPE_STRING;
public bool configurationUseDefaultNoPrompt = false;
public ConfigurationOptionShouldBeAsked shouldIBeAsked; //Should I be asked now? Based on previous answers
}
}
}

View File

@ -32,4 +32,4 @@ namespace OpenSim.Framework
public const uint RegionSize = 256;
public const byte TerrainPatchSize = 16;
}
}
}

View File

@ -50,4 +50,4 @@ namespace OpenSim.Framework
Thread.CurrentThread.CurrentCulture = m_cultureInfo;
}
}
}
}

View File

@ -36,10 +36,72 @@ namespace OpenSim.Framework
public class EstateSettings
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private ConfigurationMember configMember;
//Settings to this island
private float m_billableFactor;
private uint m_estateID;
private LLUUID m_estateManager0;
private LLUUID m_estateManager1;
private LLUUID m_estateManager2;
private LLUUID m_estateManager3;
private LLUUID m_estateManager4;
private LLUUID m_estateManager5;
private LLUUID m_estateManager6;
private LLUUID m_estateManager7;
private LLUUID m_estateManager8;
private LLUUID m_estateManager9;
private string m_estateName;
private byte m_maxAgents;
private float m_objectBonusFactor;
private uint m_parentEstateID;
private int m_pricePerMeter;
private int m_redirectGridX;
private int m_redirectGridY;
private bool m_regionAllowTerraform;
private Simulator.RegionFlags m_regionFlags;
private ushort m_regionWaterHeight;
private Simulator.SimAccess m_simAccess;
private float m_sunHour;
private LLVector3 m_sunPosition;
private LLUUID m_terrainBase0;
private LLUUID m_terrainBase1;
private LLUUID m_terrainBase2;
private LLUUID m_terrainBase3;
private LLUUID m_terrainDetail0;
private LLUUID m_terrainDetail1;
private LLUUID m_terrainDetail2;
private LLUUID m_terrainDetail3;
private string m_terrainFile;
private float m_terrainHeightRange0;
private float m_terrainHeightRange1;
private float m_terrainHeightRange2;
private float m_terrainHeightRange3;
private LLUUID m_terrainImageID;
private float m_terrainLowerLimit;
private double m_terrainMultiplier;
private float m_terrainRaiseLimit;
private float m_terrainStartHeight0;
private float m_terrainStartHeight1;
private float m_terrainStartHeight2;
private float m_terrainStartHeight3;
private bool m_useFixedSun;
private float m_waterHeight;
public EstateSettings()
{
// Temporary hack to prevent multiple loadings.
if (configMember == null)
{
configMember =
new ConfigurationMember(Path.Combine(Util.configDir(), "estate_settings.xml"), "ESTATE SETTINGS",
loadConfigurationOptions, handleIncomingConfiguration, true);
configMember.performConfigurationRetrieve();
}
}
public float billableFactor
{
get { return m_billableFactor; }
@ -50,8 +112,6 @@ namespace OpenSim.Framework
}
}
private uint m_estateID;
public uint estateID
{
get { return m_estateID; }
@ -62,8 +122,6 @@ namespace OpenSim.Framework
}
}
private uint m_parentEstateID;
public uint parentEstateID
{
get { return m_parentEstateID; }
@ -74,8 +132,6 @@ namespace OpenSim.Framework
}
}
private byte m_maxAgents;
public byte maxAgents
{
get { return m_maxAgents; }
@ -86,8 +142,6 @@ namespace OpenSim.Framework
}
}
private float m_objectBonusFactor;
public float objectBonusFactor
{
get { return m_objectBonusFactor; }
@ -98,8 +152,6 @@ namespace OpenSim.Framework
}
}
private int m_redirectGridX;
public int redirectGridX
{
get { return m_redirectGridX; }
@ -110,8 +162,6 @@ namespace OpenSim.Framework
}
}
private int m_redirectGridY;
public int redirectGridY
{
get { return m_redirectGridY; }
@ -122,8 +172,6 @@ namespace OpenSim.Framework
}
}
private Simulator.RegionFlags m_regionFlags;
public Simulator.RegionFlags regionFlags
{
get { return m_regionFlags; }
@ -131,24 +179,20 @@ namespace OpenSim.Framework
{
//m_regionFlags = (Simulator.RegionFlags)0x400000;
m_regionFlags = value;
configMember.forceSetConfigurationOption("region_flags", ((uint)m_regionFlags).ToString());
configMember.forceSetConfigurationOption("region_flags", ((uint) m_regionFlags).ToString());
}
}
private Simulator.SimAccess m_simAccess;
public Simulator.SimAccess simAccess
{
get { return m_simAccess; }
set
{
m_simAccess = value;
configMember.forceSetConfigurationOption("sim_access", ((byte)m_simAccess).ToString());
configMember.forceSetConfigurationOption("sim_access", ((byte) m_simAccess).ToString());
}
}
private float m_sunHour;
public float sunHour
{
get { return m_sunHour; }
@ -159,8 +203,6 @@ namespace OpenSim.Framework
}
}
private LLVector3 m_sunPosition;
public LLVector3 sunPosition
{
get { return m_sunPosition; }
@ -171,8 +213,6 @@ namespace OpenSim.Framework
}
}
private float m_terrainRaiseLimit;
public float terrainRaiseLimit
{
get { return m_terrainRaiseLimit; }
@ -183,8 +223,6 @@ namespace OpenSim.Framework
}
}
private float m_terrainLowerLimit;
public float terrainLowerLimit
{
get { return m_terrainLowerLimit; }
@ -195,8 +233,6 @@ namespace OpenSim.Framework
}
}
private bool m_useFixedSun;
public bool useFixedSun
{
get { return m_useFixedSun; }
@ -207,8 +243,6 @@ namespace OpenSim.Framework
}
}
private int m_pricePerMeter;
public int pricePerMeter
{
get { return m_pricePerMeter; }
@ -220,8 +254,6 @@ namespace OpenSim.Framework
}
private ushort m_regionWaterHeight;
public ushort regionWaterHeight
{
get { return m_regionWaterHeight; }
@ -233,8 +265,6 @@ namespace OpenSim.Framework
}
private bool m_regionAllowTerraform;
public bool regionAllowTerraform
{
get { return m_regionAllowTerraform; }
@ -248,7 +278,6 @@ namespace OpenSim.Framework
// Region Information
// Low resolution 'base' textures. No longer used.
private LLUUID m_terrainBase0;
public LLUUID terrainBase0
{
@ -260,8 +289,6 @@ namespace OpenSim.Framework
}
}
private LLUUID m_terrainBase1;
public LLUUID terrainBase1
{
get { return m_terrainBase1; }
@ -272,8 +299,6 @@ namespace OpenSim.Framework
}
}
private LLUUID m_terrainBase2;
public LLUUID terrainBase2
{
get { return m_terrainBase2; }
@ -284,8 +309,6 @@ namespace OpenSim.Framework
}
}
private LLUUID m_terrainBase3;
public LLUUID terrainBase3
{
get { return m_terrainBase3; }
@ -298,7 +321,6 @@ namespace OpenSim.Framework
// Higher resolution terrain textures
private LLUUID m_terrainDetail0;
public LLUUID terrainDetail0
{
@ -310,8 +332,6 @@ namespace OpenSim.Framework
}
}
private LLUUID m_terrainDetail1;
public LLUUID terrainDetail1
{
get { return m_terrainDetail1; }
@ -322,8 +342,6 @@ namespace OpenSim.Framework
}
}
private LLUUID m_terrainDetail2;
public LLUUID terrainDetail2
{
get { return m_terrainDetail2; }
@ -334,8 +352,6 @@ namespace OpenSim.Framework
}
}
private LLUUID m_terrainDetail3;
public LLUUID terrainDetail3
{
get { return m_terrainDetail3; }
@ -347,7 +363,6 @@ namespace OpenSim.Framework
}
// First quad - each point is bilinearly interpolated at each meter of terrain
private float m_terrainStartHeight0;
public float terrainStartHeight0
{
@ -360,8 +375,6 @@ namespace OpenSim.Framework
}
private float m_terrainStartHeight1;
public float terrainStartHeight1
{
get { return m_terrainStartHeight1; }
@ -372,8 +385,6 @@ namespace OpenSim.Framework
}
}
private float m_terrainStartHeight2;
public float terrainStartHeight2
{
get { return m_terrainStartHeight2; }
@ -384,8 +395,6 @@ namespace OpenSim.Framework
}
}
private float m_terrainStartHeight3;
public float terrainStartHeight3
{
get { return m_terrainStartHeight3; }
@ -399,7 +408,6 @@ namespace OpenSim.Framework
// Second quad - also bilinearly interpolated.
// Terrain texturing is done that:
// 0..3 (0 = base0, 3 = base3) = (terrain[x,y] - start[x,y]) / range[x,y]
private float m_terrainHeightRange0;
public float terrainHeightRange0
{
@ -411,8 +419,6 @@ namespace OpenSim.Framework
}
}
private float m_terrainHeightRange1;
public float terrainHeightRange1
{
get { return m_terrainHeightRange1; }
@ -423,8 +429,6 @@ namespace OpenSim.Framework
}
}
private float m_terrainHeightRange2;
public float terrainHeightRange2
{
get { return m_terrainHeightRange2; }
@ -435,8 +439,6 @@ namespace OpenSim.Framework
}
}
private float m_terrainHeightRange3;
public float terrainHeightRange3
{
get { return m_terrainHeightRange3; }
@ -448,7 +450,6 @@ namespace OpenSim.Framework
}
// Terrain Default (Must be in F32 Format!)
private string m_terrainFile;
public string terrainFile
{
@ -460,8 +461,6 @@ namespace OpenSim.Framework
}
}
private double m_terrainMultiplier;
public double terrainMultiplier
{
get { return m_terrainMultiplier; }
@ -472,8 +471,6 @@ namespace OpenSim.Framework
}
}
private float m_waterHeight;
public float waterHeight
{
get { return m_waterHeight; }
@ -484,8 +481,6 @@ namespace OpenSim.Framework
}
}
private LLUUID m_terrainImageID;
public LLUUID terrainImageID
{
get { return m_terrainImageID; }
@ -501,7 +496,6 @@ namespace OpenSim.Framework
}
// Estate name
private string m_estateName;
public string estateName
{
@ -513,24 +507,14 @@ namespace OpenSim.Framework
}
}
private LLUUID m_estateManager0;
private LLUUID m_estateManager1;
private LLUUID m_estateManager2;
private LLUUID m_estateManager3;
private LLUUID m_estateManager4;
private LLUUID m_estateManager5;
private LLUUID m_estateManager6;
private LLUUID m_estateManager7;
private LLUUID m_estateManager8;
private LLUUID m_estateManager9;
public LLUUID[] estateManagers
{
get {
get
{
// returns a condensed array of LLUUIDs
return GetEstateManagers();
}
set
set
{
// Sets a Condensed array of LLUUIDS
int i = 0;
@ -611,8 +595,8 @@ namespace OpenSim.Framework
for (i = 0; i < 10; i++)
{
// Writes out the Estate managers to the XML file.
configMember.forceSetConfigurationOption("estate_manager_" + i, (GetEstateManagerAtPos(i)).ToString());
// Writes out the Estate managers to the XML file.
configMember.forceSetConfigurationOption("estate_manager_" + i, (GetEstateManagerAtPos(i)).ToString());
}
}
}
@ -626,37 +610,36 @@ namespace OpenSim.Framework
{
case 0:
return m_estateManager0;
case 1:
return m_estateManager1;
case 2:
return m_estateManager2;
case 3:
return m_estateManager3;
case 4:
return m_estateManager4;
case 5:
return m_estateManager5;
case 6:
return m_estateManager6;
case 7:
return m_estateManager7;
case 8:
return m_estateManager8;
case 9:
return m_estateManager9;
default:
return LLUUID.Zero;
}
}
@ -671,8 +654,8 @@ namespace OpenSim.Framework
{
pos = GetNextEstateManager(pos);
rEstateManagers[i] = GetEstateManagerAtPos(pos); pos++;
rEstateManagers[i] = GetEstateManagerAtPos(pos);
pos++;
}
return rEstateManagers;
}
@ -681,12 +664,11 @@ namespace OpenSim.Framework
{
// This is a utility function that skips over estate managers set to LLUUID.Zero
int i = startpos;
for (i=startpos;i<10;i++)
for (i = startpos; i < 10; i++)
{
if (GetEstateManagerAtPos(i) != LLUUID.Zero) return i;
}
return i;
}
private int GetNumberOfEstateManagers()
@ -723,14 +705,13 @@ namespace OpenSim.Framework
//Saves it to the estate settings file
estateManagers = nestateManagers;
}
public void RemoveEstateManager(LLUUID avatarID)
{
int notfoundparam = 11; // starting high so the condense routine (max ten) doesn't run if we don't find it.
LLUUID[] testateManagers = GetEstateManagers(); // temporary estate managers list
int i = 0;
int foundpos = notfoundparam;
@ -766,20 +747,6 @@ namespace OpenSim.Framework
#endregion
private ConfigurationMember configMember;
public EstateSettings()
{
// Temporary hack to prevent multiple loadings.
if (configMember == null)
{
configMember =
new ConfigurationMember(Path.Combine(Util.configDir(), "estate_settings.xml"), "ESTATE SETTINGS",
loadConfigurationOptions, handleIncomingConfiguration, true);
configMember.performConfigurationRetrieve();
}
}
public void loadConfigurationOptions()
{
configMember.addConfigurationOption("billable_factor", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, String.Empty,
@ -1010,38 +977,38 @@ namespace OpenSim.Framework
break;
case "estate_manager_0":
m_estateManager0 = (LLUUID)configuration_result;
m_estateManager0 = (LLUUID) configuration_result;
break;
case "estate_manager_1":
m_estateManager1 = (LLUUID)configuration_result;
m_estateManager1 = (LLUUID) configuration_result;
break;
case "estate_manager_2":
m_estateManager2 = (LLUUID)configuration_result;
m_estateManager2 = (LLUUID) configuration_result;
break;
case "estate_manager_3":
m_estateManager3 = (LLUUID)configuration_result;
m_estateManager3 = (LLUUID) configuration_result;
break;
case "estate_manager_4":
m_estateManager4 = (LLUUID)configuration_result;
m_estateManager4 = (LLUUID) configuration_result;
break;
case "estate_manager_5":
m_estateManager5 = (LLUUID)configuration_result;
m_estateManager5 = (LLUUID) configuration_result;
break;
case "estate_manager_6":
m_estateManager6 = (LLUUID)configuration_result;
m_estateManager6 = (LLUUID) configuration_result;
break;
case "estate_manager_7":
m_estateManager7 = (LLUUID)configuration_result;
m_estateManager7 = (LLUUID) configuration_result;
break;
case "estate_manager_8":
m_estateManager8 = (LLUUID)configuration_result;
m_estateManager8 = (LLUUID) configuration_result;
break;
case "estate_manager_9":
m_estateManager9 = (LLUUID)configuration_result;
m_estateManager9 = (LLUUID) configuration_result;
break;
}
return true;
}
}
}
}

View File

@ -31,15 +31,15 @@ namespace OpenSim.Framework
{
public class FriendListItem
{
public LLUUID FriendListOwner;
public LLUUID Friend;
public LLUUID FriendListOwner;
// These are what the list owner gives the friend permission to do
public uint FriendPerms;
// These are what the friend gives the listowner permission to do
public uint FriendListOwnerPerms;
public uint FriendPerms;
public bool onlinestatus = false;
}
}
}

View File

@ -31,27 +31,22 @@ namespace OpenSim.Framework
{
public class GridConfig
{
public string GridOwner = String.Empty;
public string DefaultAssetServer = String.Empty;
public string AssetSendKey = String.Empty;
public string AssetRecvKey = String.Empty;
public string DefaultUserServer = String.Empty;
public string UserSendKey = String.Empty;
public string UserRecvKey = String.Empty;
public string SimSendKey = String.Empty;
public string SimRecvKey = String.Empty;
public string DatabaseProvider = String.Empty;
public static uint DefaultHttpPort = 8001;
public uint HttpPort = DefaultHttpPort;
public string AllowForcefulBanlines = "TRUE";
public string AssetRecvKey = String.Empty;
public string AssetSendKey = String.Empty;
private ConfigurationMember configMember;
public string DatabaseProvider = String.Empty;
public string DefaultAssetServer = String.Empty;
public string DefaultUserServer = String.Empty;
public string GridOwner = String.Empty;
public uint HttpPort = DefaultHttpPort;
public string SimRecvKey = String.Empty;
public string SimSendKey = String.Empty;
public string UserRecvKey = String.Empty;
public string UserSendKey = String.Empty;
public GridConfig(string description, string filename)
{
@ -144,4 +139,4 @@ namespace OpenSim.Framework
return true;
}
}
}
}

View File

@ -32,16 +32,15 @@ namespace OpenSim.Framework
[Serializable]
public class GridInstantMessage
{
public byte[] binaryBucket;
public byte dialog;
public Guid fromAgentID;
public Guid fromAgentSession;
public Guid toAgentID;
public Guid imSessionID;
public uint timestamp;
public string fromAgentName;
public Guid fromAgentSession;
public bool fromGroup;
public Guid imSessionID;
public string message;
public byte dialog;
public bool fromGroup;
public byte offline;
public uint ParentEstateID;
@ -49,11 +48,11 @@ namespace OpenSim.Framework
public sLLVector3 Position;
public Guid RegionID;
public byte[] binaryBucket;
public uint timestamp;
public Guid toAgentID;
public GridInstantMessage()
{
}
}
}
}
}

View File

@ -28,10 +28,10 @@
using System;
namespace OpenSim.Framework
{
{
public interface IAssetLoader
{
void ForEachDefaultXmlAsset(Action<AssetBase> action);
void ForEachDefaultXmlAsset(string assetSetFilename, Action<AssetBase> action);
}
}
}

View File

@ -38,4 +38,4 @@ namespace OpenSim.Framework
void CommitAssets(); // force a sync to the database
void Initialise(string connect);
}
}
}

View File

@ -50,7 +50,7 @@ namespace OpenSim.Framework
/// <param name="asset"></param>
/// <param name="IsTexture"></param>
void AssetReceived(AssetBase asset, bool IsTexture);
/// <summary>
/// Call back made when an asset server could not retrieve a requested asset
/// </summary>
@ -62,4 +62,4 @@ namespace OpenSim.Framework
{
IAssetServer GetAssetServer();
}
}
}

View File

@ -74,14 +74,19 @@ namespace OpenSim.Framework
/// </summary>
public class ChatFromViewerArgs : EventArgs, IEventArgs
{
protected string m_message;
protected ChatTypeEnum m_type;
protected int m_channel;
protected LLVector3 m_position;
protected string m_from;
protected string m_message;
protected LLVector3 m_position;
protected IClientAPI m_sender;
protected IScene m_scene;
protected IClientAPI m_sender;
protected ChatTypeEnum m_type;
public ChatFromViewerArgs()
{
m_position = new LLVector3();
}
/// <summary>
/// The message sent by the user
@ -128,6 +133,8 @@ namespace OpenSim.Framework
set { m_from = value; }
}
#region IEventArgs Members
/// <summary>
/// The client responsible for sending the message, or null.
/// </summary>
@ -146,18 +153,15 @@ namespace OpenSim.Framework
set { m_scene = value; }
}
public ChatFromViewerArgs()
{
m_position = new LLVector3();
}
#endregion
}
public class TextureRequestArgs : EventArgs
{
protected LLUUID m_requestedAssetID;
private sbyte m_discardLevel;
private uint m_packetNumber;
private float m_priority;
protected LLUUID m_requestedAssetID;
public float Priority
{
@ -206,6 +210,8 @@ namespace OpenSim.Framework
set { m_nowWearing = value; }
}
#region Nested type: Wearable
public class Wearable
{
public LLUUID ItemID = new LLUUID("00000000-0000-0000-0000-000000000000");
@ -217,6 +223,8 @@ namespace OpenSim.Framework
Type = type;
}
}
#endregion
}
public delegate void TextureRequest(Object sender, TextureRequestArgs e);
@ -224,18 +232,18 @@ namespace OpenSim.Framework
public delegate void AvatarNowWearing(Object sender, AvatarWearingArgs e);
public delegate void ImprovedInstantMessage(IClientAPI remoteclient,
LLUUID fromAgentID, LLUUID fromAgentSession, LLUUID toAgentID, LLUUID imSessionID, uint timestamp,
string fromAgentName, string message, byte dialog, bool fromGroup, byte offline, uint ParentEstateID,
LLVector3 Position, LLUUID RegionID, byte[] binaryBucket); // This shouldn't be cut down...
// especially if we're ever going to implement groups, presence, estate message dialogs...
LLUUID fromAgentID, LLUUID fromAgentSession, LLUUID toAgentID, LLUUID imSessionID, uint timestamp,
string fromAgentName, string message, byte dialog, bool fromGroup, byte offline, uint ParentEstateID,
LLVector3 Position, LLUUID RegionID, byte[] binaryBucket); // This shouldn't be cut down...
// especially if we're ever going to implement groups, presence, estate message dialogs...
public delegate void RezObject(IClientAPI remoteClient, LLUUID itemID, LLVector3 RayEnd, LLVector3 RayStart,
LLUUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
uint EveryoneMask, uint GroupMask, uint NextOwnerMask, uint ItemFlags,
bool RezSelected, bool RemoveItem, LLUUID fromTaskID );
LLUUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
uint EveryoneMask, uint GroupMask, uint NextOwnerMask, uint ItemFlags,
bool RezSelected, bool RemoveItem, LLUUID fromTaskID);
public delegate void RezSingleAttachmentFromInv(IClientAPI remoteClient, LLUUID itemID, uint AttachmentPt,
uint ItemFlags, uint NextOwnerMask);
uint ItemFlags, uint NextOwnerMask);
public delegate void ObjectAttach(IClientAPI remoteClient, uint objectLocalID, uint AttachmentPt, LLQuaternion rot);
@ -305,12 +313,10 @@ namespace OpenSim.Framework
public delegate void ObjectDuplicate(uint localID, LLVector3 offset, uint dupeFlags, LLUUID AgentID, LLUUID GroupID);
public delegate void ObjectDuplicateOnRay(uint localID, uint dupeFlags, LLUUID AgentID, LLUUID GroupID,
LLUUID RayTargetObj, LLVector3 RayEnd, LLVector3 RayStart,
bool BypassRaycast, bool RayEndIsIntersection, bool CopyCenters, bool CopyRotates);
public delegate void ObjectDuplicateOnRay(uint localID, uint dupeFlags, LLUUID AgentID, LLUUID GroupID,
LLUUID RayTargetObj, LLVector3 RayEnd, LLVector3 RayStart,
bool BypassRaycast, bool RayEndIsIntersection, bool CopyCenters, bool CopyRotates);
public delegate void StatusChange(bool status);
@ -355,7 +361,9 @@ namespace OpenSim.Framework
public delegate void UUIDNameRequest(LLUUID id, IClientAPI remote_client);
public delegate void AddNewPrim(LLUUID ownerID, LLVector3 RayEnd, LLQuaternion rot, PrimitiveBaseShape shape, byte bypassRaycast, LLVector3 RayStart, LLUUID RayTargetID, byte RayEndIsIntersection);
public delegate void AddNewPrim(
LLUUID ownerID, LLVector3 RayEnd, LLQuaternion rot, PrimitiveBaseShape shape, byte bypassRaycast, LLVector3 RayStart, LLUUID RayTargetID,
byte RayEndIsIntersection);
public delegate void RequestGodlikePowers(LLUUID AgentID, LLUUID SessionID, LLUUID token, bool GodLike, IClientAPI remote_client);
@ -409,7 +417,7 @@ namespace OpenSim.Framework
public delegate void UpdateTaskInventory(IClientAPI remoteClient, LLUUID itemID, LLUUID folderID, uint localID);
public delegate void MoveTaskInventory(IClientAPI remoteClient, LLUUID folderID, uint localID, LLUUID itemID);
public delegate void RemoveTaskInventory(IClientAPI remoteClient, LLUUID itemID, uint localID);
public delegate void UDPAssetUploadRequest(
@ -422,17 +430,17 @@ namespace OpenSim.Framework
public delegate void ConfirmXfer(IClientAPI remoteClient, ulong xferID, uint packetID);
public delegate void FriendActionDelegate(IClientAPI remoteClient,LLUUID agentID,LLUUID transactionID,List<LLUUID> callingCardFolders);
public delegate void FriendshipTermination(IClientAPI remoteClient,LLUUID agentID, LLUUID ExID);
public delegate void FriendActionDelegate(IClientAPI remoteClient, LLUUID agentID, LLUUID transactionID, List<LLUUID> callingCardFolders);
public delegate void FriendshipTermination(IClientAPI remoteClient, LLUUID agentID, LLUUID ExID);
public delegate void PacketStats(int inPackets, int outPackets, int unAckedBytes);
public delegate void MoneyTransferRequest(LLUUID sourceID, LLUUID destID, int amount, int transactionType, string description);
public delegate void ParcelBuy(LLUUID agentId, LLUUID groupId, bool final, bool groupOwned,
bool removeContribution, int parcelLocalID, int parcelArea, int parcelPrice, bool authenticated);
bool removeContribution, int parcelLocalID, int parcelArea, int parcelPrice, bool authenticated);
// We keep all this information for fraud purposes in the future.
public delegate void MoneyBalanceRequest(IClientAPI remoteClient, LLUUID agentID, LLUUID sessionID, LLUUID TransactionID);
@ -443,10 +451,33 @@ namespace OpenSim.Framework
public delegate void ObjectIncludeInSearch(IClientAPI remoteClient, bool IncludeInSearch, uint localID);
public delegate void ScriptAnswer(IClientAPI remoteClient, LLUUID objectID, LLUUID itemID, int answer);
public delegate void RequestPayPrice(IClientAPI remoteClient, LLUUID objectID);
public interface IClientAPI
{
LLVector3 StartPos { get; set; }
LLUUID AgentId { get; }
LLUUID SessionId { get; }
LLUUID SecureSessionId { get; }
string FirstName { get; }
string LastName { get; }
int NextAnimationSequenceNumber { get; }
/// <summary>
/// Returns the full name of the agent/avatar represented by this client
/// </summary>
/// <param name="newPack"></param>
/// <param name="packType"></param>
string Name { get; }
uint CircuitCode { get; }
event ImprovedInstantMessage OnInstantMessage;
event ChatFromViewer OnChatFromViewer;
event TextureRequest OnRequestTexture;
@ -563,38 +594,15 @@ namespace OpenSim.Framework
event MoneyBalanceRequest OnMoneyBalanceRequest;
event UpdateAvatarProperties OnUpdateAvatarProperties;
event ParcelBuy OnParcelBuy;
event RequestPayPrice OnRequestPayPrice ;
event RequestPayPrice OnRequestPayPrice;
event ObjectIncludeInSearch OnObjectIncludeInSearch;
event UUIDNameRequest OnTeleportHomeRequest;
event ScriptAnswer OnScriptAnswer;
event AgentSit OnUndo;
LLVector3 StartPos { get; set; }
LLUUID AgentId { get; }
LLUUID SessionId { get; }
LLUUID SecureSessionId { get; }
string FirstName { get; }
string LastName { get; }
int NextAnimationSequenceNumber { get; }
/// <summary>
/// Returns the full name of the agent/avatar represented by this client
/// </summary>
/// <param name="newPack"></param>
/// <param name="packType"></param>
string Name { get; }
uint CircuitCode { get; }
void OutPacket(Packet newPack, ThrottleOutPacketType packType);
void SendWearables(AvatarWearable[] wearables, int serial);
@ -608,9 +616,10 @@ namespace OpenSim.Framework
void SendInstantMessage(LLUUID fromAgent, LLUUID fromAgentSession, string message, LLUUID toAgent,
LLUUID imSessionID, string fromName, byte dialog, uint timeStamp);
void SendInstantMessage(LLUUID fromAgent, LLUUID fromAgentSession, string message, LLUUID toAgent,
LLUUID imSessionID, string fromName, byte dialog, uint timeStamp,
byte[] binaryBucket);
LLUUID imSessionID, string fromName, byte dialog, uint timeStamp,
byte[] binaryBucket);
void SendLayerData(float[] map);
void SendLayerData(int px, int py, float[] map);
@ -645,9 +654,9 @@ namespace OpenSim.Framework
void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape,
LLVector3 pos, uint flags, LLUUID objectID, LLUUID ownerID, string text, byte[] color,
uint parentID, byte[] particleSystem, LLQuaternion rotation, byte clickAction, byte[] textureanimation,
bool attachment, uint AttachmentPoint, LLUUID AssetId);
uint parentID, byte[] particleSystem, LLQuaternion rotation, byte clickAction, byte[] textureanimation,
bool attachment, uint AttachmentPoint, LLUUID AssetId);
void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape,
LLVector3 pos, uint flags, LLUUID objectID, LLUUID ownerID, string text, byte[] color,
uint parentID, byte[] particleSystem, LLQuaternion rotation, byte clickAction);
@ -657,7 +666,7 @@ namespace OpenSim.Framework
void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position,
LLQuaternion rotation, LLVector3 velocity, LLVector3 rotationalvelocity);
void SendInventoryFolderDetails(LLUUID ownerID, LLUUID folderID, List<InventoryItemBase> items,
List<InventoryFolderBase> folders, bool fetchFolders,
bool fetchItems);
@ -672,20 +681,20 @@ namespace OpenSim.Framework
void SendRemoveInventoryItem(LLUUID itemID);
void SendTaskInventory(LLUUID taskID, short serial, byte[] fileName);
/// <summary>
/// Used by the server to inform the client of a new inventory item. Used when transferring items
/// between avatars, possibly among other things.
/// </summary>
/// <param name="item"></param>
void SendBulkUpdateInventory(InventoryItemBase item);
void SendXferPacket(ulong xferID, uint packet, byte[] data);
void SendEconomyData(float EnergyEfficiency, int ObjectCapacity, int ObjectCount, int PriceEnergyUnit,
int PriceGroupCreate, int PriceObjectClaim, float PriceObjectRent, float PriceObjectScaleFactor,
int PriceParcelClaim, float PriceParcelClaimFactor, int PriceParcelRent, int PricePublicObjectDecay,
int PricePublicObjectDelete, int PriceRentLight, int PriceUpload, int TeleportMinPrice, float TeleportPriceExponent);
int PriceGroupCreate, int PriceObjectClaim, float PriceObjectRent, float PriceObjectScaleFactor,
int PriceParcelClaim, float PriceParcelClaimFactor, int PriceParcelRent, int PricePublicObjectDecay,
int PricePublicObjectDelete, int PriceRentLight, int PriceUpload, int TeleportMinPrice, float TeleportPriceExponent);
void SendAvatarPickerReply(AvatarPickerReplyPacket Pack);
@ -709,10 +718,11 @@ namespace OpenSim.Framework
void SendAvatarProperties(LLUUID avatarID, string aboutText, string bornOn, string charterMember, string flAbout,
uint flags, LLUUID flImageID, LLUUID imageID, string profileURL, LLUUID partnerID);
void SendScriptQuestion(LLUUID taskID, string taskName, string ownerName, LLUUID itemID, int question);
byte[] GetThrottlesPacked(float multiplier);
void SetDebug(int newDebug);
void InPacket(Packet NewPack);
@ -734,16 +744,16 @@ namespace OpenSim.Framework
[Serializable]
public class ClientInfo
{
public byte[] usecircuit;
public EndPoint userEP;
public EndPoint proxyEP;
public sAgentCircuitData agentcircuit;
public Dictionary<uint, uint> pendingAcks;
public Dictionary<uint, byte[]> needAck;
public List<byte[]> out_packets;
public Dictionary<uint, uint> pendingAcks;
public EndPoint proxyEP;
public uint sequence;
public byte[] usecircuit;
public EndPoint userEP;
}
}
}

View File

@ -37,4 +37,4 @@ namespace OpenSim.Framework
void Commit();
void Close();
}
}
}

View File

@ -56,14 +56,14 @@ namespace OpenSim.Framework
/// </summary>
/// <returns>A string containing the plugin version</returns>
string getVersion();
/// <summary>
/// Returns all child folders in the hierarchy from the parent folder and down.
/// Does not return the parent folder itself.
/// </summary>
/// <param name="parentID">The folder to get subfolders for</param>
/// <returns>A list of inventory folders</returns>
List<InventoryFolderBase> getFolderHierarchy(LLUUID parentID);
List<InventoryFolderBase> getFolderHierarchy(LLUUID parentID);
/// <summary>
/// Returns a list of inventory items contained within the specified folder
@ -149,4 +149,4 @@ namespace OpenSim.Framework
/// <param name="folder">The id of the folder</param>
void deleteInventoryFolder(LLUUID folder);
}
}
}

View File

@ -49,4 +49,4 @@ namespace OpenSim.Framework
/// </summary>
void Initialise();
}
}
}

View File

@ -64,4 +64,4 @@ namespace OpenSim.Framework
event RegionUp OnRegionUp;
event ChildAgentUpdate OnChildAgentUpdate;
}
}
}

View File

@ -34,4 +34,4 @@ namespace OpenSim.Framework
void SetIniConfigSource(IniConfigSource configSource);
RegionInfo[] LoadRegions();
}
}
}

View File

@ -39,11 +39,16 @@ namespace OpenSim.Framework
Up = 1,
Crashed = 2,
Starting = 3,
SlaveScene = 4
};
SlaveScene = 4
} ;
public interface IScene
{
RegionInfo RegionInfo { get; }
uint NextLocalId { get; }
RegionStatus Region_Status { get; set; }
ClientManager ClientManager { get; }
event restart OnRestart;
void AddNewClient(IClientAPI client, bool child);
@ -55,15 +60,8 @@ namespace OpenSim.Framework
string GetSimulatorVersion();
RegionInfo RegionInfo { get; }
uint NextLocalId { get; }
bool PresenceChildStatus(LLUUID avatarID);
RegionStatus Region_Status { get; set; }
ClientManager ClientManager { get; }
string GetCapsPath(LLUUID agentId);
string GetCapsPath(LLUUID agentId);
}
}
}

View File

@ -139,6 +139,7 @@ namespace OpenSim.Framework
/// </summary>
/// <param name="friendlistowner">The agent that we're retreiving the friends Data.</param>
List<FriendListItem> GetUserFriendList(LLUUID friendlistowner);
/// <summary>
/// Attempts to move currency units between accounts (NOT RELIABLE / TRUSTWORTHY. DONT TRY RUN YOUR OWN CURRENCY EXCHANGE WITH REAL VALUES)
/// </summary>
@ -174,4 +175,4 @@ namespace OpenSim.Framework
/// </summary>
void Initialise();
}
}
}

View File

@ -39,16 +39,16 @@ namespace OpenSim.Framework
/// <param name="lname">Last name</param>
/// <returns>A user profile. Returns null if no profile is found</returns>
UserProfileData GetUserProfile(string firstName, string lastName);
//UserProfileData GetUserProfile(string name);
/// <summary>
/// Loads a user profile from a database by UUID
/// </summary>
/// <param name="uuid">The target UUID</param>
/// <returns>A user profile. Returns null if no user profile is found.</returns>
UserProfileData GetUserProfile(LLUUID userId);
void clearUserAgent(LLUUID avatarID);
List<AvatarPickerAvatar> GenerateAgentPickerRequestResponse(LLUUID QueryID, string Query);
@ -109,4 +109,4 @@ namespace OpenSim.Framework
/// <param name="friendlistowner">The agent that we're retreiving the friends Data.</param>
List<FriendListItem> GetUserFriendList(LLUUID friendlistowner);
}
}
}

View File

@ -39,4 +39,4 @@ namespace OpenSim.Framework
public List<InventoryItemBase> Items;
public LLUUID UserID;
}
}
}

View File

@ -34,18 +34,16 @@ namespace OpenSim.Framework
/// </summary>
public class InventoryConfig
{
public string DefaultStartupMsg = String.Empty;
public string UserServerURL = String.Empty;
public string UserSendKey = String.Empty;
public string UserRecvKey = String.Empty;
public string DatabaseProvider = String.Empty;
public string DatabaseConnect = String.Empty;
public static uint DefaultHttpPort = 8004;
public uint HttpPort = DefaultHttpPort;
private ConfigurationMember configMember;
public string DatabaseConnect = String.Empty;
public string DatabaseProvider = String.Empty;
public string DefaultStartupMsg = String.Empty;
public uint HttpPort = DefaultHttpPort;
public string UserRecvKey = String.Empty;
public string UserSendKey = String.Empty;
public string UserServerURL = String.Empty;
public InventoryConfig(string description, string filename)
{
@ -79,30 +77,30 @@ namespace OpenSim.Framework
{
switch (configuration_key)
{
case "default_startup_message":
DefaultStartupMsg = (string) configuration_result;
break;
case "default_user_server":
UserServerURL = (string) configuration_result;
break;
case "user_send_key":
UserSendKey = (string) configuration_result;
break;
case "user_recv_key":
UserRecvKey = (string) configuration_result;
break;
case "database_provider":
DatabaseProvider = (string) configuration_result;
break;
case "database_connect":
DatabaseConnect = (string) configuration_result;
break;
case "http_port":
HttpPort = (uint) configuration_result;
break;
case "default_startup_message":
DefaultStartupMsg = (string) configuration_result;
break;
case "default_user_server":
UserServerURL = (string) configuration_result;
break;
case "user_send_key":
UserSendKey = (string) configuration_result;
break;
case "user_recv_key":
UserRecvKey = (string) configuration_result;
break;
case "database_provider":
DatabaseProvider = (string) configuration_result;
break;
case "database_connect":
DatabaseConnect = (string) configuration_result;
break;
case "http_port":
HttpPort = (uint) configuration_result;
break;
}
return true;
}
}
}
}

View File

@ -34,6 +34,11 @@ namespace OpenSim.Framework
/// </summary>
public class InventoryFolderBase
{
/// <summary>
/// The UUID for this folder
/// </summary>
private LLUUID _id;
/// <summary>
/// The name of the folder (64 characters or less)
/// </summary>
@ -49,11 +54,6 @@ namespace OpenSim.Framework
/// </summary>
private LLUUID _parentID;
/// <summary>
/// The UUID for this folder
/// </summary>
private LLUUID _id;
/// <summary>
/// Type of items normally stored in this folder
/// </summary>
@ -65,59 +65,41 @@ namespace OpenSim.Framework
/// time to time (1.19.1 caused us some fits there).
/// </summary>
private ushort _version;
public string Name {
get {
return _name;
}
set {
_name = value;
}
public string Name
{
get { return _name; }
set { _name = value; }
}
public LLUUID Owner {
get {
return _owner;
}
set {
_owner = value;
}
public LLUUID Owner
{
get { return _owner; }
set { _owner = value; }
}
public LLUUID ParentID {
get {
return _parentID;
}
set {
_parentID = value;
}
public LLUUID ParentID
{
get { return _parentID; }
set { _parentID = value; }
}
public LLUUID ID {
get {
return _id;
}
set {
_id = value;
}
public LLUUID ID
{
get { return _id; }
set { _id = value; }
}
public short Type {
get {
return _type;
}
set {
_type = value;
}
public short Type
{
get { return _type; }
set { _type = value; }
}
public ushort Version {
get {
return _version;
}
set {
_version = value;
}
public ushort Version
{
get { return _version; }
set { _version = value; }
}
}
}
}

View File

@ -34,11 +34,6 @@ namespace OpenSim.Framework
/// </summary>
public class InventoryItemBase
{
/// <summary>
/// A UUID containing the ID for the inventory item itself
/// </summary>
private LLUUID _id;
/// <summary>
/// The UUID of the associated asset on the asset server
/// </summary>
@ -50,19 +45,9 @@ namespace OpenSim.Framework
private int _assetType;
/// <summary>
/// The type of inventory item. (Can be slightly different to the asset type
///
/// </summary>
private int _invType;
/// <summary>
/// The folder this item is contained in
/// </summary>
private LLUUID _folder;
/// <summary>
/// The owner of this inventory item
/// </summary>
private LLUUID _owner;
private uint _basePermissions;
/// <summary>
/// The creator of this item
@ -70,150 +55,126 @@ namespace OpenSim.Framework
private LLUUID _creator;
/// <summary>
/// The name of the inventory item (must be less than 64 characters)
/// A mask containing permissions for the current owner (cannot be enforced)
/// </summary>
private string _name;
private uint _currentPermissions;
/// <summary>
/// The description of the inventory item (must be less than 64 characters)
/// </summary>
private string _description;
/// <summary>
///
/// </summary>
private uint _everyOnePermissions;
/// <summary>
/// The folder this item is contained in
/// </summary>
private LLUUID _folder;
/// <summary>
/// A UUID containing the ID for the inventory item itself
/// </summary>
private LLUUID _id;
/// <summary>
/// The type of inventory item. (Can be slightly different to the asset type
/// </summary>
private int _invType;
/// <summary>
/// The name of the inventory item (must be less than 64 characters)
/// </summary>
private string _name;
/// <summary>
/// A mask containing the permissions for the next owner (cannot be enforced)
/// </summary>
private uint _nextPermissions;
/// <summary>
/// A mask containing permissions for the current owner (cannot be enforced)
/// The owner of this inventory item
/// </summary>
private uint _currentPermissions;
private LLUUID _owner;
/// <summary>
///
/// </summary>
private uint _basePermissions;
/// <summary>
///
/// </summary>
private uint _everyOnePermissions;
public LLUUID ID {
get {
return _id;
}
set {
_id = value;
}
public LLUUID ID
{
get { return _id; }
set { _id = value; }
}
public int InvType {
get {
return _invType;
}
set {
_invType = value;
}
public int InvType
{
get { return _invType; }
set { _invType = value; }
}
public LLUUID Folder {
get {
return _folder;
}
set {
_folder = value;
}
public LLUUID Folder
{
get { return _folder; }
set { _folder = value; }
}
public LLUUID Owner {
get {
return _owner;
}
set {
_owner = value;
}
public LLUUID Owner
{
get { return _owner; }
set { _owner = value; }
}
public LLUUID Creator {
get {
return _creator;
}
set {
_creator = value;
}
public LLUUID Creator
{
get { return _creator; }
set { _creator = value; }
}
public string Name {
get {
return _name;
}
set {
_name = value;
}
public string Name
{
get { return _name; }
set { _name = value; }
}
public string Description {
get {
return _description;
}
set {
_description = value;
}
public string Description
{
get { return _description; }
set { _description = value; }
}
public uint NextPermissions {
get {
return _nextPermissions;
}
set {
_nextPermissions = value;
}
public uint NextPermissions
{
get { return _nextPermissions; }
set { _nextPermissions = value; }
}
public uint CurrentPermissions {
get {
return _currentPermissions;
}
set {
_currentPermissions = value;
}
public uint CurrentPermissions
{
get { return _currentPermissions; }
set { _currentPermissions = value; }
}
public uint BasePermissions {
get {
return _basePermissions;
}
set {
_basePermissions = value;
}
public uint BasePermissions
{
get { return _basePermissions; }
set { _basePermissions = value; }
}
public uint EveryOnePermissions {
get {
return _everyOnePermissions;
}
set {
_everyOnePermissions = value;
}
public uint EveryOnePermissions
{
get { return _everyOnePermissions; }
set { _everyOnePermissions = value; }
}
public int AssetType {
get {
return _assetType;
}
set {
_assetType = value;
}
public int AssetType
{
get { return _assetType; }
set { _assetType = value; }
}
public LLUUID AssetID {
get {
return _assetID;
}
set {
_assetID = value;
}
public LLUUID AssetID
{
get { return _assetID; }
set { _assetID = value; }
}
}
}
}

View File

@ -31,15 +31,15 @@ namespace OpenSim.Framework
{
public class JId
{
public string resource = String.Empty;
public string ServerIP = String.Empty;
public int ServerPort = 0;
public string username = String.Empty;
public string resource = String.Empty;
public JId()
{
}
public JId(string sJId)
{
// user@address:port/resource
@ -53,14 +53,13 @@ namespace OpenSim.Framework
string[] resourcesplit = serversplit[1].Split('/');
ServerPort = Convert.ToInt32(resourcesplit[0]);
if (resourcesplit.GetUpperBound(0) == 2)
resource = resourcesplit[1];
username = jidsplit[0];
}
}
}
}
}
}

View File

@ -33,28 +33,20 @@ namespace OpenSim.Framework
{
public class LandData
{
public byte[] landBitmapByteArray = new byte[512];
public string landName = "Your Parcel";
public string landDesc = String.Empty;
public LLUUID ownerID = LLUUID.Zero;
public bool isGroupOwned = false;
public LLVector3 AABBMin = new LLVector3();
public LLVector3 AABBMax = new LLVector3();
public LLVector3 AABBMin = new LLVector3();
public int area = 0;
public uint auctionID = 0; //Unemplemented. If set to 0, not being auctioned
public LLUUID authBuyerID = LLUUID.Zero; //Unemplemented. Authorized Buyer's UUID
public Parcel.ParcelCategory category = new Parcel.ParcelCategory(); //Unemplemented. Parcel's chosen category
public int claimDate = 0; //Unemplemented
public int claimPrice = 0; //Unemplemented
public LLUUID globalID = LLUUID.Zero;
public LLUUID groupID = LLUUID.Zero; //Unemplemented
public int groupPrims = 0;
public int otherPrims = 0;
public int ownerPrims = 0;
public int selectedPrims = 0;
public int simwidePrims = 0;
public int simwideArea = 0;
public int salePrice = 0; //Unemeplemented. Parcels price.
public Parcel.ParcelStatus landStatus = Parcel.ParcelStatus.Leased;
public bool isGroupOwned = false;
public byte[] landBitmapByteArray = new byte[512];
public string landDesc = String.Empty;
public uint landFlags = (uint) Parcel.ParcelFlags.AllowFly | (uint) Parcel.ParcelFlags.AllowLandmark |
@ -64,21 +56,28 @@ namespace OpenSim.Framework
(uint) Parcel.ParcelFlags.SoundLocal;
public byte landingType = 0;
public string landName = "Your Parcel";
public Parcel.ParcelStatus landStatus = Parcel.ParcelStatus.Leased;
public int localID = 0;
public byte mediaAutoScale = 0;
public LLUUID mediaID = LLUUID.Zero;
public int localID = 0;
public LLUUID globalID = LLUUID.Zero;
public string mediaURL = String.Empty;
public string musicURL = String.Empty;
public int otherPrims = 0;
public LLUUID ownerID = LLUUID.Zero;
public int ownerPrims = 0;
public List<ParcelManager.ParcelAccessEntry> parcelAccessList = new List<ParcelManager.ParcelAccessEntry>();
public float passHours = 0;
public int passPrice = 0;
public int salePrice = 0; //Unemeplemented. Parcels price.
public int selectedPrims = 0;
public int simwideArea = 0;
public int simwidePrims = 0;
public LLUUID snapshotID = LLUUID.Zero;
public LLVector3 userLocation = new LLVector3();
public LLVector3 userLookAt = new LLVector3();
public List<ParcelManager.ParcelAccessEntry> parcelAccessList = new List<ParcelManager.ParcelAccessEntry>();
public LandData()
{
globalID = LLUUID.Random();
@ -136,4 +135,4 @@ namespace OpenSim.Framework
return landData;
}
}
}
}

View File

@ -32,15 +32,15 @@ namespace OpenSim.Framework
{
public class Login
{
public string First = "Test";
public string Last = "User";
public LLUUID Agent;
public LLUUID Session;
public LLUUID SecureSession = LLUUID.Zero;
public LLUUID InventoryFolder;
public LLUUID BaseFolder;
public uint CircuitCode;
public string CapsPath = String.Empty;
public uint CircuitCode;
public string First = "Test";
public LLUUID InventoryFolder;
public string Last = "User";
public LLUUID SecureSession = LLUUID.Zero;
public LLUUID Session;
public LLVector3 StartPos;
public Login()
@ -48,4 +48,4 @@ namespace OpenSim.Framework
StartPos = new LLVector3(128, 128, 70);
}
}
}
}

View File

@ -32,18 +32,18 @@ namespace OpenSim.Framework
{
public class MapBlockData
{
public uint Flags;
public ushort X;
public ushort Y;
public byte Agents;
public byte Access;
public byte WaterHeight;
public byte Agents;
public uint Flags;
public LLUUID MapImageId;
public String Name;
public uint RegionFlags;
public byte WaterHeight;
public ushort X;
public ushort Y;
public MapBlockData()
{
}
}
}
}

View File

@ -34,25 +34,21 @@ namespace OpenSim.Framework
/// </summary>
public class MessageServerConfig
{
public string DefaultStartupMsg = String.Empty;
public string UserServerURL = String.Empty;
public string UserSendKey = String.Empty;
public string UserRecvKey = String.Empty;
public string GridServerURL = String.Empty;
public string GridSendKey = String.Empty;
public string GridRecvKey = String.Empty;
public string MessageServerIP = String.Empty;
public string DatabaseProvider = String.Empty;
public string GridCommsProvider = String.Empty;
public static uint DefaultHttpPort = 8006;
public static bool DefaultHttpSSL = false;
private ConfigurationMember configMember;
public string DatabaseProvider = String.Empty;
public string DefaultStartupMsg = String.Empty;
public string GridCommsProvider = String.Empty;
public string GridRecvKey = String.Empty;
public string GridSendKey = String.Empty;
public string GridServerURL = String.Empty;
public uint HttpPort = DefaultHttpPort;
public bool HttpSSL = DefaultHttpSSL;
private ConfigurationMember configMember;
public string MessageServerIP = String.Empty;
public string UserRecvKey = String.Empty;
public string UserSendKey = String.Empty;
public string UserServerURL = String.Empty;
public MessageServerConfig(string description, string filename)
{
@ -60,9 +56,9 @@ namespace OpenSim.Framework
new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration, true);
configMember.performConfigurationRetrieve();
}
public void loadConfigurationOptions()
{
configMember.addConfigurationOption("default_user_server",
ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
"Default User Server URI",
@ -82,7 +78,7 @@ namespace OpenSim.Framework
configMember.addConfigurationOption("database_provider", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
"DLL for database provider", "OpenSim.Data.MySQL.dll", false);
configMember.addConfigurationOption("region_comms_provider", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
"DLL for comms provider", "OpenSim.Region.Communications.OGS1.dll", false);
@ -91,51 +87,49 @@ namespace OpenSim.Framework
configMember.addConfigurationOption("http_ssl", ConfigurationOption.ConfigurationTypes.TYPE_BOOLEAN,
"Use SSL? true/false", DefaultHttpSSL.ToString(), false);
configMember.addConfigurationOption("published_ip", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
"My Published IP Address", "127.0.0.1", false);
"My Published IP Address", "127.0.0.1", false);
}
public bool handleIncomingConfiguration(string configuration_key, object configuration_result)
{
switch (configuration_key)
{
case "default_user_server":
UserServerURL = (string)configuration_result;
UserServerURL = (string) configuration_result;
break;
case "user_send_key":
UserSendKey = (string)configuration_result;
UserSendKey = (string) configuration_result;
break;
case "user_recv_key":
UserRecvKey = (string)configuration_result;
UserRecvKey = (string) configuration_result;
break;
case "default_grid_server":
GridServerURL = (string)configuration_result;
GridServerURL = (string) configuration_result;
break;
case "grid_send_key":
GridSendKey = (string)configuration_result;
GridSendKey = (string) configuration_result;
break;
case "grid_recv_key":
GridRecvKey = (string)configuration_result;
GridRecvKey = (string) configuration_result;
break;
case "database_provider":
DatabaseProvider = (string)configuration_result;
DatabaseProvider = (string) configuration_result;
break;
case "http_port":
HttpPort = (uint)configuration_result;
HttpPort = (uint) configuration_result;
break;
case "http_ssl":
HttpSSL = (bool)configuration_result;
HttpSSL = (bool) configuration_result;
break;
case "region_comms_provider":
GridCommsProvider = (string)configuration_result;
GridCommsProvider = (string) configuration_result;
break;
case "published_ip":
MessageServerIP = (string)configuration_result;
MessageServerIP = (string) configuration_result;
break;
}
}
return true;
}
}
}
}

View File

@ -29,14 +29,14 @@ namespace OpenSim.Framework
{
public class NeighbourInfo
{
public NeighbourInfo()
{
}
public ulong regionhandle;
public uint RegionLocX;
public uint RegionLocY;
public string sim_ip;
public uint sim_port;
public NeighbourInfo()
{
}
}
}
}

View File

@ -32,23 +32,22 @@ namespace OpenSim.Framework
{
public class NetworkServersInfo
{
public string AssetURL = "http://127.0.0.1:" + AssetConfig.DefaultHttpPort.ToString() + "/";
public string AssetSendKey = String.Empty;
public string GridURL = String.Empty;
public string GridSendKey = String.Empty;
public string GridRecvKey = String.Empty;
public string UserURL = String.Empty;
public string UserSendKey = String.Empty;
public string UserRecvKey = String.Empty;
public bool isSandbox;
public string InventoryURL = String.Empty;
public static readonly uint DefaultHttpListenerPort = 9000;
public uint HttpListenerPort = DefaultHttpListenerPort;
public static uint RemotingListenerPort = 8895;
public string AssetSendKey = String.Empty;
public string AssetURL = "http://127.0.0.1:" + AssetConfig.DefaultHttpPort.ToString() + "/";
public string GridRecvKey = String.Empty;
public string GridSendKey = String.Empty;
public string GridURL = String.Empty;
public uint HttpListenerPort = DefaultHttpListenerPort;
public string InventoryURL = String.Empty;
public bool isSandbox;
private uint? m_defaultHomeLocX;
private uint? m_defaultHomeLocY;
public string UserRecvKey = String.Empty;
public string UserSendKey = String.Empty;
public string UserURL = String.Empty;
public NetworkServersInfo()
@ -61,15 +60,11 @@ namespace OpenSim.Framework
m_defaultHomeLocY = defaultHomeLocY;
}
private uint? m_defaultHomeLocX;
public uint DefaultHomeLocX
{
get { return m_defaultHomeLocX.Value; }
}
private uint? m_defaultHomeLocY;
public uint DefaultHomeLocY
{
get { return m_defaultHomeLocY.Value; }
@ -100,4 +95,4 @@ namespace OpenSim.Framework
InventoryConfig.DefaultHttpPort.ToString());
}
}
}
}

View File

@ -31,13 +31,17 @@ using libsecondlife;
namespace OpenSim.Framework
{
[Serializable]
public class OSUUID: IComparable
public class OSUUID : IComparable
{
public static readonly OSUUID Zero = new OSUUID();
public Guid UUID;
public OSUUID() {}
public OSUUID()
{
}
/* Constructors */
public OSUUID(string s)
{
if (s == null)
@ -61,6 +65,21 @@ namespace OpenSim.Framework
UUID = new Guid(0, 0, 0, BitConverter.GetBytes(u));
}
#region IComparable Members
public int CompareTo(object obj)
{
if (obj is OSUUID)
{
OSUUID ID = (OSUUID) obj;
return UUID.CompareTo(ID.UUID);
}
throw new ArgumentException("object is not a OSUUID");
}
#endregion
// out conversion
public override string ToString()
{
@ -81,28 +100,15 @@ namespace OpenSim.Framework
public override bool Equals(object o)
{
if (!(o is LLUUID)) return false;
OSUUID uuid = (OSUUID)o;
OSUUID uuid = (OSUUID) o;
return UUID == uuid.UUID;
}
public int CompareTo(object obj)
{
if (obj is OSUUID)
{
OSUUID ID = (OSUUID)obj;
return this.UUID.CompareTo(ID.UUID);
}
throw new ArgumentException("object is not a OSUUID");
}
// Static methods
public static OSUUID Random()
{
return new OSUUID(Guid.NewGuid());
}
public static readonly OSUUID Zero = new OSUUID();
}
}
}

View File

@ -35,18 +35,31 @@ namespace OpenSim.Framework
{
public sealed class PacketPool
{
static public void EncodeProxyMessage(byte[] bytes, ref int numBytes, EndPoint trueEP)
private static readonly PacketPool instance = new PacketPool();
private Hashtable pool = new Hashtable();
static PacketPool()
{
if( numBytes > 4090 ) // max UPD size = 4096
}
public static PacketPool Instance
{
get { return instance; }
}
public static void EncodeProxyMessage(byte[] bytes, ref int numBytes, EndPoint trueEP)
{
if (numBytes > 4090) // max UPD size = 4096
{
throw new Exception("ERROR: No space to encode the proxy EP");
}
ushort port = (ushort) ((IPEndPoint) trueEP).Port;
bytes[numBytes++] = (byte)(port % 256);
bytes[numBytes++] = (byte)(port / 256);
foreach (byte b in ((IPEndPoint)trueEP).Address.GetAddressBytes())
bytes[numBytes++] = (byte) (port % 256);
bytes[numBytes++] = (byte) (port / 256);
foreach (byte b in ((IPEndPoint) trueEP).Address.GetAddressBytes())
{
bytes[numBytes++] = b;
}
@ -57,8 +70,8 @@ namespace OpenSim.Framework
numBytes = x;
}
static public EndPoint DecodeProxyMessage(byte[] bytes, ref int numBytes)
public static EndPoint DecodeProxyMessage(byte[] bytes, ref int numBytes)
{
// IPv4 Only
byte[] addr = new byte[4];
@ -68,35 +81,19 @@ namespace OpenSim.Framework
addr[1] = bytes[--numBytes];
addr[0] = bytes[--numBytes];
ushort port = (ushort)(bytes[--numBytes] * 256);
port += (ushort)bytes[--numBytes];
ushort port = (ushort) (bytes[--numBytes] * 256);
port += (ushort) bytes[--numBytes];
return (EndPoint) new IPEndPoint(new IPAddress(addr), (int)port);
return (EndPoint) new IPEndPoint(new IPAddress(addr), (int) port);
}
// Set up a thread-safe singleton pattern
static PacketPool()
public Packet GetPacket(PacketType type)
{
}
static readonly PacketPool instance = new PacketPool();
public static PacketPool Instance
{
get
{
return instance;
}
}
private Hashtable pool = new Hashtable();
public Packet GetPacket(PacketType type) {
Packet packet = null;
lock(pool)
lock (pool)
{
if(pool[type] == null || ((Stack) pool[type]).Count == 0)
if (pool[type] == null || ((Stack) pool[type]).Count == 0)
{
// Creating a new packet if we cannot reuse an old package
packet = Packet.BuildPacket(type);
@ -104,14 +101,14 @@ namespace OpenSim.Framework
else
{
// Recycle old packages
packet=(Packet) ((Stack) pool[type]).Pop();
packet = (Packet) ((Stack) pool[type]).Pop();
}
}
return packet;
}
// private byte[] decoded_header = new byte[10];
// private byte[] decoded_header = new byte[10];
private PacketType GetType(byte[] bytes)
{
byte[] decoded_header = new byte[10 + 8];
@ -120,7 +117,7 @@ namespace OpenSim.Framework
Buffer.BlockCopy(bytes, 0, decoded_header, 0, 10);
if((bytes[0] & Helpers.MSG_ZEROCODED)!=0)
if ((bytes[0] & Helpers.MSG_ZEROCODED) != 0)
{
Helpers.ZeroDecodeCommand(bytes, decoded_header);
}
@ -129,21 +126,21 @@ namespace OpenSim.Framework
{
if (decoded_header[7] == 0xFF)
{
id = (ushort)((decoded_header[8] << 8) + decoded_header[9]);
id = (ushort) ((decoded_header[8] << 8) + decoded_header[9]);
freq = PacketFrequency.Low;
}
else
{
id = (ushort)decoded_header[7];
id = (ushort) decoded_header[7];
freq = PacketFrequency.Medium;
}
}
else
{
id = (ushort)decoded_header[6];
id = (ushort) decoded_header[6];
freq = PacketFrequency.High;
}
return Packet.GetType(id, freq);
}
@ -157,7 +154,8 @@ namespace OpenSim.Framework
return packet;
}
public void ReturnPacket(Packet packet) {
public void ReturnPacket(Packet packet)
{
return; // packet pool disabled
/* // Commented out to remove a compiler warning. :)
@ -177,4 +175,4 @@ namespace OpenSim.Framework
*/
}
}
}
}

View File

@ -202,7 +202,7 @@ namespace OpenSim.Framework
public void SetRadius(float radius)
{
Scale.X = Scale.Y = radius*2f;
Scale.X = Scale.Y = radius * 2f;
}
// TODO: void returns need to change of course
@ -237,4 +237,4 @@ namespace OpenSim.Framework
ProfileEnd = LLObject.PackEndCut(profileRange.Y);
}
}
}
}

View File

@ -33,6 +33,21 @@ namespace OpenSim.Framework
{
public class RegionCommsListener : IRegionCommsListener
{
public string debugRegionName = String.Empty;
private AcknowledgeAgentCross handlerAcknowledgeAgentCrossed = null; // OnAcknowledgeAgentCrossed;
private AcknowledgePrimCross handlerAcknowledgePrimCrossed = null; // OnAcknowledgePrimCrossed;
private AgentCrossing handlerAvatarCrossingIntoRegion = null; // OnAvatarCrossingIntoRegion;
private ChildAgentUpdate handlerChildAgentUpdate = null; // OnChildAgentUpdate;
private CloseAgentConnection handlerCloseAgentConnection = null; // OnCloseAgentConnection;
private GenericCall2 handlerExpectChildAgent = null; // OnExpectChildAgent;
private ExpectPrimDelegate handlerExpectPrim = null; // OnExpectPrim;
private ExpectUserDelegate handlerExpectUser = null; // OnExpectUser
private UpdateNeighbours handlerNeighboursUpdate = null; // OnNeighboursUpdate;
private PrimCrossing handlerPrimCrossingIntoRegion = null; // OnPrimCrossingIntoRegion;
private RegionUp handlerRegionUp = null; // OnRegionUp;
#region IRegionCommsListener Members
public event ExpectUserDelegate OnExpectUser;
public event ExpectPrimDelegate OnExpectPrim;
public event GenericCall2 OnExpectChildAgent;
@ -45,20 +60,7 @@ namespace OpenSim.Framework
public event RegionUp OnRegionUp;
public event ChildAgentUpdate OnChildAgentUpdate;
private ExpectUserDelegate handlerExpectUser = null; // OnExpectUser
private ExpectPrimDelegate handlerExpectPrim = null; // OnExpectPrim;
private GenericCall2 handlerExpectChildAgent = null; // OnExpectChildAgent;
private AgentCrossing handlerAvatarCrossingIntoRegion = null; // OnAvatarCrossingIntoRegion;
private PrimCrossing handlerPrimCrossingIntoRegion = null; // OnPrimCrossingIntoRegion;
private UpdateNeighbours handlerNeighboursUpdate = null; // OnNeighboursUpdate;
private AcknowledgeAgentCross handlerAcknowledgeAgentCrossed = null; // OnAcknowledgeAgentCrossed;
private AcknowledgePrimCross handlerAcknowledgePrimCrossed = null; // OnAcknowledgePrimCrossed;
private CloseAgentConnection handlerCloseAgentConnection = null; // OnCloseAgentConnection;
private RegionUp handlerRegionUp = null; // OnRegionUp;
private ChildAgentUpdate handlerChildAgentUpdate = null; // OnChildAgentUpdate;
public string debugRegionName = String.Empty;
#endregion
/// <summary>
///
@ -164,7 +166,6 @@ namespace OpenSim.Framework
{
handlerCloseAgentConnection(regionHandle, agentID);
return true;
}
return false;
}
@ -213,4 +214,4 @@ namespace OpenSim.Framework
return false;
}
}
}
}

View File

@ -146,4 +146,4 @@ namespace OpenSim.Framework
return y;
}
}
}
}

View File

@ -37,9 +37,26 @@ namespace OpenSim.Framework
[Serializable]
public class SimpleRegionInfo
{
// private static readonly log4net.ILog m_log
// = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// private static readonly log4net.ILog m_log
// = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
protected bool Allow_Alternate_Ports;
public bool m_allow_alternate_ports;
protected string m_externalHostName;
/// <value>
/// The port by which http communication occurs with the region (most noticeably, CAPS communication)
/// </value>
protected uint m_httpPort;
protected IPEndPoint m_internalEndPoint;
protected uint? m_regionLocX;
protected uint? m_regionLocY;
protected uint m_remotingPort;
protected string m_serverURI;
public LLUUID RegionID = LLUUID.Zero;
public string RemotingAddress;
public SimpleRegionInfo()
{
}
@ -74,52 +91,27 @@ namespace OpenSim.Framework
m_allow_alternate_ports = ConvertFrom.m_allow_alternate_ports;
RemotingAddress = ConvertFrom.RemotingAddress;
RegionID = LLUUID.Zero;
ServerURI = ConvertFrom.ServerURI;
ServerURI = ConvertFrom.ServerURI;
}
public LLUUID RegionID = LLUUID.Zero;
protected uint m_remotingPort;
public uint RemotingPort
{
get { return m_remotingPort; }
set { m_remotingPort = value; }
}
/// <value>
/// The port by which http communication occurs with the region (most noticeably, CAPS communication)
/// </value>
protected uint m_httpPort;
public uint HttpPort
{
get { return m_httpPort; }
set { m_httpPort = value; }
}
public bool m_allow_alternate_ports;
protected string m_serverURI;
public int getInternalEndPointPort()
{
return m_internalEndPoint.Port;
}
public string ServerURI
{
get
{
return m_serverURI;
}
set
{
m_serverURI = value;
}
get { return m_serverURI; }
set { m_serverURI = value; }
}
public string RemotingAddress;
/// <value>
/// This accessor can throw all the exceptions that Dns.GetHostAddresses can throw.
///
@ -139,7 +131,7 @@ namespace OpenSim.Framework
// Reset for next check
ia = null;
foreach (IPAddress Adr in Dns.GetHostAddresses(m_externalHostName))
{
if (ia == null)
@ -158,33 +150,24 @@ namespace OpenSim.Framework
set { m_externalHostName = value.ToString(); }
}
protected string m_externalHostName;
public string ExternalHostName
{
get { return m_externalHostName; }
set { m_externalHostName = value; }
}
protected bool Allow_Alternate_Ports;
protected IPEndPoint m_internalEndPoint;
public IPEndPoint InternalEndPoint
{
get { return m_internalEndPoint; }
set { m_internalEndPoint = value; }
}
protected uint? m_regionLocX;
public uint RegionLocX
{
get { return m_regionLocX.Value; }
set { m_regionLocX = value; }
}
protected uint? m_regionLocY;
public uint RegionLocY
{
get { return m_regionLocY.Value; }
@ -193,49 +176,39 @@ namespace OpenSim.Framework
public ulong RegionHandle
{
get { return Util.UIntsToLong((RegionLocX * (uint)Constants.RegionSize), (RegionLocY * (uint)Constants.RegionSize)); }
get { return Util.UIntsToLong((RegionLocX * (uint) Constants.RegionSize), (RegionLocY * (uint) Constants.RegionSize)); }
}
public int getInternalEndPointPort()
{
return m_internalEndPoint.Port;
}
}
public class RegionInfo : SimpleRegionInfo
{
// private static readonly log4net.ILog m_log
// = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
public string RegionName = String.Empty;
// private static readonly log4net.ILog m_log
// = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
public bool commFailTF = false;
public ConfigurationMember configMember;
public LLUUID CovenantID = LLUUID.Zero;
public string DataStore = String.Empty;
public bool isSandbox = false;
public bool commFailTF = false;
private EstateSettings m_estateSettings;
// public bool m_allow_alternate_ports;
public LLUUID MasterAvatarAssignedUUID = LLUUID.Zero;
public LLUUID CovenantID = LLUUID.Zero;
public string MasterAvatarFirstName = String.Empty;
public string MasterAvatarLastName = String.Empty;
public string MasterAvatarSandboxPassword = String.Empty;
public string regionSecret = LLUUID.Random().ToString();
public string proxyUrl = "";
public LLUUID originRegionID = LLUUID.Zero;
public string proxyUrl = "";
public string RegionName = String.Empty;
public string regionSecret = LLUUID.Random().ToString();
// Apparently, we're applying the same estatesettings regardless of whether it's local or remote.
private EstateSettings m_estateSettings;
public EstateSettings EstateSettings
{
get
{
if (m_estateSettings == null)
{
m_estateSettings = new EstateSettings();
}
return m_estateSettings;
}
}
public ConfigurationMember configMember;
public RegionInfo(string description, string filename, bool skipConsoleConfig)
{
@ -286,15 +259,27 @@ namespace OpenSim.Framework
m_allow_alternate_ports = ConvertFrom.m_allow_alternate_ports;
RemotingAddress = ConvertFrom.RemotingAddress;
RegionID = LLUUID.Zero;
ServerURI = ConvertFrom.ServerURI;
ServerURI = ConvertFrom.ServerURI;
}
public EstateSettings EstateSettings
{
get
{
if (m_estateSettings == null)
{
m_estateSettings = new EstateSettings();
}
return m_estateSettings;
}
}
public void SetEndPoint(string ipaddr, int port)
{
IPAddress tmpIP = IPAddress.Parse(ipaddr);
IPEndPoint tmpEPE= new IPEndPoint(tmpIP, port);
IPEndPoint tmpEPE = new IPEndPoint(tmpIP, port);
m_internalEndPoint = tmpEPE;
}
//not in use, should swap to nini though.
@ -351,8 +336,9 @@ namespace OpenSim.Framework
return true;
}
public void SaveRegionToFile(string description, string filename) {
configMember = new ConfigurationMember(filename, description, loadConfigurationOptionsFromMe,
public void SaveRegionToFile(string description, string filename)
{
configMember = new ConfigurationMember(filename, description, loadConfigurationOptionsFromMe,
ignoreIncomingConfiguration, false);
configMember.performConfigurationRetrieve();
}
@ -371,13 +357,13 @@ namespace OpenSim.Framework
//configMember.addConfigurationOption("datastore", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "Filename for local storage", "OpenSim.db", false);
configMember.addConfigurationOption("internal_ip_address",
ConfigurationOption.ConfigurationTypes.TYPE_IP_ADDRESS,
"Internal IP Address for incoming UDP client connections",
"Internal IP Address for incoming UDP client connections",
m_internalEndPoint.Address.ToString(),
true);
configMember.addConfigurationOption("internal_ip_port", ConfigurationOption.ConfigurationTypes.TYPE_INT32,
"Internal IP Port for incoming UDP client connections",
m_internalEndPoint.Port.ToString(), true);
configMember.addConfigurationOption("allow_alternate_ports",
configMember.addConfigurationOption("allow_alternate_ports",
ConfigurationOption.ConfigurationTypes.TYPE_BOOLEAN,
"Allow sim to find alternate UDP ports when ports are in use?",
m_allow_alternate_ports.ToString(), true);
@ -396,7 +382,7 @@ namespace OpenSim.Framework
ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
"Last Name of Master Avatar", MasterAvatarLastName, true);
configMember.addConfigurationOption("master_avatar_pass", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
"(Sandbox Mode Only)Password for Master Avatar account",
"(Sandbox Mode Only)Password for Master Avatar account",
MasterAvatarSandboxPassword, true);
}
@ -461,7 +447,7 @@ namespace OpenSim.Framework
{
case "sim_UUID":
RegionID = (LLUUID) configuration_result;
originRegionID = (LLUUID)configuration_result;
originRegionID = (LLUUID) configuration_result;
break;
case "sim_name":
RegionName = (string) configuration_result;
@ -480,10 +466,10 @@ namespace OpenSim.Framework
m_internalEndPoint = new IPEndPoint(address, 0);
break;
case "internal_ip_port":
m_internalEndPoint.Port = (int)configuration_result;
m_internalEndPoint.Port = (int) configuration_result;
break;
case "allow_alternate_ports":
m_allow_alternate_ports = (bool)configuration_result;
m_allow_alternate_ports = (bool) configuration_result;
break;
case "external_host_name":
if ((string) configuration_result != "SYSTEMIP")
@ -517,9 +503,9 @@ namespace OpenSim.Framework
return true;
}
public void SaveEstatecovenantUUID(LLUUID notecard)
public void SaveEstatecovenantUUID(LLUUID notecard)
{
configMember.forceSetConfigurationOption("estate_covanant_uuid", notecard.ToString());
}
}
}
}

View File

@ -32,10 +32,11 @@ namespace OpenSim.Framework
[Serializable]
public class RegionUpData
{
private uint m_X = 0;
private uint m_Y = 0;
private string m_ipaddr = "";
private int m_port = 0;
private uint m_X = 0;
private uint m_Y = 0;
public RegionUpData(uint X, uint Y, string ipaddr, int port)
{
m_X = X;
@ -48,17 +49,20 @@ namespace OpenSim.Framework
{
get { return m_X; }
}
public uint Y
{
get { return m_Y; }
}
public string IPADDR
{
get { return m_ipaddr; }
}
public int PORT
{
get { return m_port; }
get { return m_port; }
}
}
}
}

View File

@ -108,7 +108,7 @@ namespace OpenSim.Framework
byte[] bytes = new byte[64];
RNG.GetBytes(bytes);
StringBuilder sb = new StringBuilder(bytes.Length*2);
StringBuilder sb = new StringBuilder(bytes.Length * 2);
foreach (byte b in bytes)
{
sb.AppendFormat("{0:x2}", b);
@ -131,4 +131,4 @@ namespace OpenSim.Framework
return c;
}
}
}
}

View File

@ -39,16 +39,20 @@ namespace OpenSim.Framework
[XmlRoot(ElementName = "inventory", IsNullable = true)]
public class SerializableInventory
{
[XmlElement(ElementName = "folder", IsNullable = true)] public SerializableFolder root;
#region Nested type: SerializableFolder
[XmlRoot(ElementName = "folder", IsNullable = true)]
public class SerializableFolder : InventoryFolderBase
{
[XmlArray(ElementName = "folders", IsNullable = true)] [XmlArrayItem(ElementName = "folder", IsNullable = true, Type = typeof (SerializableFolder))] public
ArrayList SubFolders;
[XmlArray(ElementName = "items", IsNullable = true)] [XmlArrayItem(ElementName = "item", IsNullable = true, Type = typeof (InventoryItemBase))] public ArrayList
Items;
[XmlArray(ElementName = "folders", IsNullable = true)] [XmlArrayItem(ElementName = "folder", IsNullable = true, Type = typeof (SerializableFolder))] public
ArrayList SubFolders;
}
[XmlElement(ElementName = "folder", IsNullable = true)] public SerializableFolder root;
#endregion
}
}
}

View File

@ -35,6 +35,28 @@ namespace OpenSim.Framework
[Serializable]
public class SearializableRegionInfo
{
public bool m_allow_alternate_ports;
protected string m_externalHostName;
/// <value>
/// The port by which http communication occurs with the region (most noticeably, CAPS communication)
///
/// FIXME: Defaulting to 9000 temporarily (on the basis that this is the http port most region
/// servers are running) until the revision in which this change is made propogates around grids.
/// </value>
protected uint m_httpPort = 9000;
protected IPEndPoint m_internalEndPoint;
protected Guid m_originRegionID = LLUUID.Zero.UUID;
protected string m_proxyUrl;
protected uint? m_regionLocX;
protected uint? m_regionLocY;
protected string m_regionName;
public uint m_remotingPort;
protected string m_serverURI;
public Guid RegionID = LLUUID.Zero.UUID;
public string RemotingAddress;
/// <summary>
/// This is a serializable version of RegionInfo
/// </summary>
@ -52,7 +74,7 @@ namespace OpenSim.Framework
m_httpPort = ConvertFrom.HttpPort;
m_allow_alternate_ports = ConvertFrom.m_allow_alternate_ports;
RemotingAddress = ConvertFrom.RemotingAddress;
m_proxyUrl = ConvertFrom.proxyUrl;
m_proxyUrl = ConvertFrom.proxyUrl;
OriginRegionID = ConvertFrom.originRegionID;
RegionName = ConvertFrom.RegionName;
ServerURI = ConvertFrom.ServerURI;
@ -77,31 +99,17 @@ namespace OpenSim.Framework
m_internalEndPoint = new IPEndPoint(IPAddress.Parse("0.0.0.0"), (int) port);
}
public Guid RegionID = LLUUID.Zero.UUID;
public uint m_remotingPort;
public uint RemotingPort
{
get { return m_remotingPort; }
set { m_remotingPort = value; }
}
/// <value>
/// The port by which http communication occurs with the region (most noticeably, CAPS communication)
///
/// FIXME: Defaulting to 9000 temporarily (on the basis that this is the http port most region
/// servers are running) until the revision in which this change is made propogates around grids.
/// </value>
protected uint m_httpPort = 9000;
public uint HttpPort
{
get { return m_httpPort; }
set { m_httpPort = value; }
}
public bool m_allow_alternate_ports;
public string RemotingAddress;
}
public IPEndPoint ExternalEndPoint
{
@ -138,32 +146,24 @@ namespace OpenSim.Framework
set { m_externalHostName = value.ToString(); }
}
protected string m_externalHostName;
public string ExternalHostName
{
get { return m_externalHostName; }
set { m_externalHostName = value; }
}
protected IPEndPoint m_internalEndPoint;
public IPEndPoint InternalEndPoint
{
get { return m_internalEndPoint; }
set { m_internalEndPoint = value; }
}
protected uint? m_regionLocX;
public uint RegionLocX
{
get { return m_regionLocX.Value; }
set { m_regionLocX = value; }
}
protected uint? m_regionLocY;
public uint RegionLocY
{
get { return m_regionLocY.Value; }
@ -172,59 +172,31 @@ namespace OpenSim.Framework
public ulong RegionHandle
{
get { return Util.UIntsToLong((RegionLocX * (uint)Constants.RegionSize), (RegionLocY * (uint)Constants.RegionSize)); }
get { return Util.UIntsToLong((RegionLocX * (uint) Constants.RegionSize), (RegionLocY * (uint) Constants.RegionSize)); }
}
protected string m_proxyUrl;
public string ProxyUrl
{
get
{
return m_proxyUrl;
}
set
{
m_proxyUrl = value;
}
get { return m_proxyUrl; }
set { m_proxyUrl = value; }
}
protected Guid m_originRegionID = LLUUID.Zero.UUID;
public LLUUID OriginRegionID
{
get
{
return new LLUUID(m_originRegionID);
}
set
{
m_originRegionID = value.UUID;
}
get { return new LLUUID(m_originRegionID); }
set { m_originRegionID = value.UUID; }
}
protected string m_regionName;
public string RegionName
{
get
{
return m_regionName;
}
set
{
m_regionName = value;
}
get { return m_regionName; }
set { m_regionName = value; }
}
protected string m_serverURI;
public string ServerURI
{
get
{
return m_serverURI;
}
set
{
m_serverURI = value;
}
get { return m_serverURI; }
set { m_serverURI = value; }
}
}
}
}

View File

@ -35,19 +35,38 @@ using libsecondlife;
using log4net;
namespace OpenSim.Framework
{
{
/// <summary>
/// A dictionary for task inventory.
///
/// This class is not thread safe. Callers must synchronize on Dictionary methods.
/// </summary>
public class TaskInventoryDictionary : Dictionary<LLUUID, TaskInventoryItem>,
ICloneable, IXmlSerializable
public class TaskInventoryDictionary : Dictionary<LLUUID, TaskInventoryItem>,
ICloneable, IXmlSerializable
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private static XmlSerializer tiiSerializer = new XmlSerializer(typeof(TaskInventoryItem));
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private static XmlSerializer tiiSerializer = new XmlSerializer(typeof (TaskInventoryItem));
#region ICloneable Members
public Object Clone()
{
TaskInventoryDictionary clone = new TaskInventoryDictionary();
lock (this)
{
foreach (LLUUID uuid in Keys)
{
clone.Add(uuid, (TaskInventoryItem) this[uuid].Clone());
}
}
return clone;
}
#endregion
// The alternative of simply serializing the list doesn't appear to work on mono, since
// we get a
//
@ -58,43 +77,46 @@ namespace OpenSim.Framework
// ...
// private static XmlSerializer tiiSerializer
// = new XmlSerializer(typeof(Dictionary<LLUUID, TaskInventoryItem>.ValueCollection));
// see IXmlSerializable
#region IXmlSerializable Members
public XmlSchema GetSchema()
{
return null;
}
// see IXmlSerializable
public void ReadXml(XmlReader reader)
{
m_log.DebugFormat("[TASK INVENTORY]: ReadXml current node before actions, {0}", reader.Name);
m_log.DebugFormat("[TASK INVENTORY]: ReadXml current node before actions, {0}", reader.Name);
if (!reader.IsEmptyElement)
{
reader.Read();
while (tiiSerializer.CanDeserialize(reader))
{
TaskInventoryItem item = (TaskInventoryItem)tiiSerializer.Deserialize(reader);
TaskInventoryItem item = (TaskInventoryItem) tiiSerializer.Deserialize(reader);
Add(item.ItemID, item);
m_log.DebugFormat("[TASK INVENTORY]: Instanted prim item {0}, {1} from xml", item.Name, item.ItemID);
}
m_log.DebugFormat("[TASK INVENTORY]: Instantiated {0} prim items in total from xml", Count);
}
else
{
m_log.DebugFormat("[TASK INVENTORY]: Skipping empty element {0}", reader.Name);
}
// For some .net implementations, this last read is necessary so that we advance beyond the end tag
// of the element wrapping this object so that the rest of the serialization can complete normally.
reader.Read();
m_log.DebugFormat("[TASK INVENTORY]: ReadXml current node after actions, {0}", reader.Name);
m_log.DebugFormat("[TASK INVENTORY]: ReadXml current node after actions, {0}", reader.Name);
}
// see IXmlSerializable
public void WriteXml(XmlWriter writer)
{
@ -105,27 +127,15 @@ namespace OpenSim.Framework
tiiSerializer.Serialize(writer, item);
}
}
//tiiSerializer.Serialize(writer, Values);
}
#endregion
// see ICloneable
public Object Clone()
{
TaskInventoryDictionary clone = new TaskInventoryDictionary();
lock (this)
{
foreach (LLUUID uuid in Keys)
{
clone.Add(uuid, (TaskInventoryItem)this[uuid].Clone());
}
}
return clone;
}
}
/// <summary>
/// Represents an item in a task inventory
/// </summary>
@ -135,90 +145,99 @@ namespace OpenSim.Framework
/// XXX This should really be factored out into some constants class.
/// </summary>
private const uint FULL_MASK_PERMISSIONS_GENERAL = 2147483647;
/// <summary>
/// Inventory types
/// </summary>
public static string[] InvTypes = new string[]
{
"texture",
"sound",
"calling_card",
"landmark",
String.Empty,
String.Empty,
"object",
"notecard",
String.Empty,
String.Empty,
"lsl_text",
String.Empty,
String.Empty,
"bodypart",
String.Empty,
"snapshot",
String.Empty,
String.Empty,
"wearable",
"animation",
"gesture"
{
"texture",
"sound",
"calling_card",
"landmark",
String.Empty,
String.Empty,
"object",
"notecard",
String.Empty,
String.Empty,
"lsl_text",
String.Empty,
String.Empty,
"bodypart",
String.Empty,
"snapshot",
String.Empty,
String.Empty,
"wearable",
"animation",
"gesture"
};
};
/// <summary>
/// Asset types
/// </summary>
public static string[] Types = new string[]
{
"texture",
"sound",
"callcard",
"landmark",
"clothing", // Deprecated
"clothing",
"object",
"notecard",
"category",
"root",
"lsltext",
"lslbyte",
"txtr_tga",
"bodypart",
"trash",
"snapshot",
"lstndfnd",
"snd_wav",
"img_tga",
"jpeg",
"animatn",
"gesture"
};
public LLUUID ItemID = LLUUID.Zero;
public LLUUID ParentID = LLUUID.Zero; //parent folder id
public uint BaseMask = FULL_MASK_PERMISSIONS_GENERAL;
public uint OwnerMask = FULL_MASK_PERMISSIONS_GENERAL;
public uint GroupMask = FULL_MASK_PERMISSIONS_GENERAL;
public uint EveryoneMask = FULL_MASK_PERMISSIONS_GENERAL;
public uint NextOwnerMask = FULL_MASK_PERMISSIONS_GENERAL;
public LLUUID CreatorID = LLUUID.Zero;
public LLUUID OwnerID = LLUUID.Zero;
public LLUUID LastOwnerID = LLUUID.Zero;
public LLUUID GroupID = LLUUID.Zero;
{
"texture",
"sound",
"callcard",
"landmark",
"clothing", // Deprecated
"clothing",
"object",
"notecard",
"category",
"root",
"lsltext",
"lslbyte",
"txtr_tga",
"bodypart",
"trash",
"snapshot",
"lstndfnd",
"snd_wav",
"img_tga",
"jpeg",
"animatn",
"gesture"
};
public LLUUID AssetID = LLUUID.Zero;
public int Type = 0;
public int InvType = 0;
public uint Flags = 0;
public string Name = String.Empty;
public string Description = String.Empty;
public uint BaseMask = FULL_MASK_PERMISSIONS_GENERAL;
public uint CreationDate = 0;
public LLUUID CreatorID = LLUUID.Zero;
public string Description = String.Empty;
public uint EveryoneMask = FULL_MASK_PERMISSIONS_GENERAL;
public uint Flags = 0;
public LLUUID GroupID = LLUUID.Zero;
public uint GroupMask = FULL_MASK_PERMISSIONS_GENERAL;
public int InvType = 0;
public LLUUID ItemID = LLUUID.Zero;
public LLUUID LastOwnerID = LLUUID.Zero;
public string Name = String.Empty;
public uint NextOwnerMask = FULL_MASK_PERMISSIONS_GENERAL;
public LLUUID OwnerID = LLUUID.Zero;
public uint OwnerMask = FULL_MASK_PERMISSIONS_GENERAL;
public LLUUID ParentID = LLUUID.Zero; //parent folder id
public LLUUID ParentPartID = LLUUID.Zero;
public LLUUID PermsGranter;
public int PermsMask;
public int Type = 0;
// See ICloneable
#region ICloneable Members
public Object Clone()
{
return MemberwiseClone();
}
#endregion
public LLUUID ParentPartID = LLUUID.Zero;
/// <summary>
/// Reset the LLUUIDs for this item.
/// </summary>
@ -227,12 +246,6 @@ namespace OpenSim.Framework
{
ItemID = LLUUID.Random();
ParentPartID = partID;
}
// See ICloneable
public Object Clone()
{
return MemberwiseClone();
}
}
}
}

View File

@ -34,9 +34,9 @@ namespace OpenSim.Framework
{
public static class ThreadTracker
{
private static readonly long ThreadTimeout = 30 * 10000000;
public static List<ThreadTrackerItem> m_Threads;
public static Thread ThreadTrackerThread;
private static readonly long ThreadTimeout = 30 * 10000000;
static ThreadTracker()
{
@ -123,10 +123,14 @@ namespace OpenSim.Framework
return threads;
}
#region Nested type: ThreadTrackerItem
public class ThreadTrackerItem
{
public Thread Thread;
public long LastSeenActive;
public Thread Thread;
}
#endregion
}
}
}

View File

@ -26,8 +26,6 @@
*/
using System;
using System.Collections.Generic;
using System.Text;
namespace OpenSim.Framework
{
@ -38,35 +36,39 @@ namespace OpenSim.Framework
[Serializable]
public class UndoStack<T>
{
private int m_new = 1;
private int m_old = 0;
private T[] m_Undos;
public bool IsFull
{
get
{
return m_new == m_old;
}
}
public int Capacity
{
get
{
return m_Undos.Length - 1;
}
}
public UndoStack(int capacity)
{
m_Undos = new T[capacity + 1];
}
public void Push(T item)
public bool IsFull
{
get { return m_new == m_old; }
}
public int Capacity
{
get { return m_Undos.Length - 1; }
}
public int Count
{
get
{
int count = m_new - m_old - 1;
if (count < 0)
count += m_Undos.Length;
return count;
}
}
public void Push(T item)
{
if (IsFull)
{
@ -93,24 +95,13 @@ namespace OpenSim.Framework
throw new InvalidOperationException("Cannot pop from emtpy stack");
}
public int Count
{
get
{
int count = m_new - m_old - 1;
if (count < 0)
count += m_Undos.Length;
return count;
}
}
public T Peek()
{
return m_Undos[m_new];
}
public void Clear()
{
if (Count > 0)
@ -123,6 +114,5 @@ namespace OpenSim.Framework
m_old = 0;
}
}
}
}

View File

@ -35,42 +35,35 @@ namespace OpenSim.Framework
/// </summary>
public class UserAgentData
{
/// <summary>
/// The UUID of the users avatar (not the agent!)
/// </summary>
private LLUUID UUID;
/// <summary>
/// The IP address of the user
/// </summary>
private string agentIP = String.Empty;
/// <summary>
/// The port of the user
/// </summary>
private uint agentPort;
/// <summary>
/// Is the user online?
/// </summary>
private bool agentOnline;
/// <summary>
/// The session ID for the user (also the agent ID)
/// The port of the user
/// </summary>
private LLUUID sessionID;
private uint agentPort;
/// <summary>
/// The "secure" session ID for the user
/// Region handle of the current region the user is in
/// </summary>
/// <remarks>Not very secure. Dont rely on it for anything more than Linden Lab does.</remarks>
private LLUUID secureSessionID;
private ulong currentHandle;
/// <summary>
/// The region the user logged into initially
/// The position of the user within the region
/// </summary>
private LLUUID regionID;
private LLVector3 currentPos;
/// <summary>
/// Current region the user is logged into
/// </summary>
private LLUUID currentRegion;
/// <summary>
/// A unix timestamp from when the user logged in
@ -83,139 +76,114 @@ namespace OpenSim.Framework
private int logoutTime;
/// <summary>
/// Current region the user is logged into
/// The region the user logged into initially
/// </summary>
private LLUUID currentRegion;
private LLUUID regionID;
/// <summary>
/// Region handle of the current region the user is in
/// The "secure" session ID for the user
/// </summary>
private ulong currentHandle;
/// <remarks>Not very secure. Dont rely on it for anything more than Linden Lab does.</remarks>
private LLUUID secureSessionID;
/// <summary>
/// The position of the user within the region
/// The session ID for the user (also the agent ID)
/// </summary>
private LLVector3 currentPos;
public LLUUID ProfileID {
get {
return UUID;
}
set {
UUID = value;
}
private LLUUID sessionID;
/// <summary>
/// The UUID of the users avatar (not the agent!)
/// </summary>
private LLUUID UUID;
public LLUUID ProfileID
{
get { return UUID; }
set { UUID = value; }
}
public string AgentIP {
get {
return agentIP;
}
set {
agentIP = value;
}
public string AgentIP
{
get { return agentIP; }
set { agentIP = value; }
}
public uint AgentPort {
get {
return agentPort;
}
set {
agentPort = value;
}
public uint AgentPort
{
get { return agentPort; }
set { agentPort = value; }
}
public bool AgentOnline {
get {
return agentOnline;
}
set {
agentOnline = value;
}
public bool AgentOnline
{
get { return agentOnline; }
set { agentOnline = value; }
}
public LLUUID SessionID {
get {
return sessionID;
}
set {
sessionID = value;
}
public LLUUID SessionID
{
get { return sessionID; }
set { sessionID = value; }
}
public LLUUID SecureSessionID {
get {
return secureSessionID;
}
set {
secureSessionID = value;
}
public LLUUID SecureSessionID
{
get { return secureSessionID; }
set { secureSessionID = value; }
}
public LLUUID InitialRegion {
get {
return regionID;
}
set {
regionID = value;
}
public LLUUID InitialRegion
{
get { return regionID; }
set { regionID = value; }
}
public int LoginTime {
get {
return loginTime;
}
set {
loginTime = value;
}
public int LoginTime
{
get { return loginTime; }
set { loginTime = value; }
}
public int LogoutTime {
get {
return logoutTime;
}
set {
logoutTime = value;
}
public int LogoutTime
{
get { return logoutTime; }
set { logoutTime = value; }
}
public LLUUID Region {
get {
return currentRegion;
}
set {
currentRegion = value;
}
public LLUUID Region
{
get { return currentRegion; }
set { currentRegion = value; }
}
public ulong Handle {
get {
return currentHandle;
}
set {
currentHandle = value;
}
public ulong Handle
{
get { return currentHandle; }
set { currentHandle = value; }
}
public LLVector3 Position {
get {
return currentPos;
}
set {
currentPos = value;
}
public LLVector3 Position
{
get { return currentPos; }
set { currentPos = value; }
}
public float PositionX {
public float PositionX
{
get { return currentPos.X; }
set { currentPos.X = value; }
}
public float PositionY {
public float PositionY
{
get { return currentPos.Y; }
set { currentPos.Y = value; }
}
public float PositionZ {
public float PositionZ
{
get { return currentPos.Z; }
set { currentPos.Z = value; }
}
}
}
}

View File

@ -34,28 +34,24 @@ namespace OpenSim.Framework
/// </summary>
public class UserConfig
{
public string DefaultStartupMsg = String.Empty;
public string GridServerURL = String.Empty;
public string GridSendKey = String.Empty;
public string GridRecvKey = String.Empty;
public string InventoryUrl = String.Empty;
public string DatabaseProvider = String.Empty;
public static uint DefaultHttpPort = 8002;
public static bool DefaultHttpSSL = false;
public uint HttpPort = DefaultHttpPort;
public bool HttpSSL = DefaultHttpSSL;
private ConfigurationMember configMember;
public string DatabaseProvider = String.Empty;
public string DefaultStartupMsg = String.Empty;
public uint DefaultX = 1000;
public uint DefaultY = 1000;
private ConfigurationMember configMember;
public string GridRecvKey = String.Empty;
public string GridSendKey = String.Empty;
public string GridServerURL = String.Empty;
public uint HttpPort = DefaultHttpPort;
public bool HttpSSL = DefaultHttpSSL;
public string InventoryUrl = String.Empty;
public UserConfig(string description, string filename)
{
configMember =
new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration,true);
new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration, true);
configMember.performConfigurationRetrieve();
}
@ -131,4 +127,4 @@ namespace OpenSim.Framework
return true;
}
}
}
}

View File

@ -36,23 +36,42 @@ namespace OpenSim.Framework
public class UserProfileData
{
/// <summary>
/// The ID value for this user
/// A UNIX Timestamp (seconds since epoch) for the users creation
/// </summary>
private LLUUID _id;
private int _created;
/// <summary>
/// The last used Web_login_key
/// The users last registered agent (filled in on the user server)
/// </summary>
private LLUUID _webLoginKey;
private UserAgentData _currentAgent;
/// <summary>
/// The first component of a users account name
/// </summary>
private string _firstname;
/// <summary>
/// The second component of a users account name
/// The coordinates inside the region of the home location
/// </summary>
private string _surname;
private LLVector3 _homeLocation;
/// <summary>
/// Where the user will be looking when they rez.
/// </summary>
private LLVector3 _homeLookAt;
private uint _homeRegionX;
private uint _homeRegionY;
/// <summary>
/// The ID value for this user
/// </summary>
private LLUUID _id;
/// <summary>
/// A UNIX Timestamp for the users last login date / time
/// </summary>
private int _lastLogin;
/// <summary>
/// A salted hash containing the users password, in the format md5(md5(password) + ":" + salt)
@ -65,40 +84,10 @@ namespace OpenSim.Framework
/// </summary>
private string _passwordSalt;
private uint _homeRegionX;
private uint _homeRegionY;
/// <summary>
/// The coordinates inside the region of the home location
/// The about text listed in a users profile.
/// </summary>
private LLVector3 _homeLocation;
/// <summary>
/// Where the user will be looking when they rez.
/// </summary>
private LLVector3 _homeLookAt;
/// <summary>
/// A UNIX Timestamp (seconds since epoch) for the users creation
/// </summary>
private int _created;
/// <summary>
/// A UNIX Timestamp for the users last login date / time
/// </summary>
private int _lastLogin;
private LLUUID _rootInventoryFolderID;
/// <summary>
/// A URI to the users inventory server, used for foreigners and large grids
/// </summary>
private string _userInventoryURI = String.Empty;
/// <summary>
/// A URI to the users asset server, used for foreigners and large grids.
/// </summary>
private string _userAssetURI = String.Empty;
private string _profileAboutText = String.Empty;
/// <summary>
/// A uint mask containing the "I can do" fields of the users profile
@ -106,14 +95,9 @@ namespace OpenSim.Framework
private uint _profileCanDoMask;
/// <summary>
/// A uint mask containing the "I want to do" part of the users profile
/// The profile image for the users first life tab
/// </summary>
private uint _profileWantDoMask; // Profile window "I want to" mask
/// <summary>
/// The about text listed in a users profile.
/// </summary>
private string _profileAboutText = String.Empty;
private LLUUID _profileFirstImage;
/// <summary>
/// The first life about text listed in a users profile
@ -126,21 +110,38 @@ namespace OpenSim.Framework
private LLUUID _profileImage;
/// <summary>
/// The profile image for the users first life tab
/// A uint mask containing the "I want to do" part of the users profile
/// </summary>
private LLUUID _profileFirstImage;
private uint _profileWantDoMask; // Profile window "I want to" mask
private LLUUID _rootInventoryFolderID;
/// <summary>
/// The users last registered agent (filled in on the user server)
/// The second component of a users account name
/// </summary>
private UserAgentData _currentAgent;
private string _surname;
/// <summary>
/// A URI to the users asset server, used for foreigners and large grids.
/// </summary>
private string _userAssetURI = String.Empty;
/// <summary>
/// A URI to the users inventory server, used for foreigners and large grids
/// </summary>
private string _userInventoryURI = String.Empty;
/// <summary>
/// The last used Web_login_key
/// </summary>
private LLUUID _webLoginKey;
/// <summary>
/// The regionhandle of the users preffered home region. If multiple sims occupy the same spot, the grid may decide which region the user logs into
/// </summary>
public ulong HomeRegion
{
get { return Helpers.UIntsToLong((_homeRegionX * (uint)Constants.RegionSize), (_homeRegionY * (uint)Constants.RegionSize)); }
get { return Helpers.UIntsToLong((_homeRegionX * (uint) Constants.RegionSize), (_homeRegionY * (uint) Constants.RegionSize)); }
set
{
_homeRegionX = (uint) (value >> 40);
@ -149,232 +150,175 @@ namespace OpenSim.Framework
}
// Property wrappers
public LLUUID ID {
get {
return _id;
}
set {
_id = value;
}
public LLUUID ID
{
get { return _id; }
set { _id = value; }
}
public LLUUID WebLoginKey {
get {
return _webLoginKey;
}
set {
_webLoginKey = value;
}
public LLUUID WebLoginKey
{
get { return _webLoginKey; }
set { _webLoginKey = value; }
}
public string FirstName {
get {
return _firstname;
}
set {
_firstname = value;
}
public string FirstName
{
get { return _firstname; }
set { _firstname = value; }
}
public string SurName {
get {
return _surname;
}
set {
_surname = value;
}
public string SurName
{
get { return _surname; }
set { _surname = value; }
}
public string PasswordHash {
get {
return _passwordHash;
}
set {
_passwordHash = value;
}
public string PasswordHash
{
get { return _passwordHash; }
set { _passwordHash = value; }
}
public string PasswordSalt {
get {
return _passwordSalt;
}
set {
_passwordSalt = value;
}
public string PasswordSalt
{
get { return _passwordSalt; }
set { _passwordSalt = value; }
}
public uint HomeRegionX {
get {
return _homeRegionX;
}
set {
_homeRegionX = value;
}
public uint HomeRegionX
{
get { return _homeRegionX; }
set { _homeRegionX = value; }
}
public uint HomeRegionY {
get {
return _homeRegionY;
}
set {
_homeRegionY = value;
}
public uint HomeRegionY
{
get { return _homeRegionY; }
set { _homeRegionY = value; }
}
public LLVector3 HomeLocation {
get {
return _homeLocation;
}
set {
_homeLocation = value;
}
public LLVector3 HomeLocation
{
get { return _homeLocation; }
set { _homeLocation = value; }
}
// for handy serialization
public float HomeLocationX {
public float HomeLocationX
{
get { return _homeLocation.X; }
set { _homeLocation.X = value; }
}
public float HomeLocationY {
public float HomeLocationY
{
get { return _homeLocation.Y; }
set { _homeLocation.Y = value; }
}
public float HomeLocationZ {
public float HomeLocationZ
{
get { return _homeLocation.Z; }
set { _homeLocation.Z = value; }
}
public LLVector3 HomeLookAt {
get {
return _homeLookAt;
}
set {
_homeLookAt = value;
}
public LLVector3 HomeLookAt
{
get { return _homeLookAt; }
set { _homeLookAt = value; }
}
// for handy serialization
public float HomeLookAtX {
public float HomeLookAtX
{
get { return _homeLookAt.X; }
set { _homeLookAt.X = value; }
}
public float HomeLookAtY {
public float HomeLookAtY
{
get { return _homeLookAt.Y; }
set { _homeLookAt.Y = value; }
}
public float HomeLookAtZ {
public float HomeLookAtZ
{
get { return _homeLookAt.Z; }
set { _homeLookAt.Z = value; }
}
public int Created {
get {
return _created;
}
set {
_created = value;
}
public int Created
{
get { return _created; }
set { _created = value; }
}
public int LastLogin {
get {
return _lastLogin;
}
set {
_lastLogin = value;
}
public int LastLogin
{
get { return _lastLogin; }
set { _lastLogin = value; }
}
public LLUUID RootInventoryFolderID {
get {
return _rootInventoryFolderID;
}
set {
_rootInventoryFolderID = value;
}
public LLUUID RootInventoryFolderID
{
get { return _rootInventoryFolderID; }
set { _rootInventoryFolderID = value; }
}
public string UserInventoryURI {
get {
return _userInventoryURI;
}
set {
_userInventoryURI = value;
}
public string UserInventoryURI
{
get { return _userInventoryURI; }
set { _userInventoryURI = value; }
}
public string UserAssetURI {
get {
return _userAssetURI;
}
set {
_userAssetURI = value;
}
public string UserAssetURI
{
get { return _userAssetURI; }
set { _userAssetURI = value; }
}
public uint CanDoMask {
get {
return _profileCanDoMask;
}
set {
_profileCanDoMask = value;
}
public uint CanDoMask
{
get { return _profileCanDoMask; }
set { _profileCanDoMask = value; }
}
public uint WantDoMask {
get {
return _profileWantDoMask;
}
set {
_profileWantDoMask = value;
}
public uint WantDoMask
{
get { return _profileWantDoMask; }
set { _profileWantDoMask = value; }
}
public string AboutText {
get {
return _profileAboutText;
}
set {
_profileAboutText = value;
}
public string AboutText
{
get { return _profileAboutText; }
set { _profileAboutText = value; }
}
public string FirstLifeAboutText {
get {
return _profileFirstText;
}
set {
_profileFirstText = value;
}
public string FirstLifeAboutText
{
get { return _profileFirstText; }
set { _profileFirstText = value; }
}
public LLUUID Image {
get {
return _profileImage;
}
set {
_profileImage = value;
}
public LLUUID Image
{
get { return _profileImage; }
set { _profileImage = value; }
}
public LLUUID FirstLifeImage {
get {
return _profileFirstImage;
}
set {
_profileFirstImage = value;
}
public LLUUID FirstLifeImage
{
get { return _profileFirstImage; }
set { _profileFirstImage = value; }
}
public UserAgentData CurrentAgent {
get {
return _currentAgent;
}
set {
_currentAgent = value;
}
public UserAgentData CurrentAgent
{
get { return _currentAgent; }
set { _currentAgent = value; }
}
}
}
}

View File

@ -45,18 +45,17 @@ namespace OpenSim.Framework
{
public class Util
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private static Random randomClass = new Random();
private static uint nextXferID = 5000;
private static object XferLock = new object();
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
// Get a list of invalid path characters (OS dependent)
private static string regexInvalidPathChars = "[" + new String(Path.GetInvalidPathChars()) + "]";
private static uint nextXferID = 5000;
private static Random randomClass = new Random();
// Get a list of invalid file characters (OS dependent)
private static string regexInvalidFileChars = "[" + new String(Path.GetInvalidFileNameChars()) + "]";
private static string regexInvalidPathChars = "[" + new String(Path.GetInvalidPathChars()) + "]";
private static object XferLock = new object();
#region Vector Equasions
/// <summary>
/// Get the distance between two 3d vectors
/// </summary>
@ -92,7 +91,7 @@ namespace OpenSim.Framework
if (IsZeroVector(a))
throw new ArgumentException("Vector paramater cannot be a zero vector.");
float Mag = (float)GetMagnitude(a);
float Mag = (float) GetMagnitude(a);
return new LLVector3(a.X / Mag, a.Y / Mag, a.Z / Mag);
}
@ -112,9 +111,8 @@ namespace OpenSim.Framework
# endregion
public static ulong UIntsToLong(uint X, uint Y)
public Util()
{
return Helpers.UIntsToLong(X, Y);
}
public static Random RandomClass
@ -122,6 +120,11 @@ namespace OpenSim.Framework
get { return randomClass; }
}
public static ulong UIntsToLong(uint X, uint Y)
{
return Helpers.UIntsToLong(X, Y);
}
public static uint GetNextXferID()
{
uint id = 0;
@ -133,10 +136,6 @@ namespace OpenSim.Framework
return id;
}
public Util()
{
}
public static string GetFileName(string file)
{
// Return just the filename on UNIX platforms
@ -199,7 +198,7 @@ namespace OpenSim.Framework
public static int ToUnixTime(DateTime stamp)
{
TimeSpan t = (stamp.ToUniversalTime() - Convert.ToDateTime("1/1/1970 8:00:00 AM"));
return (int)t.TotalSeconds;
return (int) t.TotalSeconds;
}
public static DateTime ToDateTime(ulong seconds)
@ -309,7 +308,7 @@ namespace OpenSim.Framework
for (int j = 0; j < 16 && (i + j) < bytes.Length; j++)
{
if (bytes[i + j] >= 0x20 && bytes[i + j] < 0x7E)
output.Append((char)bytes[i + j]);
output.Append((char) bytes[i + j]);
else
output.Append(".");
}
@ -332,7 +331,7 @@ namespace OpenSim.Framework
return ipa;
IPAddress[] hosts = null;
// Not an IP, lookup required
try
{
@ -341,7 +340,7 @@ namespace OpenSim.Framework
catch (Exception e)
{
m_log.ErrorFormat("[UTIL]: An error occurred while resolving {0}, {1}", dnsAddress, e);
// Still going to throw the exception on for now, since this was what was happening in the first place
throw e;
}
@ -397,7 +396,8 @@ namespace OpenSim.Framework
/// <returns>safe filename</returns>
public static string safeFileName(string filename)
{
return Regex.Replace(filename, @regexInvalidFileChars, string.Empty); ;
return Regex.Replace(filename, @regexInvalidFileChars, string.Empty);
;
}
//
@ -454,10 +454,10 @@ namespace OpenSim.Framework
public static void AddDataRowToConfig(IConfigSource config, DataRow row)
{
config.Configs.Add((string)row[0]);
config.Configs.Add((string) row[0]);
for (int i = 0; i < row.Table.Columns.Count; i++)
{
config.Configs[(string)row[0]].Set(row.Table.Columns[i].ColumnName, row[i]);
config.Configs[(string) row[0]].Set(row.Table.Columns[i].ColumnName, row[i]);
}
}
@ -594,19 +594,19 @@ namespace OpenSim.Framework
returnstring[2] = "127";
returnstring[3] = "0";
// This is the crappy way of doing it.
if (startLocationRequest.Contains(":") && startLocationRequest.Contains("&"))
{
//System.Console.WriteLine("StartLocationRequest Contains proper elements");
string[] splitstr = startLocationRequest.Split(':');//,2,StringSplitOptions.RemoveEmptyEntries);
string[] splitstr = startLocationRequest.Split(':'); //,2,StringSplitOptions.RemoveEmptyEntries);
//System.Console.WriteLine("Found " + splitstr.GetLength(0) + " elements in 1st split result");
if (splitstr.GetLength(0) == 2)
{
string[] splitstr2 = splitstr[1].Split('&');//, 4, StringSplitOptions.RemoveEmptyEntries);
string[] splitstr2 = splitstr[1].Split('&'); //, 4, StringSplitOptions.RemoveEmptyEntries);
//System.Console.WriteLine("Found " + splitstr2.GetLength(0) + " elements in 2nd split result");
int len = Math.Min(splitstr2.GetLength(0), 4);
@ -622,17 +622,16 @@ namespace OpenSim.Framework
}
return returnstring;
}
static public XmlRpcResponse XmlRpcCommand(string url, string methodName, params object[] args)
public static XmlRpcResponse XmlRpcCommand(string url, string methodName, params object[] args)
{
return SendXmlRpcCommand(url, methodName, args);
}
static public XmlRpcResponse SendXmlRpcCommand(string url, string methodName, object[] args)
public static XmlRpcResponse SendXmlRpcCommand(string url, string methodName, object[] args)
{
XmlRpcRequest client = new XmlRpcRequest(methodName, args);
return client.Send(url, 6000);
}
}
}
}

View File

@ -33,6 +33,10 @@ namespace OpenSim.Framework
[Serializable]
public class sLLVector3
{
public float x = 0;
public float y = 0;
public float z = 0;
public sLLVector3()
{
}
@ -43,9 +47,5 @@ namespace OpenSim.Framework
y = v.Y;
z = v.Z;
}
public float x=0;
public float y=0;
public float z=0;
}
}
}