From 98b238cf6b75e9d26cf8f423decfbfd9df36b438 Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Wed, 31 Oct 2007 01:21:04 +0000
Subject: set svn:eol-style
---
OpenSim/Framework/General/ACL.cs | 524 ++++----
OpenSim/Framework/General/AgentCiruitData.cs | 102 +-
OpenSim/Framework/General/AgentWearable.cs | 140 +-
OpenSim/Framework/General/AssetBase.cs | 108 +-
OpenSim/Framework/General/AssetConfig.cs | 164 +--
OpenSim/Framework/General/AssetLandmark.cs | 116 +-
OpenSim/Framework/General/AssetStorage.cs | 94 +-
OpenSim/Framework/General/AuthenticateResponse.cs | 76 +-
OpenSim/Framework/General/ConfigurationMember.cs | 878 ++++++-------
OpenSim/Framework/General/ConfigurationOption.cs | 118 +-
OpenSim/Framework/General/EstateSettings.cs | 1412 ++++++++++-----------
OpenSim/Framework/General/GridConfig.cs | 270 ++--
OpenSim/Framework/General/IAssetProvider.cs | 80 +-
OpenSim/Framework/General/IAssetServer.cs | 136 +-
OpenSim/Framework/General/IClientAPI.cs | 892 ++++++-------
OpenSim/Framework/General/IGenericConfig.cs | 78 +-
OpenSim/Framework/General/IPlugin.cs | 104 +-
OpenSim/Framework/General/IScene.cs | 84 +-
OpenSim/Framework/General/IUserData.cs | 266 ++--
OpenSim/Framework/General/IUserService.cs | 94 +-
OpenSim/Framework/General/InventoryConfig.cs | 134 +-
OpenSim/Framework/General/InventoryItemBase.cs | 546 ++++----
OpenSim/Framework/General/LandData.cs | 244 ++--
OpenSim/Framework/General/Login.cs | 98 +-
OpenSim/Framework/General/MapBlockData.cs | 98 +-
OpenSim/Framework/General/NeighbourInfo.cs | 82 +-
OpenSim/Framework/General/NetworkServersInfo.cs | 200 +--
OpenSim/Framework/General/PrimitiveBaseShape.cs | 426 +++----
OpenSim/Framework/General/RegionHandle.cs | 298 ++---
OpenSim/Framework/General/RegionInfo.cs | 654 +++++-----
OpenSim/Framework/General/UUID.cs | 308 ++---
OpenSim/Framework/General/UserConfig.cs | 204 +--
OpenSim/Framework/General/UserProfileData.cs | 426 +++----
33 files changed, 4727 insertions(+), 4727 deletions(-)
(limited to 'OpenSim')
diff --git a/OpenSim/Framework/General/ACL.cs b/OpenSim/Framework/General/ACL.cs
index 0e9df19..8f9c6e7 100644
--- a/OpenSim/Framework/General/ACL.cs
+++ b/OpenSim/Framework/General/ACL.cs
@@ -1,263 +1,263 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-using System;
-using System.Collections.Generic;
-
-namespace OpenSim.Framework
-{
- // ACL Class
- // Modelled after the structure of the Zend ACL Framework Library
- // with one key difference - the tree will search for all matching
- // permissions rather than just the first. Deny permissions will
- // override all others.
-
- #region ACL Core Class
-
- ///
- /// Access Control List Engine
- ///
- public class ACL
- {
- private Dictionary Roles = new Dictionary();
- private Dictionary Resources = new Dictionary();
-
- public ACL AddRole(Role role)
- {
- if (Roles.ContainsKey(role.Name))
- throw new AlreadyContainsRoleException(role);
-
- Roles.Add(role.Name, role);
-
- return this;
- }
-
- public ACL AddResource(Resource resource)
- {
- Resources.Add(resource.Name, resource);
-
- return this;
- }
-
- public Permission HasPermission(string role, string resource)
- {
- if (!Roles.ContainsKey(role))
- throw new KeyNotFoundException();
-
- if (!Resources.ContainsKey(resource))
- throw new KeyNotFoundException();
-
- return Roles[role].RequestPermission(resource);
- }
-
- public ACL GrantPermission(string role, string resource)
- {
- if (!Roles.ContainsKey(role))
- throw new KeyNotFoundException();
-
- if (!Resources.ContainsKey(resource))
- throw new KeyNotFoundException();
-
- Roles[role].GivePermission(resource, Permission.Allow);
-
- return this;
- }
-
- public ACL DenyPermission(string role, string resource)
- {
- if (!Roles.ContainsKey(role))
- throw new KeyNotFoundException();
-
- if (!Resources.ContainsKey(resource))
- throw new KeyNotFoundException();
-
- Roles[role].GivePermission(resource, Permission.Deny);
-
- return this;
- }
-
- public ACL ResetPermission(string role, string resource)
- {
- if (!Roles.ContainsKey(role))
- throw new KeyNotFoundException();
-
- if (!Resources.ContainsKey(resource))
- throw new KeyNotFoundException();
-
- Roles[role].GivePermission(resource, Permission.None);
-
- return this;
- }
- }
-
- #endregion
-
- #region Exceptions
-
- ///
- /// Thrown when an ACL attempts to add a duplicate role.
- ///
- public class AlreadyContainsRoleException : Exception
- {
- protected Role m_role;
-
- public Role ErrorRole
- {
- get { return m_role; }
- }
-
- public AlreadyContainsRoleException(Role role)
- {
- m_role = role;
- }
-
- public override string ToString()
- {
- return "This ACL already contains a role called '" + m_role.Name + "'.";
- }
- }
-
- #endregion
-
- #region Roles and Resources
-
- ///
- /// Does this Role have permission to access a specified Resource?
- ///
- public enum Permission
- {
- Deny,
- None,
- Allow
- } ;
-
- ///
- /// A role class, for use with Users or Groups
- ///
- public class Role
- {
- private string m_name;
- private Role[] m_parents;
- private Dictionary m_resources = new Dictionary();
-
- public string Name
- {
- get { return m_name; }
- }
-
- public Permission RequestPermission(string resource)
- {
- return RequestPermission(resource, Permission.None);
- }
-
- public Permission RequestPermission(string resource, Permission current)
- {
- // Deny permissions always override any others
- if (current == Permission.Deny)
- return current;
-
- Permission temp = Permission.None;
-
- // Pickup non-None permissions
- if (m_resources.ContainsKey(resource) && m_resources[resource] != Permission.None)
- temp = m_resources[resource];
-
- if (m_parents != null)
- {
- foreach (Role parent in m_parents)
- {
- temp = parent.RequestPermission(resource, temp);
- }
- }
-
- return temp;
- }
-
- public void GivePermission(string resource, Permission perm)
- {
- 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;
- }
- }
-
- #endregion
-
- #region Tests
-
- internal class ACLTester
- {
- public ACLTester()
- {
- ACL acl = new ACL();
-
- Role Guests = new Role("Guests");
- acl.AddRole(Guests);
-
- Role[] parents = new Role[0];
- parents[0] = Guests;
-
- Role JoeGuest = new Role("JoeGuest", parents);
- acl.AddRole(JoeGuest);
-
- Resource CanBuild = new Resource("CanBuild");
- acl.AddResource(CanBuild);
-
-
- acl.GrantPermission("Guests", "CanBuild");
-
- acl.HasPermission("JoeGuest", "CanBuild");
- }
- }
-
- #endregion
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+using System;
+using System.Collections.Generic;
+
+namespace OpenSim.Framework
+{
+ // ACL Class
+ // Modelled after the structure of the Zend ACL Framework Library
+ // with one key difference - the tree will search for all matching
+ // permissions rather than just the first. Deny permissions will
+ // override all others.
+
+ #region ACL Core Class
+
+ ///
+ /// Access Control List Engine
+ ///
+ public class ACL
+ {
+ private Dictionary Roles = new Dictionary();
+ private Dictionary Resources = new Dictionary();
+
+ public ACL AddRole(Role role)
+ {
+ if (Roles.ContainsKey(role.Name))
+ throw new AlreadyContainsRoleException(role);
+
+ Roles.Add(role.Name, role);
+
+ return this;
+ }
+
+ public ACL AddResource(Resource resource)
+ {
+ Resources.Add(resource.Name, resource);
+
+ return this;
+ }
+
+ public Permission HasPermission(string role, string resource)
+ {
+ if (!Roles.ContainsKey(role))
+ throw new KeyNotFoundException();
+
+ if (!Resources.ContainsKey(resource))
+ throw new KeyNotFoundException();
+
+ return Roles[role].RequestPermission(resource);
+ }
+
+ public ACL GrantPermission(string role, string resource)
+ {
+ if (!Roles.ContainsKey(role))
+ throw new KeyNotFoundException();
+
+ if (!Resources.ContainsKey(resource))
+ throw new KeyNotFoundException();
+
+ Roles[role].GivePermission(resource, Permission.Allow);
+
+ return this;
+ }
+
+ public ACL DenyPermission(string role, string resource)
+ {
+ if (!Roles.ContainsKey(role))
+ throw new KeyNotFoundException();
+
+ if (!Resources.ContainsKey(resource))
+ throw new KeyNotFoundException();
+
+ Roles[role].GivePermission(resource, Permission.Deny);
+
+ return this;
+ }
+
+ public ACL ResetPermission(string role, string resource)
+ {
+ if (!Roles.ContainsKey(role))
+ throw new KeyNotFoundException();
+
+ if (!Resources.ContainsKey(resource))
+ throw new KeyNotFoundException();
+
+ Roles[role].GivePermission(resource, Permission.None);
+
+ return this;
+ }
+ }
+
+ #endregion
+
+ #region Exceptions
+
+ ///
+ /// Thrown when an ACL attempts to add a duplicate role.
+ ///
+ public class AlreadyContainsRoleException : Exception
+ {
+ protected Role m_role;
+
+ public Role ErrorRole
+ {
+ get { return m_role; }
+ }
+
+ public AlreadyContainsRoleException(Role role)
+ {
+ m_role = role;
+ }
+
+ public override string ToString()
+ {
+ return "This ACL already contains a role called '" + m_role.Name + "'.";
+ }
+ }
+
+ #endregion
+
+ #region Roles and Resources
+
+ ///
+ /// Does this Role have permission to access a specified Resource?
+ ///
+ public enum Permission
+ {
+ Deny,
+ None,
+ Allow
+ } ;
+
+ ///
+ /// A role class, for use with Users or Groups
+ ///
+ public class Role
+ {
+ private string m_name;
+ private Role[] m_parents;
+ private Dictionary m_resources = new Dictionary();
+
+ public string Name
+ {
+ get { return m_name; }
+ }
+
+ public Permission RequestPermission(string resource)
+ {
+ return RequestPermission(resource, Permission.None);
+ }
+
+ public Permission RequestPermission(string resource, Permission current)
+ {
+ // Deny permissions always override any others
+ if (current == Permission.Deny)
+ return current;
+
+ Permission temp = Permission.None;
+
+ // Pickup non-None permissions
+ if (m_resources.ContainsKey(resource) && m_resources[resource] != Permission.None)
+ temp = m_resources[resource];
+
+ if (m_parents != null)
+ {
+ foreach (Role parent in m_parents)
+ {
+ temp = parent.RequestPermission(resource, temp);
+ }
+ }
+
+ return temp;
+ }
+
+ public void GivePermission(string resource, Permission perm)
+ {
+ 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;
+ }
+ }
+
+ #endregion
+
+ #region Tests
+
+ internal class ACLTester
+ {
+ public ACLTester()
+ {
+ ACL acl = new ACL();
+
+ Role Guests = new Role("Guests");
+ acl.AddRole(Guests);
+
+ Role[] parents = new Role[0];
+ parents[0] = Guests;
+
+ Role JoeGuest = new Role("JoeGuest", parents);
+ acl.AddRole(JoeGuest);
+
+ Resource CanBuild = new Resource("CanBuild");
+ acl.AddResource(CanBuild);
+
+
+ acl.GrantPermission("Guests", "CanBuild");
+
+ acl.HasPermission("JoeGuest", "CanBuild");
+ }
+ }
+
+ #endregion
}
\ No newline at end of file
diff --git a/OpenSim/Framework/General/AgentCiruitData.cs b/OpenSim/Framework/General/AgentCiruitData.cs
index 95cac60..3f17ca8 100644
--- a/OpenSim/Framework/General/AgentCiruitData.cs
+++ b/OpenSim/Framework/General/AgentCiruitData.cs
@@ -1,52 +1,52 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-using System;
-using libsecondlife;
-
-namespace OpenSim.Framework
-{
- [Serializable]
- public class AgentCircuitData
- {
- public AgentCircuitData()
- {
- }
-
- 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 = "";
- }
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+using System;
+using libsecondlife;
+
+namespace OpenSim.Framework
+{
+ [Serializable]
+ public class AgentCircuitData
+ {
+ public AgentCircuitData()
+ {
+ }
+
+ 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 = "";
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Framework/General/AgentWearable.cs b/OpenSim/Framework/General/AgentWearable.cs
index c2d4db3..a324cb3 100644
--- a/OpenSim/Framework/General/AgentWearable.cs
+++ b/OpenSim/Framework/General/AgentWearable.cs
@@ -1,71 +1,71 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-using libsecondlife;
-
-namespace OpenSim.Framework
-{
- public class AvatarWearable
- {
- public LLUUID AssetID = new LLUUID("00000000-0000-0000-0000-000000000000");
- public LLUUID ItemID = new LLUUID("00000000-0000-0000-0000-000000000000");
-
- public AvatarWearable()
- {
- }
-
- public AvatarWearable(LLUUID itemId, LLUUID assetId)
- {
- AssetID = assetId;
- ItemID = itemId;
- }
-
- public static AvatarWearable[] DefaultWearables
- {
- get
- {
- AvatarWearable[] defaultWearables = new AvatarWearable[13]; //should be 13 of these
- for (int i = 0; i < 13; i++)
- {
- defaultWearables[i] = new AvatarWearable();
- }
- defaultWearables[0].AssetID = new LLUUID("66c41e39-38f9-f75a-024e-585989bfab73");
- defaultWearables[0].ItemID = new LLUUID("66c41e39-38f9-f75a-024e-585989bfaba9");
-
- defaultWearables[1].ItemID = new LLUUID("77c41e39-38f9-f75a-024e-585989bfabc9");
- defaultWearables[1].AssetID = new LLUUID("77c41e39-38f9-f75a-024e-585989bbabbb");
-
- defaultWearables[4].ItemID = new LLUUID("77c41e39-38f9-f75a-0000-585989bf0000");
- defaultWearables[4].AssetID = new LLUUID("00000000-38f9-1111-024e-222222111110");
-
- defaultWearables[5].ItemID = new LLUUID("77c41e39-38f9-f75a-0000-5859892f1111");
- defaultWearables[5].AssetID = new LLUUID("00000000-38f9-1111-024e-222222111120");
- return defaultWearables;
- }
- }
- }
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+using libsecondlife;
+
+namespace OpenSim.Framework
+{
+ public class AvatarWearable
+ {
+ public LLUUID AssetID = new LLUUID("00000000-0000-0000-0000-000000000000");
+ public LLUUID ItemID = new LLUUID("00000000-0000-0000-0000-000000000000");
+
+ public AvatarWearable()
+ {
+ }
+
+ public AvatarWearable(LLUUID itemId, LLUUID assetId)
+ {
+ AssetID = assetId;
+ ItemID = itemId;
+ }
+
+ public static AvatarWearable[] DefaultWearables
+ {
+ get
+ {
+ AvatarWearable[] defaultWearables = new AvatarWearable[13]; //should be 13 of these
+ for (int i = 0; i < 13; i++)
+ {
+ defaultWearables[i] = new AvatarWearable();
+ }
+ defaultWearables[0].AssetID = new LLUUID("66c41e39-38f9-f75a-024e-585989bfab73");
+ defaultWearables[0].ItemID = new LLUUID("66c41e39-38f9-f75a-024e-585989bfaba9");
+
+ defaultWearables[1].ItemID = new LLUUID("77c41e39-38f9-f75a-024e-585989bfabc9");
+ defaultWearables[1].AssetID = new LLUUID("77c41e39-38f9-f75a-024e-585989bbabbb");
+
+ defaultWearables[4].ItemID = new LLUUID("77c41e39-38f9-f75a-0000-585989bf0000");
+ defaultWearables[4].AssetID = new LLUUID("00000000-38f9-1111-024e-222222111110");
+
+ defaultWearables[5].ItemID = new LLUUID("77c41e39-38f9-f75a-0000-5859892f1111");
+ defaultWearables[5].AssetID = new LLUUID("00000000-38f9-1111-024e-222222111120");
+ return defaultWearables;
+ }
+ }
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Framework/General/AssetBase.cs b/OpenSim/Framework/General/AssetBase.cs
index f0367f0..ef1ee71 100644
--- a/OpenSim/Framework/General/AssetBase.cs
+++ b/OpenSim/Framework/General/AssetBase.cs
@@ -1,55 +1,55 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-using System;
-using libsecondlife;
-
-namespace OpenSim.Framework
-{
- [Serializable]
- public class AssetBase
- {
- public byte[] Data;
- public LLUUID FullID;
- public sbyte Type;
- public sbyte InvType;
- public string Name = "";
- public string Description = "";
- public bool Local = false;
- public bool Temporary = false;
-
- public AssetBase()
- {
- }
-
- public AssetBase(LLUUID assetId, string name)
- {
- FullID = assetId;
- Name = name;
- }
- }
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+using System;
+using libsecondlife;
+
+namespace OpenSim.Framework
+{
+ [Serializable]
+ public class AssetBase
+ {
+ public byte[] Data;
+ public LLUUID FullID;
+ public sbyte Type;
+ public sbyte InvType;
+ public string Name = "";
+ public string Description = "";
+ public bool Local = false;
+ public bool Temporary = false;
+
+ public AssetBase()
+ {
+ }
+
+ public AssetBase(LLUUID assetId, string name)
+ {
+ FullID = assetId;
+ Name = name;
+ }
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Framework/General/AssetConfig.cs b/OpenSim/Framework/General/AssetConfig.cs
index 81cf899..fe77ab8 100644
--- a/OpenSim/Framework/General/AssetConfig.cs
+++ b/OpenSim/Framework/General/AssetConfig.cs
@@ -1,83 +1,83 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-namespace OpenSim.Framework
-{
- ///
- /// UserConfig -- For User Server Configuration
- ///
- public class AssetConfig
- {
- public string DefaultStartupMsg = "";
-
- public string DatabaseProvider = "";
-
- public static uint DefaultHttpPort = 8003;
- public uint HttpPort = DefaultHttpPort;
-
- private ConfigurationMember configMember;
-
- public AssetConfig(string description, string filename)
- {
- configMember =
- new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration);
- configMember.performConfigurationRetrieve();
- }
-
- public void loadConfigurationOptions()
- {
- configMember.addConfigurationOption("default_startup_message",
- ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
- "Default Startup Message", "Welcome to OGS", false);
-
- configMember.addConfigurationOption("database_provider", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "DLL for database provider", "OpenSim.Framework.Data.MySQL.dll", false);
-
- configMember.addConfigurationOption("http_port", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
- "Http Listener port", DefaultHttpPort.ToString(), false);
- }
-
- public bool handleIncomingConfiguration(string configuration_key, object configuration_result)
- {
- switch (configuration_key)
- {
- case "default_startup_message":
- DefaultStartupMsg = (string) configuration_result;
- break;
- case "database_provider":
- DatabaseProvider = (string) configuration_result;
- break;
- case "http_port":
- HttpPort = (uint) configuration_result;
- break;
- }
-
- return true;
- }
- }
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+namespace OpenSim.Framework
+{
+ ///
+ /// UserConfig -- For User Server Configuration
+ ///
+ public class AssetConfig
+ {
+ public string DefaultStartupMsg = "";
+
+ public string DatabaseProvider = "";
+
+ public static uint DefaultHttpPort = 8003;
+ public uint HttpPort = DefaultHttpPort;
+
+ private ConfigurationMember configMember;
+
+ public AssetConfig(string description, string filename)
+ {
+ configMember =
+ new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration);
+ configMember.performConfigurationRetrieve();
+ }
+
+ public void loadConfigurationOptions()
+ {
+ configMember.addConfigurationOption("default_startup_message",
+ ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
+ "Default Startup Message", "Welcome to OGS", false);
+
+ configMember.addConfigurationOption("database_provider", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
+ "DLL for database provider", "OpenSim.Framework.Data.MySQL.dll", false);
+
+ configMember.addConfigurationOption("http_port", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
+ "Http Listener port", DefaultHttpPort.ToString(), false);
+ }
+
+ public bool handleIncomingConfiguration(string configuration_key, object configuration_result)
+ {
+ switch (configuration_key)
+ {
+ case "default_startup_message":
+ DefaultStartupMsg = (string) configuration_result;
+ break;
+ case "database_provider":
+ DatabaseProvider = (string) configuration_result;
+ break;
+ case "http_port":
+ HttpPort = (uint) configuration_result;
+ break;
+ }
+
+ return true;
+ }
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Framework/General/AssetLandmark.cs b/OpenSim/Framework/General/AssetLandmark.cs
index a62a85b..4422331 100644
--- a/OpenSim/Framework/General/AssetLandmark.cs
+++ b/OpenSim/Framework/General/AssetLandmark.cs
@@ -1,59 +1,59 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-using System.Text;
-using libsecondlife;
-
-namespace OpenSim.Framework
-{
- public class AssetLandmark : AssetBase
- {
- public int Version;
- public LLVector3 Position;
- public LLUUID RegionID;
-
- public AssetLandmark(AssetBase a)
- {
- Data = a.Data;
- FullID = a.FullID;
- Type = a.Type;
- InvType = a.InvType;
- Name = a.Name;
- Description = a.Description;
- InternData();
- }
-
- private void InternData()
- {
- string temp = Encoding.UTF8.GetString(Data).Trim();
- string[] parts = temp.Split('\n');
- int.TryParse(parts[0].Substring(17, 1), out Version);
- LLUUID.TryParse(parts[1].Substring(10, 36), out RegionID);
- LLVector3.TryParse(parts[2].Substring(11, parts[2].Length - 11), out Position);
- }
- }
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+using System.Text;
+using libsecondlife;
+
+namespace OpenSim.Framework
+{
+ public class AssetLandmark : AssetBase
+ {
+ public int Version;
+ public LLVector3 Position;
+ public LLUUID RegionID;
+
+ public AssetLandmark(AssetBase a)
+ {
+ Data = a.Data;
+ FullID = a.FullID;
+ Type = a.Type;
+ InvType = a.InvType;
+ Name = a.Name;
+ Description = a.Description;
+ InternData();
+ }
+
+ private void InternData()
+ {
+ string temp = Encoding.UTF8.GetString(Data).Trim();
+ string[] parts = temp.Split('\n');
+ int.TryParse(parts[0].Substring(17, 1), out Version);
+ LLUUID.TryParse(parts[1].Substring(10, 36), out RegionID);
+ LLVector3.TryParse(parts[2].Substring(11, parts[2].Length - 11), out Position);
+ }
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Framework/General/AssetStorage.cs b/OpenSim/Framework/General/AssetStorage.cs
index b39ceeb..9d3de5b 100644
--- a/OpenSim/Framework/General/AssetStorage.cs
+++ b/OpenSim/Framework/General/AssetStorage.cs
@@ -1,48 +1,48 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-using libsecondlife;
-
-namespace OpenSim.Framework
-{
- public class AssetStorage
- {
- public AssetStorage()
- {
- }
-
- public AssetStorage(LLUUID assetUUID)
- {
- UUID = assetUUID;
- }
-
- public byte[] Data;
- public sbyte Type;
- public string Name;
- public LLUUID UUID;
- }
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+using libsecondlife;
+
+namespace OpenSim.Framework
+{
+ public class AssetStorage
+ {
+ public AssetStorage()
+ {
+ }
+
+ public AssetStorage(LLUUID assetUUID)
+ {
+ UUID = assetUUID;
+ }
+
+ public byte[] Data;
+ public sbyte Type;
+ public string Name;
+ public LLUUID UUID;
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Framework/General/AuthenticateResponse.cs b/OpenSim/Framework/General/AuthenticateResponse.cs
index 0bf356e..88a8713 100644
--- a/OpenSim/Framework/General/AuthenticateResponse.cs
+++ b/OpenSim/Framework/General/AuthenticateResponse.cs
@@ -1,39 +1,39 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-namespace OpenSim.Framework
-{
- public class AuthenticateResponse
- {
- public bool Authorised;
- public Login LoginInfo;
-
- public AuthenticateResponse()
- {
- }
- }
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+namespace OpenSim.Framework
+{
+ public class AuthenticateResponse
+ {
+ public bool Authorised;
+ public Login LoginInfo;
+
+ public AuthenticateResponse()
+ {
+ }
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Framework/General/ConfigurationMember.cs b/OpenSim/Framework/General/ConfigurationMember.cs
index 5883d73..b68896c 100644
--- a/OpenSim/Framework/General/ConfigurationMember.cs
+++ b/OpenSim/Framework/General/ConfigurationMember.cs
@@ -1,440 +1,440 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-using System;
-using System.Collections.Generic;
-using System.Globalization;
-using System.Net;
-using System.Reflection;
-using libsecondlife;
-using OpenSim.Framework.Console;
-
-namespace OpenSim.Framework
-{
- public class ConfigurationMember
- {
- public delegate bool ConfigurationOptionResult(string configuration_key, object configuration_result);
-
- public delegate void ConfigurationOptionsLoad();
-
- private List configurationOptions = new List();
- private string configurationFilename = "";
- private string configurationDescription = "";
-
- private ConfigurationOptionsLoad loadFunction;
- private ConfigurationOptionResult resultFunction;
-
- private IGenericConfig configurationPlugin = null;
-
- ///
- /// This is the default configuration DLL loaded
- ///
- private string configurationPluginFilename = "OpenSim.Framework.Configuration.XML.dll";
-
- public ConfigurationMember(string configuration_filename, string configuration_description,
- ConfigurationOptionsLoad load_function, ConfigurationOptionResult result_function)
- {
- configurationFilename = configuration_filename;
- configurationDescription = configuration_description;
- loadFunction = load_function;
- resultFunction = result_function;
- }
-
- public void setConfigurationFilename(string filename)
- {
- configurationFilename = filename;
- }
-
- public void setConfigurationDescription(string desc)
- {
- configurationDescription = desc;
- }
-
- public void setConfigurationResultFunction(ConfigurationOptionResult result)
- {
- resultFunction = result;
- }
-
- public void forceConfigurationPluginLibrary(string dll_filename)
- {
- configurationPluginFilename = dll_filename;
- }
-
- public void addConfigurationOption(string configuration_key,
- ConfigurationOption.ConfigurationTypes configuration_type,
- string configuration_question, string configuration_default,
- bool use_default_no_prompt)
- {
- ConfigurationOption configOption = new ConfigurationOption();
- configOption.configurationKey = configuration_key;
- configOption.configurationQuestion = configuration_question;
- configOption.configurationDefault = configuration_default;
- configOption.configurationType = configuration_type;
- configOption.configurationUseDefaultNoPrompt = use_default_no_prompt;
-
- if ((configuration_key != "" && configuration_question != "") ||
- (configuration_key != "" && use_default_no_prompt))
- {
- if (!configurationOptions.Contains(configOption))
- {
- configurationOptions.Add(configOption);
- }
- }
- else
- {
- MainLog.Instance.Notice(
- "Required fields for adding a configuration option is invalid. Will not add this option (" +
- configuration_key + ")");
- }
- }
-
- public void performConfigurationRetrieve()
- {
- configurationPlugin = LoadConfigDll(configurationPluginFilename);
- configurationOptions.Clear();
- if (loadFunction == null)
- {
- MainLog.Instance.Error("Load Function for '" + configurationDescription +
- "' is null. Refusing to run configuration.");
- return;
- }
-
- if (resultFunction == null)
- {
- MainLog.Instance.Error("Result Function for '" + configurationDescription +
- "' is null. Refusing to run configuration.");
- return;
- }
-
- MainLog.Instance.Verbose("Calling Configuration Load Function...");
- loadFunction();
-
- if (configurationOptions.Count <= 0)
- {
- MainLog.Instance.Error("No configuration options were specified for '" + configurationOptions +
- "'. Refusing to continue configuration.");
- return;
- }
-
- bool useFile = true;
- if (configurationPlugin == null)
- {
- MainLog.Instance.Error("Configuration Plugin NOT LOADED!");
- return;
- }
-
- if (configurationFilename.Trim() != "")
- {
- configurationPlugin.SetFileName(configurationFilename);
- configurationPlugin.LoadData();
- useFile = true;
- }
- else
- {
- MainLog.Instance.Notice("XML Configuration Filename is not valid; will not save to the file.");
- useFile = false;
- }
-
- foreach (ConfigurationOption configOption in configurationOptions)
- {
- bool convertSuccess = false;
- object return_result = null;
- string errorMessage = "";
- bool ignoreNextFromConfig = false;
- while (convertSuccess == false)
- {
- string console_result = "";
- string attribute = null;
- if (useFile)
- {
- if (!ignoreNextFromConfig)
- {
- attribute = configurationPlugin.GetAttribute(configOption.configurationKey);
- }
- else
- {
- ignoreNextFromConfig = false;
- }
- }
-
- if (attribute == null)
- {
- if (configOption.configurationUseDefaultNoPrompt)
- {
- console_result = configOption.configurationDefault;
- }
- else
- {
- if (configurationDescription.Trim() != "")
- {
- console_result =
- MainLog.Instance.CmdPrompt(
- configurationDescription + ": " + configOption.configurationQuestion,
- configOption.configurationDefault);
- }
- else
- {
- console_result =
- MainLog.Instance.CmdPrompt(configOption.configurationQuestion,
- configOption.configurationDefault);
- }
- }
- }
- else
- {
- console_result = attribute;
- }
-
- switch (configOption.configurationType)
- {
- case ConfigurationOption.ConfigurationTypes.TYPE_STRING:
- return_result = console_result;
- convertSuccess = true;
- break;
- case ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY:
- if (console_result.Length > 0)
- {
- return_result = console_result;
- convertSuccess = true;
- }
- errorMessage = "a string that is not empty";
- break;
- case ConfigurationOption.ConfigurationTypes.TYPE_BOOLEAN:
- bool boolResult;
- if (Boolean.TryParse(console_result, out boolResult))
- {
- convertSuccess = true;
- return_result = boolResult;
- }
- errorMessage = "'true' or 'false' (Boolean)";
- break;
- case ConfigurationOption.ConfigurationTypes.TYPE_BYTE:
- byte byteResult;
- if (Byte.TryParse(console_result, out byteResult))
- {
- convertSuccess = true;
- return_result = byteResult;
- }
- errorMessage = "a byte (Byte)";
- break;
- case ConfigurationOption.ConfigurationTypes.TYPE_CHARACTER:
- char charResult;
- if (Char.TryParse(console_result, out charResult))
- {
- convertSuccess = true;
- return_result = charResult;
- }
- errorMessage = "a character (Char)";
- break;
- case ConfigurationOption.ConfigurationTypes.TYPE_INT16:
- short shortResult;
- if (Int16.TryParse(console_result, out shortResult))
- {
- convertSuccess = true;
- return_result = shortResult;
- }
- errorMessage = "a signed 32 bit integer (short)";
- break;
- case ConfigurationOption.ConfigurationTypes.TYPE_INT32:
- int intResult;
- if (Int32.TryParse(console_result, out intResult))
- {
- convertSuccess = true;
- return_result = intResult;
- }
- errorMessage = "a signed 32 bit integer (int)";
- break;
- case ConfigurationOption.ConfigurationTypes.TYPE_INT64:
- long longResult;
- if (Int64.TryParse(console_result, out longResult))
- {
- convertSuccess = true;
- return_result = longResult;
- }
- errorMessage = "a signed 32 bit integer (long)";
- break;
- case ConfigurationOption.ConfigurationTypes.TYPE_IP_ADDRESS:
- IPAddress ipAddressResult;
- if (IPAddress.TryParse(console_result, out ipAddressResult))
- {
- convertSuccess = true;
- return_result = ipAddressResult;
- }
- errorMessage = "an IP Address (IPAddress)";
- break;
- case ConfigurationOption.ConfigurationTypes.TYPE_LLUUID:
- LLUUID uuidResult;
- if (LLUUID.TryParse(console_result, out uuidResult))
- {
- convertSuccess = true;
- return_result = uuidResult;
- }
- errorMessage = "a UUID (LLUUID)";
- break;
- case ConfigurationOption.ConfigurationTypes.TYPE_LLVECTOR3:
- LLVector3 vectorResult;
- if (LLVector3.TryParse(console_result, out vectorResult))
- {
- convertSuccess = true;
- return_result = vectorResult;
- }
- errorMessage = "a vector (LLVector3)";
- break;
- case ConfigurationOption.ConfigurationTypes.TYPE_UINT16:
- ushort ushortResult;
- if (UInt16.TryParse(console_result, out ushortResult))
- {
- convertSuccess = true;
- return_result = ushortResult;
- }
- errorMessage = "an unsigned 16 bit integer (ushort)";
- break;
- case ConfigurationOption.ConfigurationTypes.TYPE_UINT32:
- uint uintResult;
- if (UInt32.TryParse(console_result, out uintResult))
- {
- convertSuccess = true;
- return_result = uintResult;
- }
- errorMessage = "an unsigned 32 bit integer (uint)";
- break;
- case ConfigurationOption.ConfigurationTypes.TYPE_UINT64:
- ulong ulongResult;
- if (UInt64.TryParse(console_result, out ulongResult))
- {
- convertSuccess = true;
- return_result = ulongResult;
- }
- errorMessage = "an unsigned 64 bit integer (ulong)";
- break;
- case ConfigurationOption.ConfigurationTypes.TYPE_FLOAT:
- float floatResult;
- if (
- float.TryParse(console_result, NumberStyles.AllowDecimalPoint, Culture.NumberFormatInfo,
- out floatResult))
- {
- convertSuccess = true;
- return_result = floatResult;
- }
- errorMessage = "a single-precision floating point number (float)";
- break;
- case ConfigurationOption.ConfigurationTypes.TYPE_DOUBLE:
- double doubleResult;
- if (
- Double.TryParse(console_result, NumberStyles.AllowDecimalPoint, Culture.NumberFormatInfo,
- out doubleResult))
- {
- convertSuccess = true;
- return_result = doubleResult;
- }
- errorMessage = "an double-precision floating point number (double)";
- break;
- }
-
- if (convertSuccess)
- {
- if (useFile)
- {
- configurationPlugin.SetAttribute(configOption.configurationKey, console_result);
- }
-
-
- if (!resultFunction(configOption.configurationKey, return_result))
- {
- MainLog.Instance.Notice(
- "The handler for the last configuration option denied that input, please try again.");
- convertSuccess = false;
- ignoreNextFromConfig = true;
- }
- }
- else
- {
- if (configOption.configurationUseDefaultNoPrompt)
- {
- MainLog.Instance.Error("CONFIG",
- string.Format(
- "[{3}]:[{1}] is not valid default for parameter [{0}].\nThe configuration result must be parsable to {2}.\n",
- configOption.configurationKey, console_result, errorMessage,
- configurationFilename));
- convertSuccess = true;
- }
- else
- {
- MainLog.Instance.Warn("CONFIG",
- string.Format(
- "[{3}]:[{1}] is not a valid value [{0}].\nThe configuration result must be parsable to {2}.\n",
- configOption.configurationKey, console_result, errorMessage,
- configurationFilename));
- ignoreNextFromConfig = true;
- }
- }
- }
- }
-
- if (useFile)
- {
- configurationPlugin.Commit();
- configurationPlugin.Close();
- }
- }
-
- private IGenericConfig LoadConfigDll(string dllName)
- {
- Assembly pluginAssembly = Assembly.LoadFrom(dllName);
- IGenericConfig plug = null;
-
- foreach (Type pluginType in pluginAssembly.GetTypes())
- {
- if (pluginType.IsPublic)
- {
- if (!pluginType.IsAbstract)
- {
- Type typeInterface = pluginType.GetInterface("IGenericConfig", true);
-
- if (typeInterface != null)
- {
- plug =
- (IGenericConfig) Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString()));
- }
- }
- }
- }
-
- pluginAssembly = null;
- return plug;
- }
-
- public void forceSetConfigurationOption(string configuration_key, string configuration_value)
- {
- configurationPlugin.LoadData();
- configurationPlugin.SetAttribute(configuration_key, configuration_value);
- configurationPlugin.Commit();
- configurationPlugin.Close();
- }
- }
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using System;
+using System.Collections.Generic;
+using System.Globalization;
+using System.Net;
+using System.Reflection;
+using libsecondlife;
+using OpenSim.Framework.Console;
+
+namespace OpenSim.Framework
+{
+ public class ConfigurationMember
+ {
+ public delegate bool ConfigurationOptionResult(string configuration_key, object configuration_result);
+
+ public delegate void ConfigurationOptionsLoad();
+
+ private List configurationOptions = new List();
+ private string configurationFilename = "";
+ private string configurationDescription = "";
+
+ private ConfigurationOptionsLoad loadFunction;
+ private ConfigurationOptionResult resultFunction;
+
+ private IGenericConfig configurationPlugin = null;
+
+ ///
+ /// This is the default configuration DLL loaded
+ ///
+ private string configurationPluginFilename = "OpenSim.Framework.Configuration.XML.dll";
+
+ public ConfigurationMember(string configuration_filename, string configuration_description,
+ ConfigurationOptionsLoad load_function, ConfigurationOptionResult result_function)
+ {
+ configurationFilename = configuration_filename;
+ configurationDescription = configuration_description;
+ loadFunction = load_function;
+ resultFunction = result_function;
+ }
+
+ public void setConfigurationFilename(string filename)
+ {
+ configurationFilename = filename;
+ }
+
+ public void setConfigurationDescription(string desc)
+ {
+ configurationDescription = desc;
+ }
+
+ public void setConfigurationResultFunction(ConfigurationOptionResult result)
+ {
+ resultFunction = result;
+ }
+
+ public void forceConfigurationPluginLibrary(string dll_filename)
+ {
+ configurationPluginFilename = dll_filename;
+ }
+
+ public void addConfigurationOption(string configuration_key,
+ ConfigurationOption.ConfigurationTypes configuration_type,
+ string configuration_question, string configuration_default,
+ bool use_default_no_prompt)
+ {
+ ConfigurationOption configOption = new ConfigurationOption();
+ configOption.configurationKey = configuration_key;
+ configOption.configurationQuestion = configuration_question;
+ configOption.configurationDefault = configuration_default;
+ configOption.configurationType = configuration_type;
+ configOption.configurationUseDefaultNoPrompt = use_default_no_prompt;
+
+ if ((configuration_key != "" && configuration_question != "") ||
+ (configuration_key != "" && use_default_no_prompt))
+ {
+ if (!configurationOptions.Contains(configOption))
+ {
+ configurationOptions.Add(configOption);
+ }
+ }
+ else
+ {
+ MainLog.Instance.Notice(
+ "Required fields for adding a configuration option is invalid. Will not add this option (" +
+ configuration_key + ")");
+ }
+ }
+
+ public void performConfigurationRetrieve()
+ {
+ configurationPlugin = LoadConfigDll(configurationPluginFilename);
+ configurationOptions.Clear();
+ if (loadFunction == null)
+ {
+ MainLog.Instance.Error("Load Function for '" + configurationDescription +
+ "' is null. Refusing to run configuration.");
+ return;
+ }
+
+ if (resultFunction == null)
+ {
+ MainLog.Instance.Error("Result Function for '" + configurationDescription +
+ "' is null. Refusing to run configuration.");
+ return;
+ }
+
+ MainLog.Instance.Verbose("Calling Configuration Load Function...");
+ loadFunction();
+
+ if (configurationOptions.Count <= 0)
+ {
+ MainLog.Instance.Error("No configuration options were specified for '" + configurationOptions +
+ "'. Refusing to continue configuration.");
+ return;
+ }
+
+ bool useFile = true;
+ if (configurationPlugin == null)
+ {
+ MainLog.Instance.Error("Configuration Plugin NOT LOADED!");
+ return;
+ }
+
+ if (configurationFilename.Trim() != "")
+ {
+ configurationPlugin.SetFileName(configurationFilename);
+ configurationPlugin.LoadData();
+ useFile = true;
+ }
+ else
+ {
+ MainLog.Instance.Notice("XML Configuration Filename is not valid; will not save to the file.");
+ useFile = false;
+ }
+
+ foreach (ConfigurationOption configOption in configurationOptions)
+ {
+ bool convertSuccess = false;
+ object return_result = null;
+ string errorMessage = "";
+ bool ignoreNextFromConfig = false;
+ while (convertSuccess == false)
+ {
+ string console_result = "";
+ string attribute = null;
+ if (useFile)
+ {
+ if (!ignoreNextFromConfig)
+ {
+ attribute = configurationPlugin.GetAttribute(configOption.configurationKey);
+ }
+ else
+ {
+ ignoreNextFromConfig = false;
+ }
+ }
+
+ if (attribute == null)
+ {
+ if (configOption.configurationUseDefaultNoPrompt)
+ {
+ console_result = configOption.configurationDefault;
+ }
+ else
+ {
+ if (configurationDescription.Trim() != "")
+ {
+ console_result =
+ MainLog.Instance.CmdPrompt(
+ configurationDescription + ": " + configOption.configurationQuestion,
+ configOption.configurationDefault);
+ }
+ else
+ {
+ console_result =
+ MainLog.Instance.CmdPrompt(configOption.configurationQuestion,
+ configOption.configurationDefault);
+ }
+ }
+ }
+ else
+ {
+ console_result = attribute;
+ }
+
+ switch (configOption.configurationType)
+ {
+ case ConfigurationOption.ConfigurationTypes.TYPE_STRING:
+ return_result = console_result;
+ convertSuccess = true;
+ break;
+ case ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY:
+ if (console_result.Length > 0)
+ {
+ return_result = console_result;
+ convertSuccess = true;
+ }
+ errorMessage = "a string that is not empty";
+ break;
+ case ConfigurationOption.ConfigurationTypes.TYPE_BOOLEAN:
+ bool boolResult;
+ if (Boolean.TryParse(console_result, out boolResult))
+ {
+ convertSuccess = true;
+ return_result = boolResult;
+ }
+ errorMessage = "'true' or 'false' (Boolean)";
+ break;
+ case ConfigurationOption.ConfigurationTypes.TYPE_BYTE:
+ byte byteResult;
+ if (Byte.TryParse(console_result, out byteResult))
+ {
+ convertSuccess = true;
+ return_result = byteResult;
+ }
+ errorMessage = "a byte (Byte)";
+ break;
+ case ConfigurationOption.ConfigurationTypes.TYPE_CHARACTER:
+ char charResult;
+ if (Char.TryParse(console_result, out charResult))
+ {
+ convertSuccess = true;
+ return_result = charResult;
+ }
+ errorMessage = "a character (Char)";
+ break;
+ case ConfigurationOption.ConfigurationTypes.TYPE_INT16:
+ short shortResult;
+ if (Int16.TryParse(console_result, out shortResult))
+ {
+ convertSuccess = true;
+ return_result = shortResult;
+ }
+ errorMessage = "a signed 32 bit integer (short)";
+ break;
+ case ConfigurationOption.ConfigurationTypes.TYPE_INT32:
+ int intResult;
+ if (Int32.TryParse(console_result, out intResult))
+ {
+ convertSuccess = true;
+ return_result = intResult;
+ }
+ errorMessage = "a signed 32 bit integer (int)";
+ break;
+ case ConfigurationOption.ConfigurationTypes.TYPE_INT64:
+ long longResult;
+ if (Int64.TryParse(console_result, out longResult))
+ {
+ convertSuccess = true;
+ return_result = longResult;
+ }
+ errorMessage = "a signed 32 bit integer (long)";
+ break;
+ case ConfigurationOption.ConfigurationTypes.TYPE_IP_ADDRESS:
+ IPAddress ipAddressResult;
+ if (IPAddress.TryParse(console_result, out ipAddressResult))
+ {
+ convertSuccess = true;
+ return_result = ipAddressResult;
+ }
+ errorMessage = "an IP Address (IPAddress)";
+ break;
+ case ConfigurationOption.ConfigurationTypes.TYPE_LLUUID:
+ LLUUID uuidResult;
+ if (LLUUID.TryParse(console_result, out uuidResult))
+ {
+ convertSuccess = true;
+ return_result = uuidResult;
+ }
+ errorMessage = "a UUID (LLUUID)";
+ break;
+ case ConfigurationOption.ConfigurationTypes.TYPE_LLVECTOR3:
+ LLVector3 vectorResult;
+ if (LLVector3.TryParse(console_result, out vectorResult))
+ {
+ convertSuccess = true;
+ return_result = vectorResult;
+ }
+ errorMessage = "a vector (LLVector3)";
+ break;
+ case ConfigurationOption.ConfigurationTypes.TYPE_UINT16:
+ ushort ushortResult;
+ if (UInt16.TryParse(console_result, out ushortResult))
+ {
+ convertSuccess = true;
+ return_result = ushortResult;
+ }
+ errorMessage = "an unsigned 16 bit integer (ushort)";
+ break;
+ case ConfigurationOption.ConfigurationTypes.TYPE_UINT32:
+ uint uintResult;
+ if (UInt32.TryParse(console_result, out uintResult))
+ {
+ convertSuccess = true;
+ return_result = uintResult;
+ }
+ errorMessage = "an unsigned 32 bit integer (uint)";
+ break;
+ case ConfigurationOption.ConfigurationTypes.TYPE_UINT64:
+ ulong ulongResult;
+ if (UInt64.TryParse(console_result, out ulongResult))
+ {
+ convertSuccess = true;
+ return_result = ulongResult;
+ }
+ errorMessage = "an unsigned 64 bit integer (ulong)";
+ break;
+ case ConfigurationOption.ConfigurationTypes.TYPE_FLOAT:
+ float floatResult;
+ if (
+ float.TryParse(console_result, NumberStyles.AllowDecimalPoint, Culture.NumberFormatInfo,
+ out floatResult))
+ {
+ convertSuccess = true;
+ return_result = floatResult;
+ }
+ errorMessage = "a single-precision floating point number (float)";
+ break;
+ case ConfigurationOption.ConfigurationTypes.TYPE_DOUBLE:
+ double doubleResult;
+ if (
+ Double.TryParse(console_result, NumberStyles.AllowDecimalPoint, Culture.NumberFormatInfo,
+ out doubleResult))
+ {
+ convertSuccess = true;
+ return_result = doubleResult;
+ }
+ errorMessage = "an double-precision floating point number (double)";
+ break;
+ }
+
+ if (convertSuccess)
+ {
+ if (useFile)
+ {
+ configurationPlugin.SetAttribute(configOption.configurationKey, console_result);
+ }
+
+
+ if (!resultFunction(configOption.configurationKey, return_result))
+ {
+ MainLog.Instance.Notice(
+ "The handler for the last configuration option denied that input, please try again.");
+ convertSuccess = false;
+ ignoreNextFromConfig = true;
+ }
+ }
+ else
+ {
+ if (configOption.configurationUseDefaultNoPrompt)
+ {
+ MainLog.Instance.Error("CONFIG",
+ string.Format(
+ "[{3}]:[{1}] is not valid default for parameter [{0}].\nThe configuration result must be parsable to {2}.\n",
+ configOption.configurationKey, console_result, errorMessage,
+ configurationFilename));
+ convertSuccess = true;
+ }
+ else
+ {
+ MainLog.Instance.Warn("CONFIG",
+ string.Format(
+ "[{3}]:[{1}] is not a valid value [{0}].\nThe configuration result must be parsable to {2}.\n",
+ configOption.configurationKey, console_result, errorMessage,
+ configurationFilename));
+ ignoreNextFromConfig = true;
+ }
+ }
+ }
+ }
+
+ if (useFile)
+ {
+ configurationPlugin.Commit();
+ configurationPlugin.Close();
+ }
+ }
+
+ private IGenericConfig LoadConfigDll(string dllName)
+ {
+ Assembly pluginAssembly = Assembly.LoadFrom(dllName);
+ IGenericConfig plug = null;
+
+ foreach (Type pluginType in pluginAssembly.GetTypes())
+ {
+ if (pluginType.IsPublic)
+ {
+ if (!pluginType.IsAbstract)
+ {
+ Type typeInterface = pluginType.GetInterface("IGenericConfig", true);
+
+ if (typeInterface != null)
+ {
+ plug =
+ (IGenericConfig) Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString()));
+ }
+ }
+ }
+ }
+
+ pluginAssembly = null;
+ return plug;
+ }
+
+ public void forceSetConfigurationOption(string configuration_key, string configuration_value)
+ {
+ configurationPlugin.LoadData();
+ configurationPlugin.SetAttribute(configuration_key, configuration_value);
+ configurationPlugin.Commit();
+ configurationPlugin.Close();
+ }
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Framework/General/ConfigurationOption.cs b/OpenSim/Framework/General/ConfigurationOption.cs
index 5a8fd08..ec39d3d 100644
--- a/OpenSim/Framework/General/ConfigurationOption.cs
+++ b/OpenSim/Framework/General/ConfigurationOption.cs
@@ -1,60 +1,60 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-namespace OpenSim.Framework
-{
- public class ConfigurationOption
- {
- public enum ConfigurationTypes
- {
- TYPE_STRING,
- TYPE_STRING_NOT_EMPTY,
- TYPE_UINT16,
- TYPE_UINT32,
- TYPE_UINT64,
- TYPE_INT16,
- TYPE_INT32,
- TYPE_INT64,
- TYPE_IP_ADDRESS,
- TYPE_CHARACTER,
- TYPE_BOOLEAN,
- TYPE_BYTE,
- TYPE_LLUUID,
- TYPE_LLVECTOR3,
- TYPE_FLOAT,
- TYPE_DOUBLE
- } ;
-
- public string configurationKey = "";
- public string configurationQuestion = "";
- public string configurationDefault = "";
-
- public ConfigurationTypes configurationType = ConfigurationTypes.TYPE_STRING;
- public bool configurationUseDefaultNoPrompt = false;
- }
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+namespace OpenSim.Framework
+{
+ public class ConfigurationOption
+ {
+ public enum ConfigurationTypes
+ {
+ TYPE_STRING,
+ TYPE_STRING_NOT_EMPTY,
+ TYPE_UINT16,
+ TYPE_UINT32,
+ TYPE_UINT64,
+ TYPE_INT16,
+ TYPE_INT32,
+ TYPE_INT64,
+ TYPE_IP_ADDRESS,
+ TYPE_CHARACTER,
+ TYPE_BOOLEAN,
+ TYPE_BYTE,
+ TYPE_LLUUID,
+ TYPE_LLVECTOR3,
+ TYPE_FLOAT,
+ TYPE_DOUBLE
+ } ;
+
+ public string configurationKey = "";
+ public string configurationQuestion = "";
+ public string configurationDefault = "";
+
+ public ConfigurationTypes configurationType = ConfigurationTypes.TYPE_STRING;
+ public bool configurationUseDefaultNoPrompt = false;
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Framework/General/EstateSettings.cs b/OpenSim/Framework/General/EstateSettings.cs
index c70b6ca..63b62c6 100644
--- a/OpenSim/Framework/General/EstateSettings.cs
+++ b/OpenSim/Framework/General/EstateSettings.cs
@@ -1,707 +1,707 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-using System;
-using System.IO;
-using libsecondlife;
-
-namespace OpenSim.Framework
-{
- public class EstateSettings
- {
- //Settings to this island
- private float m_billableFactor;
-
- public float billableFactor
- {
- get { return m_billableFactor; }
- set
- {
- m_billableFactor = value;
- configMember.forceSetConfigurationOption("billable_factor", m_billableFactor.ToString());
- }
- }
-
-
- private uint m_estateID;
-
- public uint estateID
- {
- get { return m_estateID; }
- set
- {
- m_estateID = value;
- configMember.forceSetConfigurationOption("estate_id", m_estateID.ToString());
- }
- }
-
-
- private uint m_parentEstateID;
-
- public uint parentEstateID
- {
- get { return m_parentEstateID; }
- set
- {
- m_parentEstateID = value;
- configMember.forceSetConfigurationOption("parent_estate_id", m_parentEstateID.ToString());
- }
- }
-
- private byte m_maxAgents;
-
- public byte maxAgents
- {
- get { return m_maxAgents; }
- set
- {
- m_maxAgents = value;
- configMember.forceSetConfigurationOption("max_agents", m_maxAgents.ToString());
- }
- }
-
- private float m_objectBonusFactor;
-
- public float objectBonusFactor
- {
- get { return m_objectBonusFactor; }
- set
- {
- m_objectBonusFactor = value;
- configMember.forceSetConfigurationOption("object_bonus_factor", m_objectBonusFactor.ToString());
- }
- }
-
- private int m_redirectGridX;
-
- public int redirectGridX
- {
- get { return m_redirectGridX; }
- set
- {
- m_redirectGridX = value;
- configMember.forceSetConfigurationOption("redirect_grid_x", m_redirectGridX.ToString());
- }
- }
-
- private int m_redirectGridY;
-
- public int redirectGridY
- {
- get { return m_redirectGridY; }
- set
- {
- m_redirectGridY = value;
- configMember.forceSetConfigurationOption("redirect_grid_y", m_redirectGridY.ToString());
- }
- }
-
- private Simulator.RegionFlags m_regionFlags;
-
- public Simulator.RegionFlags regionFlags
- {
- get { return m_regionFlags; }
- set
- {
- m_regionFlags = value;
- configMember.forceSetConfigurationOption("region_flags", m_regionFlags.ToString());
- }
- }
-
-
- private Simulator.SimAccess m_simAccess;
-
- public Simulator.SimAccess simAccess
- {
- get { return m_simAccess; }
- set
- {
- m_simAccess = value;
- configMember.forceSetConfigurationOption("sim_access", m_simAccess.ToString());
- }
- }
-
- private float m_sunHour;
-
- public float sunHour
- {
- get { return m_sunHour; }
- set
- {
- m_sunHour = value;
- configMember.forceSetConfigurationOption("sun_hour", m_sunHour.ToString());
- }
- }
-
- private float m_terrainRaiseLimit;
-
- public float terrainRaiseLimit
- {
- get { return m_terrainRaiseLimit; }
- set
- {
- m_terrainRaiseLimit = value;
- configMember.forceSetConfigurationOption("terrain_raise_limit", m_terrainRaiseLimit.ToString());
- }
- }
-
- private float m_terrainLowerLimit;
-
- public float terrainLowerLimit
- {
- get { return m_terrainLowerLimit; }
- set
- {
- m_terrainLowerLimit = value;
- configMember.forceSetConfigurationOption("terrain_lower_limit", m_terrainLowerLimit.ToString());
- }
- }
-
- private bool m_useFixedSun;
-
- public bool useFixedSun
- {
- get { return m_useFixedSun; }
- set
- {
- m_useFixedSun = value;
- configMember.forceSetConfigurationOption("use_fixed_sun", m_useFixedSun.ToString());
- }
- }
-
-
- private int m_pricePerMeter;
-
- public int pricePerMeter
- {
- get { return m_pricePerMeter; }
- set
- {
- m_pricePerMeter = value;
- configMember.forceSetConfigurationOption("price_per_meter", m_pricePerMeter.ToString());
- }
- }
-
-
- private ushort m_regionWaterHeight;
-
- public ushort regionWaterHeight
- {
- get { return m_regionWaterHeight; }
- set
- {
- m_regionWaterHeight = value;
- configMember.forceSetConfigurationOption("region_water_height", m_regionWaterHeight.ToString());
- }
- }
-
-
- private bool m_regionAllowTerraform;
-
- public bool regionAllowTerraform
- {
- get { return m_regionAllowTerraform; }
- set
- {
- m_regionAllowTerraform = value;
- configMember.forceSetConfigurationOption("region_allow_terraform", m_regionAllowTerraform.ToString());
- }
- }
-
-
- // Region Information
- // Low resolution 'base' textures. No longer used.
- private LLUUID m_terrainBase0;
-
- public LLUUID terrainBase0
- {
- get { return m_terrainBase0; }
- set
- {
- m_terrainBase0 = value;
- configMember.forceSetConfigurationOption("terrain_base_0", m_terrainBase0.ToString());
- }
- }
-
- private LLUUID m_terrainBase1;
-
- public LLUUID terrainBase1
- {
- get { return m_terrainBase1; }
- set
- {
- m_terrainBase1 = value;
- configMember.forceSetConfigurationOption("terrain_base_1", m_terrainBase1.ToString());
- }
- }
-
- private LLUUID m_terrainBase2;
-
- public LLUUID terrainBase2
- {
- get { return m_terrainBase2; }
- set
- {
- m_terrainBase2 = value;
- configMember.forceSetConfigurationOption("terrain_base_2", m_terrainBase2.ToString());
- }
- }
-
- private LLUUID m_terrainBase3;
-
- public LLUUID terrainBase3
- {
- get { return m_terrainBase3; }
- set
- {
- m_terrainBase3 = value;
- configMember.forceSetConfigurationOption("terrain_base_3", m_terrainBase3.ToString());
- }
- }
-
-
- // Higher resolution terrain textures
- private LLUUID m_terrainDetail0;
-
- public LLUUID terrainDetail0
- {
- get { return m_terrainDetail0; }
- set
- {
- m_terrainDetail0 = value;
- configMember.forceSetConfigurationOption("terrain_detail_0", m_terrainDetail0.ToString());
- }
- }
-
- private LLUUID m_terrainDetail1;
-
- public LLUUID terrainDetail1
- {
- get { return m_terrainDetail1; }
- set
- {
- m_terrainDetail1 = value;
- configMember.forceSetConfigurationOption("terrain_detail_1", m_terrainDetail1.ToString());
- }
- }
-
- private LLUUID m_terrainDetail2;
-
- public LLUUID terrainDetail2
- {
- get { return m_terrainDetail2; }
- set
- {
- m_terrainDetail2 = value;
- configMember.forceSetConfigurationOption("terrain_detail_2", m_terrainDetail2.ToString());
- }
- }
-
- private LLUUID m_terrainDetail3;
-
- public LLUUID terrainDetail3
- {
- get { return m_terrainDetail3; }
- set
- {
- m_terrainDetail3 = value;
- configMember.forceSetConfigurationOption("terrain_detail_3", m_terrainDetail3.ToString());
- }
- }
-
- // First quad - each point is bilinearly interpolated at each meter of terrain
- private float m_terrainStartHeight0;
-
- public float terrainStartHeight0
- {
- get { return m_terrainStartHeight0; }
- set
- {
- m_terrainStartHeight0 = value;
- configMember.forceSetConfigurationOption("terrain_start_height_0", m_terrainStartHeight0.ToString());
- }
- }
-
-
- private float m_terrainStartHeight1;
-
- public float terrainStartHeight1
- {
- get { return m_terrainStartHeight1; }
- set
- {
- m_terrainStartHeight1 = value;
- configMember.forceSetConfigurationOption("terrain_start_height_1", m_terrainStartHeight1.ToString());
- }
- }
-
- private float m_terrainStartHeight2;
-
- public float terrainStartHeight2
- {
- get { return m_terrainStartHeight2; }
- set
- {
- m_terrainStartHeight2 = value;
- configMember.forceSetConfigurationOption("terrain_start_height_2", m_terrainStartHeight2.ToString());
- }
- }
-
- private float m_terrainStartHeight3;
-
- public float terrainStartHeight3
- {
- get { return m_terrainStartHeight3; }
- set
- {
- m_terrainStartHeight3 = value;
- configMember.forceSetConfigurationOption("terrain_start_height_3", m_terrainStartHeight3.ToString());
- }
- }
-
- // 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
- {
- get { return m_terrainHeightRange0; }
- set
- {
- m_terrainHeightRange0 = value;
- configMember.forceSetConfigurationOption("terrain_height_range_0", m_terrainHeightRange0.ToString());
- }
- }
-
- private float m_terrainHeightRange1;
-
- public float terrainHeightRange1
- {
- get { return m_terrainHeightRange1; }
- set
- {
- m_terrainHeightRange1 = value;
- configMember.forceSetConfigurationOption("terrain_height_range_1", m_terrainHeightRange1.ToString());
- }
- }
-
- private float m_terrainHeightRange2;
-
- public float terrainHeightRange2
- {
- get { return m_terrainHeightRange2; }
- set
- {
- m_terrainHeightRange2 = value;
- configMember.forceSetConfigurationOption("terrain_height_range_2", m_terrainHeightRange2.ToString());
- }
- }
-
- private float m_terrainHeightRange3;
-
- public float terrainHeightRange3
- {
- get { return m_terrainHeightRange3; }
- set
- {
- m_terrainHeightRange3 = value;
- configMember.forceSetConfigurationOption("terrain_height_range_3", m_terrainHeightRange3.ToString());
- }
- }
-
- // Terrain Default (Must be in F32 Format!)
- private string m_terrainFile;
-
- public string terrainFile
- {
- get { return m_terrainFile; }
- set
- {
- m_terrainFile = value;
- configMember.forceSetConfigurationOption("terrain_file", m_terrainFile.ToString());
- }
- }
-
- private double m_terrainMultiplier;
-
- public double terrainMultiplier
- {
- get { return m_terrainMultiplier; }
- set
- {
- m_terrainMultiplier = value;
- configMember.forceSetConfigurationOption("terrain_multiplier", m_terrainMultiplier.ToString());
- }
- }
-
- private float m_waterHeight;
-
- public float waterHeight
- {
- get { return m_waterHeight; }
- set
- {
- m_waterHeight = value;
- configMember.forceSetConfigurationOption("water_height", m_waterHeight.ToString());
- }
- }
-
- private LLUUID m_terrainImageID;
-
- public LLUUID terrainImageID
- {
- get { return m_terrainImageID; }
- set
- {
- m_terrainImageID = value;
- configMember.forceSetConfigurationOption("terrain_image_id", m_terrainImageID.ToString());
- }
- }
-
- 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);
- configMember.performConfigurationRetrieve();
- }
- }
-
- public void loadConfigurationOptions()
- {
- configMember.addConfigurationOption("billable_factor", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "",
- "0.0", true);
- configMember.addConfigurationOption("estate_id", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, "", "0",
- true);
- configMember.addConfigurationOption("parent_estate_id", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
- "", "0", true);
- configMember.addConfigurationOption("max_agents", ConfigurationOption.ConfigurationTypes.TYPE_BYTE, "", "40",
- true);
-
- configMember.addConfigurationOption("object_bonus_factor", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT,
- "", "1.0", true);
- configMember.addConfigurationOption("redirect_grid_x", ConfigurationOption.ConfigurationTypes.TYPE_INT32, "",
- "0", true);
- configMember.addConfigurationOption("redirect_grid_y", ConfigurationOption.ConfigurationTypes.TYPE_INT32, "",
- "0", true);
- configMember.addConfigurationOption("region_flags", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, "",
- "0", true);
- configMember.addConfigurationOption("sim_access", ConfigurationOption.ConfigurationTypes.TYPE_BYTE, "", "21",
- true);
- configMember.addConfigurationOption("sun_hour", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "0",
- true);
- configMember.addConfigurationOption("terrain_raise_limit", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT,
- "", "0", true);
- configMember.addConfigurationOption("terrain_lower_limit", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT,
- "", "0", true);
- configMember.addConfigurationOption("use_fixed_sun", ConfigurationOption.ConfigurationTypes.TYPE_BOOLEAN, "",
- "false", true);
- configMember.addConfigurationOption("price_per_meter", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
- "", "1", true);
- configMember.addConfigurationOption("region_water_height",
- ConfigurationOption.ConfigurationTypes.TYPE_UINT16, "", "20", true);
- configMember.addConfigurationOption("region_allow_terraform",
- ConfigurationOption.ConfigurationTypes.TYPE_BOOLEAN, "", "true", true);
-
- configMember.addConfigurationOption("terrain_base_0", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "",
- "b8d3965a-ad78-bf43-699b-bff8eca6c975", true);
- configMember.addConfigurationOption("terrain_base_1", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "",
- "abb783e6-3e93-26c0-248a-247666855da3", true);
- configMember.addConfigurationOption("terrain_base_2", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "",
- "179cdabd-398a-9b6b-1391-4dc333ba321f", true);
- configMember.addConfigurationOption("terrain_base_3", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "",
- "beb169c7-11ea-fff2-efe5-0f24dc881df2", true);
-
- configMember.addConfigurationOption("terrain_detail_0", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
- "", "00000000-0000-0000-0000-000000000000", true);
- configMember.addConfigurationOption("terrain_detail_1", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
- "", "00000000-0000-0000-0000-000000000000", true);
- configMember.addConfigurationOption("terrain_detail_2", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
- "", "00000000-0000-0000-0000-000000000000", true);
- configMember.addConfigurationOption("terrain_detail_3", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
- "", "00000000-0000-0000-0000-000000000000", true);
-
- configMember.addConfigurationOption("terrain_start_height_0",
- ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "10.0", true);
- configMember.addConfigurationOption("terrain_start_height_1",
- ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "10.0", true);
- configMember.addConfigurationOption("terrain_start_height_2",
- ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "10.0", true);
- configMember.addConfigurationOption("terrain_start_height_3",
- ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "10.0", true);
-
- configMember.addConfigurationOption("terrain_height_range_0",
- ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "60.0", true);
- configMember.addConfigurationOption("terrain_height_range_1",
- ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "60.0", true);
- configMember.addConfigurationOption("terrain_height_range_2",
- ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "60.0", true);
- configMember.addConfigurationOption("terrain_height_range_3",
- ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "60.0", true);
-
- configMember.addConfigurationOption("terrain_file",
- ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "",
- "default.r32", true);
- configMember.addConfigurationOption("terrain_multiplier", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT,
- "", "60.0", true);
- configMember.addConfigurationOption("water_height", ConfigurationOption.ConfigurationTypes.TYPE_DOUBLE, "",
- "20.0", true);
- configMember.addConfigurationOption("terrain_image_id", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
- "", "00000000-0000-0000-0000-000000000000", true);
- }
-
- public bool handleIncomingConfiguration(string configuration_key, object configuration_result)
- {
- switch (configuration_key)
- {
- case "billable_factor":
- m_billableFactor = (float) configuration_result;
- break;
- case "estate_id":
- m_estateID = (uint) configuration_result;
- break;
- case "parent_estate_id":
- m_parentEstateID = (uint) configuration_result;
- break;
- case "max_agents":
- m_maxAgents = (byte) configuration_result;
- break;
-
- case "object_bonus_factor":
- m_objectBonusFactor = (float) configuration_result;
- break;
- case "redirect_grid_x":
- m_redirectGridX = (int) configuration_result;
- break;
- case "redirect_grid_y":
- m_redirectGridY = (int) configuration_result;
- break;
- case "region_flags":
- m_regionFlags = (Simulator.RegionFlags) ((uint) configuration_result);
- break;
- case "sim_access":
- m_simAccess = (Simulator.SimAccess) ((byte) configuration_result);
- break;
- case "sun_hour":
- m_sunHour = (float) configuration_result;
- break;
- case "terrain_raise_limit":
- m_terrainRaiseLimit = (float) configuration_result;
- break;
- case "terrain_lower_limit":
- m_terrainLowerLimit = (float) configuration_result;
- break;
- case "use_fixed_sun":
- m_useFixedSun = (bool) configuration_result;
- break;
- case "price_per_meter":
- m_pricePerMeter = Convert.ToInt32(configuration_result);
- break;
- case "region_water_height":
- m_regionWaterHeight = (ushort) configuration_result;
- break;
- case "region_allow_terraform":
- m_regionAllowTerraform = (bool) configuration_result;
- break;
-
- case "terrain_base_0":
- m_terrainBase0 = (LLUUID) configuration_result;
- break;
- case "terrain_base_1":
- m_terrainBase1 = (LLUUID) configuration_result;
- break;
- case "terrain_base_2":
- m_terrainBase2 = (LLUUID) configuration_result;
- break;
- case "terrain_base_3":
- m_terrainBase3 = (LLUUID) configuration_result;
- break;
-
- case "terrain_detail_0":
- m_terrainDetail0 = (LLUUID) configuration_result;
- break;
- case "terrain_detail_1":
- m_terrainDetail1 = (LLUUID) configuration_result;
- break;
- case "terrain_detail_2":
- m_terrainDetail2 = (LLUUID) configuration_result;
- break;
- case "terrain_detail_3":
- m_terrainDetail3 = (LLUUID) configuration_result;
- break;
-
- case "terrain_start_height_0":
- m_terrainStartHeight0 = (float) configuration_result;
- break;
- case "terrain_start_height_1":
- m_terrainStartHeight1 = (float) configuration_result;
- break;
- case "terrain_start_height_2":
- m_terrainStartHeight2 = (float) configuration_result;
- break;
- case "terrain_start_height_3":
- m_terrainStartHeight3 = (float) configuration_result;
- break;
-
- case "terrain_height_range_0":
- m_terrainHeightRange0 = (float) configuration_result;
- break;
- case "terrain_height_range_1":
- m_terrainHeightRange1 = (float) configuration_result;
- break;
- case "terrain_height_range_2":
- m_terrainHeightRange2 = (float) configuration_result;
- break;
- case "terrain_height_range_3":
- m_terrainHeightRange3 = (float) configuration_result;
- break;
-
- case "terrain_file":
- m_terrainFile = (string) configuration_result;
- break;
- case "terrain_multiplier":
- m_terrainMultiplier = Convert.ToDouble(configuration_result);
- break;
- case "water_height":
- double tmpVal = (double) configuration_result;
- m_waterHeight = (float) tmpVal;
- break;
- case "terrain_image_id":
- m_terrainImageID = (LLUUID) configuration_result;
- break;
- }
-
- return true;
- }
- }
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+using System;
+using System.IO;
+using libsecondlife;
+
+namespace OpenSim.Framework
+{
+ public class EstateSettings
+ {
+ //Settings to this island
+ private float m_billableFactor;
+
+ public float billableFactor
+ {
+ get { return m_billableFactor; }
+ set
+ {
+ m_billableFactor = value;
+ configMember.forceSetConfigurationOption("billable_factor", m_billableFactor.ToString());
+ }
+ }
+
+
+ private uint m_estateID;
+
+ public uint estateID
+ {
+ get { return m_estateID; }
+ set
+ {
+ m_estateID = value;
+ configMember.forceSetConfigurationOption("estate_id", m_estateID.ToString());
+ }
+ }
+
+
+ private uint m_parentEstateID;
+
+ public uint parentEstateID
+ {
+ get { return m_parentEstateID; }
+ set
+ {
+ m_parentEstateID = value;
+ configMember.forceSetConfigurationOption("parent_estate_id", m_parentEstateID.ToString());
+ }
+ }
+
+ private byte m_maxAgents;
+
+ public byte maxAgents
+ {
+ get { return m_maxAgents; }
+ set
+ {
+ m_maxAgents = value;
+ configMember.forceSetConfigurationOption("max_agents", m_maxAgents.ToString());
+ }
+ }
+
+ private float m_objectBonusFactor;
+
+ public float objectBonusFactor
+ {
+ get { return m_objectBonusFactor; }
+ set
+ {
+ m_objectBonusFactor = value;
+ configMember.forceSetConfigurationOption("object_bonus_factor", m_objectBonusFactor.ToString());
+ }
+ }
+
+ private int m_redirectGridX;
+
+ public int redirectGridX
+ {
+ get { return m_redirectGridX; }
+ set
+ {
+ m_redirectGridX = value;
+ configMember.forceSetConfigurationOption("redirect_grid_x", m_redirectGridX.ToString());
+ }
+ }
+
+ private int m_redirectGridY;
+
+ public int redirectGridY
+ {
+ get { return m_redirectGridY; }
+ set
+ {
+ m_redirectGridY = value;
+ configMember.forceSetConfigurationOption("redirect_grid_y", m_redirectGridY.ToString());
+ }
+ }
+
+ private Simulator.RegionFlags m_regionFlags;
+
+ public Simulator.RegionFlags regionFlags
+ {
+ get { return m_regionFlags; }
+ set
+ {
+ m_regionFlags = value;
+ configMember.forceSetConfigurationOption("region_flags", m_regionFlags.ToString());
+ }
+ }
+
+
+ private Simulator.SimAccess m_simAccess;
+
+ public Simulator.SimAccess simAccess
+ {
+ get { return m_simAccess; }
+ set
+ {
+ m_simAccess = value;
+ configMember.forceSetConfigurationOption("sim_access", m_simAccess.ToString());
+ }
+ }
+
+ private float m_sunHour;
+
+ public float sunHour
+ {
+ get { return m_sunHour; }
+ set
+ {
+ m_sunHour = value;
+ configMember.forceSetConfigurationOption("sun_hour", m_sunHour.ToString());
+ }
+ }
+
+ private float m_terrainRaiseLimit;
+
+ public float terrainRaiseLimit
+ {
+ get { return m_terrainRaiseLimit; }
+ set
+ {
+ m_terrainRaiseLimit = value;
+ configMember.forceSetConfigurationOption("terrain_raise_limit", m_terrainRaiseLimit.ToString());
+ }
+ }
+
+ private float m_terrainLowerLimit;
+
+ public float terrainLowerLimit
+ {
+ get { return m_terrainLowerLimit; }
+ set
+ {
+ m_terrainLowerLimit = value;
+ configMember.forceSetConfigurationOption("terrain_lower_limit", m_terrainLowerLimit.ToString());
+ }
+ }
+
+ private bool m_useFixedSun;
+
+ public bool useFixedSun
+ {
+ get { return m_useFixedSun; }
+ set
+ {
+ m_useFixedSun = value;
+ configMember.forceSetConfigurationOption("use_fixed_sun", m_useFixedSun.ToString());
+ }
+ }
+
+
+ private int m_pricePerMeter;
+
+ public int pricePerMeter
+ {
+ get { return m_pricePerMeter; }
+ set
+ {
+ m_pricePerMeter = value;
+ configMember.forceSetConfigurationOption("price_per_meter", m_pricePerMeter.ToString());
+ }
+ }
+
+
+ private ushort m_regionWaterHeight;
+
+ public ushort regionWaterHeight
+ {
+ get { return m_regionWaterHeight; }
+ set
+ {
+ m_regionWaterHeight = value;
+ configMember.forceSetConfigurationOption("region_water_height", m_regionWaterHeight.ToString());
+ }
+ }
+
+
+ private bool m_regionAllowTerraform;
+
+ public bool regionAllowTerraform
+ {
+ get { return m_regionAllowTerraform; }
+ set
+ {
+ m_regionAllowTerraform = value;
+ configMember.forceSetConfigurationOption("region_allow_terraform", m_regionAllowTerraform.ToString());
+ }
+ }
+
+
+ // Region Information
+ // Low resolution 'base' textures. No longer used.
+ private LLUUID m_terrainBase0;
+
+ public LLUUID terrainBase0
+ {
+ get { return m_terrainBase0; }
+ set
+ {
+ m_terrainBase0 = value;
+ configMember.forceSetConfigurationOption("terrain_base_0", m_terrainBase0.ToString());
+ }
+ }
+
+ private LLUUID m_terrainBase1;
+
+ public LLUUID terrainBase1
+ {
+ get { return m_terrainBase1; }
+ set
+ {
+ m_terrainBase1 = value;
+ configMember.forceSetConfigurationOption("terrain_base_1", m_terrainBase1.ToString());
+ }
+ }
+
+ private LLUUID m_terrainBase2;
+
+ public LLUUID terrainBase2
+ {
+ get { return m_terrainBase2; }
+ set
+ {
+ m_terrainBase2 = value;
+ configMember.forceSetConfigurationOption("terrain_base_2", m_terrainBase2.ToString());
+ }
+ }
+
+ private LLUUID m_terrainBase3;
+
+ public LLUUID terrainBase3
+ {
+ get { return m_terrainBase3; }
+ set
+ {
+ m_terrainBase3 = value;
+ configMember.forceSetConfigurationOption("terrain_base_3", m_terrainBase3.ToString());
+ }
+ }
+
+
+ // Higher resolution terrain textures
+ private LLUUID m_terrainDetail0;
+
+ public LLUUID terrainDetail0
+ {
+ get { return m_terrainDetail0; }
+ set
+ {
+ m_terrainDetail0 = value;
+ configMember.forceSetConfigurationOption("terrain_detail_0", m_terrainDetail0.ToString());
+ }
+ }
+
+ private LLUUID m_terrainDetail1;
+
+ public LLUUID terrainDetail1
+ {
+ get { return m_terrainDetail1; }
+ set
+ {
+ m_terrainDetail1 = value;
+ configMember.forceSetConfigurationOption("terrain_detail_1", m_terrainDetail1.ToString());
+ }
+ }
+
+ private LLUUID m_terrainDetail2;
+
+ public LLUUID terrainDetail2
+ {
+ get { return m_terrainDetail2; }
+ set
+ {
+ m_terrainDetail2 = value;
+ configMember.forceSetConfigurationOption("terrain_detail_2", m_terrainDetail2.ToString());
+ }
+ }
+
+ private LLUUID m_terrainDetail3;
+
+ public LLUUID terrainDetail3
+ {
+ get { return m_terrainDetail3; }
+ set
+ {
+ m_terrainDetail3 = value;
+ configMember.forceSetConfigurationOption("terrain_detail_3", m_terrainDetail3.ToString());
+ }
+ }
+
+ // First quad - each point is bilinearly interpolated at each meter of terrain
+ private float m_terrainStartHeight0;
+
+ public float terrainStartHeight0
+ {
+ get { return m_terrainStartHeight0; }
+ set
+ {
+ m_terrainStartHeight0 = value;
+ configMember.forceSetConfigurationOption("terrain_start_height_0", m_terrainStartHeight0.ToString());
+ }
+ }
+
+
+ private float m_terrainStartHeight1;
+
+ public float terrainStartHeight1
+ {
+ get { return m_terrainStartHeight1; }
+ set
+ {
+ m_terrainStartHeight1 = value;
+ configMember.forceSetConfigurationOption("terrain_start_height_1", m_terrainStartHeight1.ToString());
+ }
+ }
+
+ private float m_terrainStartHeight2;
+
+ public float terrainStartHeight2
+ {
+ get { return m_terrainStartHeight2; }
+ set
+ {
+ m_terrainStartHeight2 = value;
+ configMember.forceSetConfigurationOption("terrain_start_height_2", m_terrainStartHeight2.ToString());
+ }
+ }
+
+ private float m_terrainStartHeight3;
+
+ public float terrainStartHeight3
+ {
+ get { return m_terrainStartHeight3; }
+ set
+ {
+ m_terrainStartHeight3 = value;
+ configMember.forceSetConfigurationOption("terrain_start_height_3", m_terrainStartHeight3.ToString());
+ }
+ }
+
+ // 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
+ {
+ get { return m_terrainHeightRange0; }
+ set
+ {
+ m_terrainHeightRange0 = value;
+ configMember.forceSetConfigurationOption("terrain_height_range_0", m_terrainHeightRange0.ToString());
+ }
+ }
+
+ private float m_terrainHeightRange1;
+
+ public float terrainHeightRange1
+ {
+ get { return m_terrainHeightRange1; }
+ set
+ {
+ m_terrainHeightRange1 = value;
+ configMember.forceSetConfigurationOption("terrain_height_range_1", m_terrainHeightRange1.ToString());
+ }
+ }
+
+ private float m_terrainHeightRange2;
+
+ public float terrainHeightRange2
+ {
+ get { return m_terrainHeightRange2; }
+ set
+ {
+ m_terrainHeightRange2 = value;
+ configMember.forceSetConfigurationOption("terrain_height_range_2", m_terrainHeightRange2.ToString());
+ }
+ }
+
+ private float m_terrainHeightRange3;
+
+ public float terrainHeightRange3
+ {
+ get { return m_terrainHeightRange3; }
+ set
+ {
+ m_terrainHeightRange3 = value;
+ configMember.forceSetConfigurationOption("terrain_height_range_3", m_terrainHeightRange3.ToString());
+ }
+ }
+
+ // Terrain Default (Must be in F32 Format!)
+ private string m_terrainFile;
+
+ public string terrainFile
+ {
+ get { return m_terrainFile; }
+ set
+ {
+ m_terrainFile = value;
+ configMember.forceSetConfigurationOption("terrain_file", m_terrainFile.ToString());
+ }
+ }
+
+ private double m_terrainMultiplier;
+
+ public double terrainMultiplier
+ {
+ get { return m_terrainMultiplier; }
+ set
+ {
+ m_terrainMultiplier = value;
+ configMember.forceSetConfigurationOption("terrain_multiplier", m_terrainMultiplier.ToString());
+ }
+ }
+
+ private float m_waterHeight;
+
+ public float waterHeight
+ {
+ get { return m_waterHeight; }
+ set
+ {
+ m_waterHeight = value;
+ configMember.forceSetConfigurationOption("water_height", m_waterHeight.ToString());
+ }
+ }
+
+ private LLUUID m_terrainImageID;
+
+ public LLUUID terrainImageID
+ {
+ get { return m_terrainImageID; }
+ set
+ {
+ m_terrainImageID = value;
+ configMember.forceSetConfigurationOption("terrain_image_id", m_terrainImageID.ToString());
+ }
+ }
+
+ 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);
+ configMember.performConfigurationRetrieve();
+ }
+ }
+
+ public void loadConfigurationOptions()
+ {
+ configMember.addConfigurationOption("billable_factor", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "",
+ "0.0", true);
+ configMember.addConfigurationOption("estate_id", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, "", "0",
+ true);
+ configMember.addConfigurationOption("parent_estate_id", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
+ "", "0", true);
+ configMember.addConfigurationOption("max_agents", ConfigurationOption.ConfigurationTypes.TYPE_BYTE, "", "40",
+ true);
+
+ configMember.addConfigurationOption("object_bonus_factor", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT,
+ "", "1.0", true);
+ configMember.addConfigurationOption("redirect_grid_x", ConfigurationOption.ConfigurationTypes.TYPE_INT32, "",
+ "0", true);
+ configMember.addConfigurationOption("redirect_grid_y", ConfigurationOption.ConfigurationTypes.TYPE_INT32, "",
+ "0", true);
+ configMember.addConfigurationOption("region_flags", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, "",
+ "0", true);
+ configMember.addConfigurationOption("sim_access", ConfigurationOption.ConfigurationTypes.TYPE_BYTE, "", "21",
+ true);
+ configMember.addConfigurationOption("sun_hour", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "0",
+ true);
+ configMember.addConfigurationOption("terrain_raise_limit", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT,
+ "", "0", true);
+ configMember.addConfigurationOption("terrain_lower_limit", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT,
+ "", "0", true);
+ configMember.addConfigurationOption("use_fixed_sun", ConfigurationOption.ConfigurationTypes.TYPE_BOOLEAN, "",
+ "false", true);
+ configMember.addConfigurationOption("price_per_meter", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
+ "", "1", true);
+ configMember.addConfigurationOption("region_water_height",
+ ConfigurationOption.ConfigurationTypes.TYPE_UINT16, "", "20", true);
+ configMember.addConfigurationOption("region_allow_terraform",
+ ConfigurationOption.ConfigurationTypes.TYPE_BOOLEAN, "", "true", true);
+
+ configMember.addConfigurationOption("terrain_base_0", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "",
+ "b8d3965a-ad78-bf43-699b-bff8eca6c975", true);
+ configMember.addConfigurationOption("terrain_base_1", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "",
+ "abb783e6-3e93-26c0-248a-247666855da3", true);
+ configMember.addConfigurationOption("terrain_base_2", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "",
+ "179cdabd-398a-9b6b-1391-4dc333ba321f", true);
+ configMember.addConfigurationOption("terrain_base_3", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "",
+ "beb169c7-11ea-fff2-efe5-0f24dc881df2", true);
+
+ configMember.addConfigurationOption("terrain_detail_0", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
+ "", "00000000-0000-0000-0000-000000000000", true);
+ configMember.addConfigurationOption("terrain_detail_1", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
+ "", "00000000-0000-0000-0000-000000000000", true);
+ configMember.addConfigurationOption("terrain_detail_2", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
+ "", "00000000-0000-0000-0000-000000000000", true);
+ configMember.addConfigurationOption("terrain_detail_3", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
+ "", "00000000-0000-0000-0000-000000000000", true);
+
+ configMember.addConfigurationOption("terrain_start_height_0",
+ ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "10.0", true);
+ configMember.addConfigurationOption("terrain_start_height_1",
+ ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "10.0", true);
+ configMember.addConfigurationOption("terrain_start_height_2",
+ ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "10.0", true);
+ configMember.addConfigurationOption("terrain_start_height_3",
+ ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "10.0", true);
+
+ configMember.addConfigurationOption("terrain_height_range_0",
+ ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "60.0", true);
+ configMember.addConfigurationOption("terrain_height_range_1",
+ ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "60.0", true);
+ configMember.addConfigurationOption("terrain_height_range_2",
+ ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "60.0", true);
+ configMember.addConfigurationOption("terrain_height_range_3",
+ ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "60.0", true);
+
+ configMember.addConfigurationOption("terrain_file",
+ ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "",
+ "default.r32", true);
+ configMember.addConfigurationOption("terrain_multiplier", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT,
+ "", "60.0", true);
+ configMember.addConfigurationOption("water_height", ConfigurationOption.ConfigurationTypes.TYPE_DOUBLE, "",
+ "20.0", true);
+ configMember.addConfigurationOption("terrain_image_id", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
+ "", "00000000-0000-0000-0000-000000000000", true);
+ }
+
+ public bool handleIncomingConfiguration(string configuration_key, object configuration_result)
+ {
+ switch (configuration_key)
+ {
+ case "billable_factor":
+ m_billableFactor = (float) configuration_result;
+ break;
+ case "estate_id":
+ m_estateID = (uint) configuration_result;
+ break;
+ case "parent_estate_id":
+ m_parentEstateID = (uint) configuration_result;
+ break;
+ case "max_agents":
+ m_maxAgents = (byte) configuration_result;
+ break;
+
+ case "object_bonus_factor":
+ m_objectBonusFactor = (float) configuration_result;
+ break;
+ case "redirect_grid_x":
+ m_redirectGridX = (int) configuration_result;
+ break;
+ case "redirect_grid_y":
+ m_redirectGridY = (int) configuration_result;
+ break;
+ case "region_flags":
+ m_regionFlags = (Simulator.RegionFlags) ((uint) configuration_result);
+ break;
+ case "sim_access":
+ m_simAccess = (Simulator.SimAccess) ((byte) configuration_result);
+ break;
+ case "sun_hour":
+ m_sunHour = (float) configuration_result;
+ break;
+ case "terrain_raise_limit":
+ m_terrainRaiseLimit = (float) configuration_result;
+ break;
+ case "terrain_lower_limit":
+ m_terrainLowerLimit = (float) configuration_result;
+ break;
+ case "use_fixed_sun":
+ m_useFixedSun = (bool) configuration_result;
+ break;
+ case "price_per_meter":
+ m_pricePerMeter = Convert.ToInt32(configuration_result);
+ break;
+ case "region_water_height":
+ m_regionWaterHeight = (ushort) configuration_result;
+ break;
+ case "region_allow_terraform":
+ m_regionAllowTerraform = (bool) configuration_result;
+ break;
+
+ case "terrain_base_0":
+ m_terrainBase0 = (LLUUID) configuration_result;
+ break;
+ case "terrain_base_1":
+ m_terrainBase1 = (LLUUID) configuration_result;
+ break;
+ case "terrain_base_2":
+ m_terrainBase2 = (LLUUID) configuration_result;
+ break;
+ case "terrain_base_3":
+ m_terrainBase3 = (LLUUID) configuration_result;
+ break;
+
+ case "terrain_detail_0":
+ m_terrainDetail0 = (LLUUID) configuration_result;
+ break;
+ case "terrain_detail_1":
+ m_terrainDetail1 = (LLUUID) configuration_result;
+ break;
+ case "terrain_detail_2":
+ m_terrainDetail2 = (LLUUID) configuration_result;
+ break;
+ case "terrain_detail_3":
+ m_terrainDetail3 = (LLUUID) configuration_result;
+ break;
+
+ case "terrain_start_height_0":
+ m_terrainStartHeight0 = (float) configuration_result;
+ break;
+ case "terrain_start_height_1":
+ m_terrainStartHeight1 = (float) configuration_result;
+ break;
+ case "terrain_start_height_2":
+ m_terrainStartHeight2 = (float) configuration_result;
+ break;
+ case "terrain_start_height_3":
+ m_terrainStartHeight3 = (float) configuration_result;
+ break;
+
+ case "terrain_height_range_0":
+ m_terrainHeightRange0 = (float) configuration_result;
+ break;
+ case "terrain_height_range_1":
+ m_terrainHeightRange1 = (float) configuration_result;
+ break;
+ case "terrain_height_range_2":
+ m_terrainHeightRange2 = (float) configuration_result;
+ break;
+ case "terrain_height_range_3":
+ m_terrainHeightRange3 = (float) configuration_result;
+ break;
+
+ case "terrain_file":
+ m_terrainFile = (string) configuration_result;
+ break;
+ case "terrain_multiplier":
+ m_terrainMultiplier = Convert.ToDouble(configuration_result);
+ break;
+ case "water_height":
+ double tmpVal = (double) configuration_result;
+ m_waterHeight = (float) tmpVal;
+ break;
+ case "terrain_image_id":
+ m_terrainImageID = (LLUUID) configuration_result;
+ break;
+ }
+
+ return true;
+ }
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Framework/General/GridConfig.cs b/OpenSim/Framework/General/GridConfig.cs
index 66d6c3a..021e6c5 100644
--- a/OpenSim/Framework/General/GridConfig.cs
+++ b/OpenSim/Framework/General/GridConfig.cs
@@ -1,136 +1,136 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-namespace OpenSim.Framework
-{
- public class GridConfig
- {
- public string GridOwner = "";
- public string DefaultAssetServer = "";
- public string AssetSendKey = "";
- public string AssetRecvKey = "";
-
- public string DefaultUserServer = "";
- public string UserSendKey = "";
- public string UserRecvKey = "";
-
- public string SimSendKey = "";
- public string SimRecvKey = "";
-
- public string DatabaseProvider = "";
-
- public static uint DefaultHttpPort = 8001;
- public uint HttpPort = DefaultHttpPort;
-
- private ConfigurationMember configMember;
-
- public GridConfig(string description, string filename)
- {
- configMember =
- new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration);
- configMember.performConfigurationRetrieve();
- }
-
- public void loadConfigurationOptions()
- {
- configMember.addConfigurationOption("grid_owner",
- ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
- "OGS Grid Owner", "OGS development team", false);
- configMember.addConfigurationOption("default_asset_server",
- ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
- "Default Asset Server URI",
- "http://127.0.0.1:" + AssetConfig.DefaultHttpPort.ToString() + "/",
- false);
- configMember.addConfigurationOption("asset_send_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "Key to send to asset server", "null", false);
- configMember.addConfigurationOption("asset_recv_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "Key to expect from asset server", "null", false);
-
- configMember.addConfigurationOption("default_user_server",
- ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
- "Default User Server URI",
- "http://127.0.0.1:" + UserConfig.DefaultHttpPort.ToString() + "/", false);
- configMember.addConfigurationOption("user_send_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "Key to send to user server", "null", false);
- configMember.addConfigurationOption("user_recv_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "Key to expect from user server", "null", false);
-
- configMember.addConfigurationOption("sim_send_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "Key to send to a simulator", "null", false);
- configMember.addConfigurationOption("sim_recv_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "Key to expect from a simulator", "null", false);
- configMember.addConfigurationOption("database_provider", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "DLL for database provider", "OpenSim.Framework.Data.MySQL.dll", false);
-
- configMember.addConfigurationOption("http_port", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
- "Http Listener port", DefaultHttpPort.ToString(), false);
- }
-
- public bool handleIncomingConfiguration(string configuration_key, object configuration_result)
- {
- switch (configuration_key)
- {
- case "grid_owner":
- GridOwner = (string) configuration_result;
- break;
- case "default_asset_server":
- DefaultAssetServer = (string) configuration_result;
- break;
- case "asset_send_key":
- AssetSendKey = (string) configuration_result;
- break;
- case "asset_recv_key":
- AssetRecvKey = (string) configuration_result;
- break;
- case "default_user_server":
- DefaultUserServer = (string) configuration_result;
- break;
- case "user_send_key":
- UserSendKey = (string) configuration_result;
- break;
- case "user_recv_key":
- UserRecvKey = (string) configuration_result;
- break;
- case "sim_send_key":
- SimSendKey = (string) configuration_result;
- break;
- case "sim_recv_key":
- SimRecvKey = (string) configuration_result;
- break;
- case "database_provider":
- DatabaseProvider = (string) configuration_result;
- break;
- case "http_port":
- HttpPort = (uint) configuration_result;
- break;
- }
-
- return true;
- }
- }
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+namespace OpenSim.Framework
+{
+ public class GridConfig
+ {
+ public string GridOwner = "";
+ public string DefaultAssetServer = "";
+ public string AssetSendKey = "";
+ public string AssetRecvKey = "";
+
+ public string DefaultUserServer = "";
+ public string UserSendKey = "";
+ public string UserRecvKey = "";
+
+ public string SimSendKey = "";
+ public string SimRecvKey = "";
+
+ public string DatabaseProvider = "";
+
+ public static uint DefaultHttpPort = 8001;
+ public uint HttpPort = DefaultHttpPort;
+
+ private ConfigurationMember configMember;
+
+ public GridConfig(string description, string filename)
+ {
+ configMember =
+ new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration);
+ configMember.performConfigurationRetrieve();
+ }
+
+ public void loadConfigurationOptions()
+ {
+ configMember.addConfigurationOption("grid_owner",
+ ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
+ "OGS Grid Owner", "OGS development team", false);
+ configMember.addConfigurationOption("default_asset_server",
+ ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
+ "Default Asset Server URI",
+ "http://127.0.0.1:" + AssetConfig.DefaultHttpPort.ToString() + "/",
+ false);
+ configMember.addConfigurationOption("asset_send_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
+ "Key to send to asset server", "null", false);
+ configMember.addConfigurationOption("asset_recv_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
+ "Key to expect from asset server", "null", false);
+
+ configMember.addConfigurationOption("default_user_server",
+ ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
+ "Default User Server URI",
+ "http://127.0.0.1:" + UserConfig.DefaultHttpPort.ToString() + "/", false);
+ configMember.addConfigurationOption("user_send_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
+ "Key to send to user server", "null", false);
+ configMember.addConfigurationOption("user_recv_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
+ "Key to expect from user server", "null", false);
+
+ configMember.addConfigurationOption("sim_send_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
+ "Key to send to a simulator", "null", false);
+ configMember.addConfigurationOption("sim_recv_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
+ "Key to expect from a simulator", "null", false);
+ configMember.addConfigurationOption("database_provider", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
+ "DLL for database provider", "OpenSim.Framework.Data.MySQL.dll", false);
+
+ configMember.addConfigurationOption("http_port", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
+ "Http Listener port", DefaultHttpPort.ToString(), false);
+ }
+
+ public bool handleIncomingConfiguration(string configuration_key, object configuration_result)
+ {
+ switch (configuration_key)
+ {
+ case "grid_owner":
+ GridOwner = (string) configuration_result;
+ break;
+ case "default_asset_server":
+ DefaultAssetServer = (string) configuration_result;
+ break;
+ case "asset_send_key":
+ AssetSendKey = (string) configuration_result;
+ break;
+ case "asset_recv_key":
+ AssetRecvKey = (string) configuration_result;
+ break;
+ case "default_user_server":
+ DefaultUserServer = (string) configuration_result;
+ break;
+ case "user_send_key":
+ UserSendKey = (string) configuration_result;
+ break;
+ case "user_recv_key":
+ UserRecvKey = (string) configuration_result;
+ break;
+ case "sim_send_key":
+ SimSendKey = (string) configuration_result;
+ break;
+ case "sim_recv_key":
+ SimRecvKey = (string) configuration_result;
+ break;
+ case "database_provider":
+ DatabaseProvider = (string) configuration_result;
+ break;
+ case "http_port":
+ HttpPort = (uint) configuration_result;
+ break;
+ }
+
+ return true;
+ }
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Framework/General/IAssetProvider.cs b/OpenSim/Framework/General/IAssetProvider.cs
index f452822..ad1cf66 100644
--- a/OpenSim/Framework/General/IAssetProvider.cs
+++ b/OpenSim/Framework/General/IAssetProvider.cs
@@ -1,41 +1,41 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-using libsecondlife;
-
-namespace OpenSim.Framework
-{
- public interface IAssetProvider : IPlugin
- {
- AssetBase FetchAsset(LLUUID uuid);
- void CreateAsset(AssetBase asset);
- void UpdateAsset(AssetBase asset);
- bool ExistsAsset(LLUUID uuid);
- void CommitAssets(); // force a sync to the database
- }
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using libsecondlife;
+
+namespace OpenSim.Framework
+{
+ public interface IAssetProvider : IPlugin
+ {
+ AssetBase FetchAsset(LLUUID uuid);
+ void CreateAsset(AssetBase asset);
+ void UpdateAsset(AssetBase asset);
+ bool ExistsAsset(LLUUID uuid);
+ void CommitAssets(); // force a sync to the database
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Framework/General/IAssetServer.cs b/OpenSim/Framework/General/IAssetServer.cs
index f4cb533..9a7dbab 100644
--- a/OpenSim/Framework/General/IAssetServer.cs
+++ b/OpenSim/Framework/General/IAssetServer.cs
@@ -1,69 +1,69 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-using System;
-using System.Collections.Generic;
-using libsecondlife;
-
-namespace OpenSim.Framework
-{
- ///
- /// Description of IAssetServer.
- ///
- public interface IAssetServer
- {
- void SetReceiver(IAssetReceiver receiver);
- void FetchAsset(LLUUID assetID, bool isTexture);
- void UpdateAsset(AssetBase asset);
- void StoreAndCommitAsset(AssetBase asset);
- void Close();
- void LoadAsset(AssetBase info, bool image, string filename);
- List GetDefaultAssets();
- AssetBase CreateImageAsset(string assetIdStr, string name, string filename);
- void ForEachDefaultAsset(Action action);
- AssetBase CreateAsset(string assetIdStr, string name, string filename, bool isImage);
- void ForEachXmlAsset(Action action);
- }
-
- // could change to delegate?
- public interface IAssetReceiver
- {
- void AssetReceived(AssetBase asset, bool IsTexture);
- void AssetNotFound(LLUUID assetID);
- }
-
- public interface IAssetPlugin
- {
- IAssetServer GetAssetServer();
- }
-
- public struct ARequest
- {
- public LLUUID AssetID;
- public bool IsTexture;
- }
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+using System;
+using System.Collections.Generic;
+using libsecondlife;
+
+namespace OpenSim.Framework
+{
+ ///
+ /// Description of IAssetServer.
+ ///
+ public interface IAssetServer
+ {
+ void SetReceiver(IAssetReceiver receiver);
+ void FetchAsset(LLUUID assetID, bool isTexture);
+ void UpdateAsset(AssetBase asset);
+ void StoreAndCommitAsset(AssetBase asset);
+ void Close();
+ void LoadAsset(AssetBase info, bool image, string filename);
+ List GetDefaultAssets();
+ AssetBase CreateImageAsset(string assetIdStr, string name, string filename);
+ void ForEachDefaultAsset(Action action);
+ AssetBase CreateAsset(string assetIdStr, string name, string filename, bool isImage);
+ void ForEachXmlAsset(Action action);
+ }
+
+ // could change to delegate?
+ public interface IAssetReceiver
+ {
+ void AssetReceived(AssetBase asset, bool IsTexture);
+ void AssetNotFound(LLUUID assetID);
+ }
+
+ public interface IAssetPlugin
+ {
+ IAssetServer GetAssetServer();
+ }
+
+ public struct ARequest
+ {
+ public LLUUID AssetID;
+ public bool IsTexture;
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Framework/General/IClientAPI.cs b/OpenSim/Framework/General/IClientAPI.cs
index ec7a69e..4482ae6 100644
--- a/OpenSim/Framework/General/IClientAPI.cs
+++ b/OpenSim/Framework/General/IClientAPI.cs
@@ -1,447 +1,447 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-using System;
-using System.Collections.Generic;
-using System.Net;
-using libsecondlife;
-using libsecondlife.Packets;
-
-namespace OpenSim.Framework
-{
- // Base Args Interface
- public interface IEventArgs
- {
- IScene Scene { get; set; }
-
- IClientAPI Sender { get; set; }
- }
-
- public delegate void ViewerEffectEventHandler(IClientAPI sender, ViewerEffectPacket.EffectBlock[] effectBlock);
-
- public delegate void ChatFromViewer(Object sender, ChatFromViewerArgs e);
-
- public enum ChatTypeEnum
- {
- Whisper = 0,
- Say = 1,
- Shout = 2,
- Broadcast = 0xFF
- } ;
-
- ///
- /// ChatFromViewer Arguments
- ///
- 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 IClientAPI m_sender;
- protected IScene m_scene;
-
- ///
- /// The message sent by the user
- ///
- public string Message
- {
- get { return m_message; }
- set { m_message = value; }
- }
-
- ///
- /// The type of message, eg say, shout, broadcast.
- ///
- public ChatTypeEnum Type
- {
- get { return m_type; }
- set { m_type = value; }
- }
-
- ///
- /// Which channel was this message sent on? Different channels may have different listeners. Public chat is on channel zero.
- ///
- public int Channel
- {
- get { return m_channel; }
- set { m_channel = value; }
- }
-
- ///
- /// The position of the sender at the time of the message broadcast.
- ///
- public LLVector3 Position
- {
- get { return m_position; }
- set { m_position = value; }
- }
-
- ///
- /// The name of the sender (needed for scripts)
- ///
- public string From
- {
- get { return m_from; }
- set { m_from = value; }
- }
-
- ///
- /// The client responsible for sending the message, or null.
- ///
- public IClientAPI Sender
- {
- get { return m_sender; }
- set { m_sender = value; }
- }
-
- public IScene Scene
- {
- get { return m_scene; }
- set { m_scene = value; }
- }
-
- public ChatFromViewerArgs()
- {
- m_position = new LLVector3();
- }
- }
-
- public class TextureRequestArgs : EventArgs
- {
- protected LLUUID m_requestedAssetID;
- private sbyte m_discardLevel;
- private uint m_packetNumber;
-
- public uint PacketNumber
- {
- get { return m_packetNumber; }
- set { m_packetNumber = value; }
- }
-
- public sbyte DiscardLevel
- {
- get { return m_discardLevel; }
- set { m_discardLevel = value; }
- }
-
- public LLUUID RequestedAssetID
- {
- get { return m_requestedAssetID; }
- set { m_requestedAssetID = value; }
- }
- }
-
- public delegate void TextureRequest(Object sender, TextureRequestArgs e);
-
- public delegate void ImprovedInstantMessage(
- LLUUID fromAgentID, LLUUID fromAgentSession, LLUUID toAgentID, LLUUID imSessionID, uint timestamp,
- string fromAgentName, string message, byte dialog); // Cut down from full list
- public delegate void RezObject(IClientAPI remoteClient, LLUUID itemID, LLVector3 pos);
-
- public delegate void ModifyTerrain(
- float height, float seconds, byte size, byte action, float north, float west, IClientAPI remoteClient);
-
- public delegate void SetAppearance(byte[] texture, AgentSetAppearancePacket.VisualParamBlock[] visualParam);
-
- public delegate void StartAnim(IClientAPI remoteClient, LLUUID animID, int seq);
-
- public delegate void LinkObjects(uint parent, List children);
-
- public delegate void RequestMapBlocks(IClientAPI remoteClient, int minX, int minY, int maxX, int maxY);
-
- public delegate void TeleportLocationRequest(
- IClientAPI remoteClient, ulong regionHandle, LLVector3 position, LLVector3 lookAt, uint flags);
-
- public delegate void DisconnectUser();
-
- public delegate void RequestAvatarProperties(IClientAPI remoteClient, LLUUID avatarID);
-
- public delegate void GenericCall(IClientAPI remoteClient);
-
- public delegate void GenericCall2();
-
- public delegate void GenericCall3(Packet packet);
-
- // really don't want to be passing packets in these events, so this is very temporary.
- public delegate void GenericCall4(Packet packet, IClientAPI remoteClient);
-
- public delegate void GenericCall5(IClientAPI remoteClient, bool status);
-
- public delegate void GenericCall6(LLUUID uid);
-
- public delegate void GenericCall7(uint localID, string message);
-
- public delegate void UpdateShape(uint localID, ObjectShapePacket.ObjectDataBlock shapeBlock);
-
- public delegate void ObjectExtraParams(uint localID, ushort type, bool inUse, byte[] data);
-
- public delegate void ObjectSelect(uint localID, IClientAPI remoteClient);
-
- public delegate void ObjectDeselect(uint localID, IClientAPI remoteClient);
-
- public delegate void UpdatePrimFlags(uint localID, Packet packet, IClientAPI remoteClient);
-
- public delegate void UpdatePrimTexture(uint localID, byte[] texture, IClientAPI remoteClient);
-
- public delegate void UpdateVector(uint localID, LLVector3 pos, IClientAPI remoteClient);
-
- public delegate void UpdatePrimRotation(uint localID, LLQuaternion rot, IClientAPI remoteClient);
-
- public delegate void UpdatePrimSingleRotation(uint localID, LLQuaternion rot, IClientAPI remoteClient);
-
- public delegate void UpdatePrimGroupRotation(uint localID, LLVector3 pos, LLQuaternion rot, IClientAPI remoteClient);
-
- public delegate void ObjectDuplicate(uint localID, LLVector3 offset, uint dupeFlags);
-
- public delegate void StatusChange(bool status);
-
- public delegate void NewAvatar(IClientAPI remoteClient, LLUUID agentID, bool status);
-
- public delegate void UpdateAgent(IClientAPI remoteClient, uint flags, LLQuaternion bodyRotation);
-
- public delegate void AgentRequestSit(IClientAPI remoteClient, LLUUID agentID, LLUUID targetID, LLVector3 offset);
-
- public delegate void AgentSit(IClientAPI remoteClient, LLUUID agentID);
-
- public delegate void MoveObject(LLUUID objectID, LLVector3 offset, LLVector3 grapPos, IClientAPI remoteClient);
-
- public delegate void ParcelPropertiesRequest(
- int start_x, int start_y, int end_x, int end_y, int sequence_id, bool snap_selection, IClientAPI remote_client);
-
- public delegate void ParcelDivideRequest(int west, int south, int east, int north, IClientAPI remote_client);
-
- public delegate void ParcelJoinRequest(int west, int south, int east, int north, IClientAPI remote_client);
-
- public delegate void ParcelPropertiesUpdateRequest(ParcelPropertiesUpdatePacket packet, IClientAPI remote_client);
-
- public delegate void ParcelSelectObjects(int land_local_id, int request_type, IClientAPI remote_client);
-
- public delegate void ParcelObjectOwnerRequest(int local_id, IClientAPI remote_client);
-
- public delegate void EstateOwnerMessageRequest(EstateOwnerMessagePacket packet, IClientAPI remote_client);
-
- public delegate void UUIDNameRequest(LLUUID id, IClientAPI remote_client);
-
- public delegate void AddNewPrim(LLUUID ownerID, LLVector3 pos, PrimitiveBaseShape shape);
-
- public delegate void CreateInventoryFolder(
- IClientAPI remoteClient, LLUUID folderID, ushort folderType, string folderName, LLUUID parentID);
-
- public delegate void CreateNewInventoryItem(
- IClientAPI remoteClient, LLUUID transActionID, LLUUID folderID, uint callbackID, string description, string name,
- sbyte invType, sbyte type, byte wearableType, uint nextOwnerMask);
-
- public delegate void FetchInventoryDescendents(
- IClientAPI remoteClient, LLUUID folderID, LLUUID ownerID, bool fetchFolders, bool fetchItems, int sortOrder);
-
- public delegate void FetchInventory(IClientAPI remoteClient, LLUUID itemID, LLUUID ownerID);
-
- public delegate void RequestTaskInventory(IClientAPI remoteClient, uint localID);
-
- public delegate void UpdateInventoryItemTransaction(
- IClientAPI remoteClient, LLUUID transactionID, LLUUID assetID, LLUUID itemID);
-
- public delegate void RezScript(IClientAPI remoteClient, LLUUID itemID, uint localID);
-
- public delegate void UpdateTaskInventory(IClientAPI remoteClient, LLUUID itemID, LLUUID folderID, uint localID);
-
- public delegate void RemoveTaskInventory(IClientAPI remoteClient, LLUUID itemID, uint localID);
-
- public delegate void UDPAssetUploadRequest(
- IClientAPI remoteClient, LLUUID assetID, LLUUID transaction, sbyte type, byte[] data, bool storeLocal);
-
- public delegate void XferReceive(IClientAPI remoteClient, ulong xferID, uint packetID, byte[] data);
-
- public delegate void RequestXfer(IClientAPI remoteClient, ulong xferID, string fileName);
-
- public delegate void ConfirmXfer(IClientAPI remoteClient, ulong xferID, uint packetID);
-
- public interface IClientAPI
- {
- event ImprovedInstantMessage OnInstantMessage;
- event ChatFromViewer OnChatFromViewer;
- event TextureRequest OnRequestTexture;
- event RezObject OnRezObject;
- event ModifyTerrain OnModifyTerrain;
- event SetAppearance OnSetAppearance;
- event StartAnim OnStartAnim;
- event LinkObjects OnLinkObjects;
- event RequestMapBlocks OnRequestMapBlocks;
- event TeleportLocationRequest OnTeleportLocationRequest;
- event DisconnectUser OnDisconnectUser;
- event RequestAvatarProperties OnRequestAvatarProperties;
-
- event GenericCall4 OnDeRezObject;
- event GenericCall OnRegionHandShakeReply;
- event GenericCall OnRequestWearables;
- event GenericCall2 OnCompleteMovementToRegion;
- event UpdateAgent OnAgentUpdate;
- event AgentRequestSit OnAgentRequestSit;
- event AgentSit OnAgentSit;
- event GenericCall OnRequestAvatarsData;
- event AddNewPrim OnAddPrim;
- event ObjectDuplicate OnObjectDuplicate;
- event UpdateVector OnGrabObject;
- event ObjectSelect OnDeGrabObject;
- event MoveObject OnGrabUpdate;
-
- event UpdateShape OnUpdatePrimShape;
- event ObjectExtraParams OnUpdateExtraParams;
- event ObjectSelect OnObjectSelect;
- event ObjectDeselect OnObjectDeselect;
- event GenericCall7 OnObjectDescription;
- event GenericCall7 OnObjectName;
- event UpdatePrimFlags OnUpdatePrimFlags;
- event UpdatePrimTexture OnUpdatePrimTexture;
- event UpdateVector OnUpdatePrimGroupPosition;
- event UpdateVector OnUpdatePrimSinglePosition;
- event UpdatePrimRotation OnUpdatePrimGroupRotation;
- event UpdatePrimSingleRotation OnUpdatePrimSingleRotation;
- event UpdatePrimGroupRotation OnUpdatePrimGroupMouseRotation;
- event UpdateVector OnUpdatePrimScale;
- event StatusChange OnChildAgentStatus;
- event GenericCall2 OnStopMovement;
- event GenericCall6 OnRemoveAvatar;
-
- event CreateNewInventoryItem OnCreateNewInventoryItem;
- event CreateInventoryFolder OnCreateNewInventoryFolder;
- event FetchInventoryDescendents OnFetchInventoryDescendents;
- event FetchInventory OnFetchInventory;
- event RequestTaskInventory OnRequestTaskInventory;
- event UpdateInventoryItemTransaction OnUpdateInventoryItem;
- event UDPAssetUploadRequest OnAssetUploadRequest;
- event XferReceive OnXferReceive;
- event RequestXfer OnRequestXfer;
- event ConfirmXfer OnConfirmXfer;
- event RezScript OnRezScript;
- event UpdateTaskInventory OnUpdateTaskInventory;
- event RemoveTaskInventory OnRemoveTaskItem;
-
- event UUIDNameRequest OnNameFromUUIDRequest;
-
- event ParcelPropertiesRequest OnParcelPropertiesRequest;
- event ParcelDivideRequest OnParcelDivideRequest;
- event ParcelJoinRequest OnParcelJoinRequest;
- event ParcelPropertiesUpdateRequest OnParcelPropertiesUpdateRequest;
- event ParcelSelectObjects OnParcelSelectObjects;
- event ParcelObjectOwnerRequest OnParcelObjectOwnerRequest;
- event EstateOwnerMessageRequest OnEstateOwnerMessage;
-
- LLVector3 StartPos { get; set; }
-
- LLUUID AgentId { get; }
-
- LLUUID SessionId { get; }
-
- string FirstName { get; }
-
- string LastName { get; }
-
- uint CircuitCode { get; set; }
-
- void OutPacket(Packet newPack);
- void SendWearables(AvatarWearable[] wearables);
- void SendAppearance(LLUUID agentID, byte[] visualParams, byte[] textureEntry);
- void SendStartPingCheck(byte seq);
- void SendKillObject(ulong regionHandle, uint localID);
- void SendAnimation(LLUUID animID, int seq, LLUUID sourceAgentId);
- void SendRegionHandshake(RegionInfo regionInfo);
- void SendChatMessage(string message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID);
- void SendChatMessage(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID);
-
- void SendInstantMessage(LLUUID fromAgent, LLUUID fromAgentSession, string message, LLUUID toAgent,
- LLUUID imSessionID, string fromName, byte dialog, uint timeStamp);
-
- void SendLayerData(float[] map);
- void SendLayerData(int px, int py, float[] map);
- void MoveAgentIntoRegion(RegionInfo regInfo, LLVector3 pos, LLVector3 look);
- void InformClientOfNeighbour(ulong neighbourHandle, IPEndPoint neighbourExternalEndPoint);
- AgentCircuitData RequestClientInfo();
-
- void CrossRegion(ulong newRegionHandle, LLVector3 pos, LLVector3 lookAt, IPEndPoint newRegionExternalEndPoint,
- string capsURL);
-
- void SendMapBlock(List mapBlocks);
- void SendLocalTeleport(LLVector3 position, LLVector3 lookAt, uint flags);
-
- void SendRegionTeleport(ulong regionHandle, byte simAccess, IPEndPoint regionExternalEndPoint, uint locationID,
- uint flags, string capsURL);
-
- void SendTeleportCancel();
- void SendTeleportLocationStart();
- void SendMoneyBalance(LLUUID transaction, bool success, byte[] description, int balance);
-
- void SendAvatarData(ulong regionHandle, string firstName, string lastName, LLUUID avatarID, uint avatarLocalID,
- LLVector3 Pos, byte[] textureEntry, uint parentID);
-
- void SendAvatarTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position,
- LLVector3 velocity, LLQuaternion rotation);
-
- void SendCoarseLocationUpdate(List CoarseLocations);
-
- void AttachObject(uint localID, LLQuaternion rotation, byte attachPoint);
-
- void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape,
- LLVector3 pos, uint flags, LLUUID objectID, LLUUID ownerID, string text,
- uint parentID, byte[] particleSystem, LLQuaternion rotation);
-
- void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position,
- LLQuaternion rotation);
-
- void SendInventoryFolderDetails(LLUUID ownerID, LLUUID folderID, List items);
- void SendInventoryItemDetails(LLUUID ownerID, InventoryItemBase item);
- void SendInventoryItemUpdate(InventoryItemBase Item);
- void SendRemoveInventoryItem(LLUUID itemID);
- void SendTaskInventory(LLUUID taskID, short serial, byte[] fileName);
- void SendXferPacket(ulong xferID, uint packet, byte[] data);
-
- void SendPreLoadSound(LLUUID objectID, LLUUID ownerID, LLUUID soundID);
- void SendPlayAttachedSound(LLUUID soundID, LLUUID objectID, LLUUID ownerID, float gain, byte flags);
-
- void SendNameReply(LLUUID profileId, string firstname, string lastname);
- void SendAlertMessage(string message);
- void SendAgentAlertMessage(string message, bool modal);
- void SendLoadURL(string objectname, LLUUID objectID, LLUUID ownerID, bool groupOwned, string message, string url);
- bool AddMoney(int debit);
-
- void SendViewerTime(int phase);
-
- void SendAvatarProperties(LLUUID avatarID, string aboutText, string bornOn, string charterMember, string flAbout,
- uint flags, LLUUID flImageID, LLUUID imageID, string profileURL, LLUUID partnerID);
-
- void SetDebug(int newDebug);
- void InPacket(Packet NewPack);
- void Close();
- event ViewerEffectEventHandler OnViewerEffect;
- event Action OnLogout;
- event Action OnConnectionClosed;
- void SendLogoutPacket();
- }
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+using System;
+using System.Collections.Generic;
+using System.Net;
+using libsecondlife;
+using libsecondlife.Packets;
+
+namespace OpenSim.Framework
+{
+ // Base Args Interface
+ public interface IEventArgs
+ {
+ IScene Scene { get; set; }
+
+ IClientAPI Sender { get; set; }
+ }
+
+ public delegate void ViewerEffectEventHandler(IClientAPI sender, ViewerEffectPacket.EffectBlock[] effectBlock);
+
+ public delegate void ChatFromViewer(Object sender, ChatFromViewerArgs e);
+
+ public enum ChatTypeEnum
+ {
+ Whisper = 0,
+ Say = 1,
+ Shout = 2,
+ Broadcast = 0xFF
+ } ;
+
+ ///
+ /// ChatFromViewer Arguments
+ ///
+ 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 IClientAPI m_sender;
+ protected IScene m_scene;
+
+ ///
+ /// The message sent by the user
+ ///
+ public string Message
+ {
+ get { return m_message; }
+ set { m_message = value; }
+ }
+
+ ///
+ /// The type of message, eg say, shout, broadcast.
+ ///
+ public ChatTypeEnum Type
+ {
+ get { return m_type; }
+ set { m_type = value; }
+ }
+
+ ///
+ /// Which channel was this message sent on? Different channels may have different listeners. Public chat is on channel zero.
+ ///
+ public int Channel
+ {
+ get { return m_channel; }
+ set { m_channel = value; }
+ }
+
+ ///
+ /// The position of the sender at the time of the message broadcast.
+ ///
+ public LLVector3 Position
+ {
+ get { return m_position; }
+ set { m_position = value; }
+ }
+
+ ///
+ /// The name of the sender (needed for scripts)
+ ///
+ public string From
+ {
+ get { return m_from; }
+ set { m_from = value; }
+ }
+
+ ///
+ /// The client responsible for sending the message, or null.
+ ///
+ public IClientAPI Sender
+ {
+ get { return m_sender; }
+ set { m_sender = value; }
+ }
+
+ public IScene Scene
+ {
+ get { return m_scene; }
+ set { m_scene = value; }
+ }
+
+ public ChatFromViewerArgs()
+ {
+ m_position = new LLVector3();
+ }
+ }
+
+ public class TextureRequestArgs : EventArgs
+ {
+ protected LLUUID m_requestedAssetID;
+ private sbyte m_discardLevel;
+ private uint m_packetNumber;
+
+ public uint PacketNumber
+ {
+ get { return m_packetNumber; }
+ set { m_packetNumber = value; }
+ }
+
+ public sbyte DiscardLevel
+ {
+ get { return m_discardLevel; }
+ set { m_discardLevel = value; }
+ }
+
+ public LLUUID RequestedAssetID
+ {
+ get { return m_requestedAssetID; }
+ set { m_requestedAssetID = value; }
+ }
+ }
+
+ public delegate void TextureRequest(Object sender, TextureRequestArgs e);
+
+ public delegate void ImprovedInstantMessage(
+ LLUUID fromAgentID, LLUUID fromAgentSession, LLUUID toAgentID, LLUUID imSessionID, uint timestamp,
+ string fromAgentName, string message, byte dialog); // Cut down from full list
+ public delegate void RezObject(IClientAPI remoteClient, LLUUID itemID, LLVector3 pos);
+
+ public delegate void ModifyTerrain(
+ float height, float seconds, byte size, byte action, float north, float west, IClientAPI remoteClient);
+
+ public delegate void SetAppearance(byte[] texture, AgentSetAppearancePacket.VisualParamBlock[] visualParam);
+
+ public delegate void StartAnim(IClientAPI remoteClient, LLUUID animID, int seq);
+
+ public delegate void LinkObjects(uint parent, List children);
+
+ public delegate void RequestMapBlocks(IClientAPI remoteClient, int minX, int minY, int maxX, int maxY);
+
+ public delegate void TeleportLocationRequest(
+ IClientAPI remoteClient, ulong regionHandle, LLVector3 position, LLVector3 lookAt, uint flags);
+
+ public delegate void DisconnectUser();
+
+ public delegate void RequestAvatarProperties(IClientAPI remoteClient, LLUUID avatarID);
+
+ public delegate void GenericCall(IClientAPI remoteClient);
+
+ public delegate void GenericCall2();
+
+ public delegate void GenericCall3(Packet packet);
+
+ // really don't want to be passing packets in these events, so this is very temporary.
+ public delegate void GenericCall4(Packet packet, IClientAPI remoteClient);
+
+ public delegate void GenericCall5(IClientAPI remoteClient, bool status);
+
+ public delegate void GenericCall6(LLUUID uid);
+
+ public delegate void GenericCall7(uint localID, string message);
+
+ public delegate void UpdateShape(uint localID, ObjectShapePacket.ObjectDataBlock shapeBlock);
+
+ public delegate void ObjectExtraParams(uint localID, ushort type, bool inUse, byte[] data);
+
+ public delegate void ObjectSelect(uint localID, IClientAPI remoteClient);
+
+ public delegate void ObjectDeselect(uint localID, IClientAPI remoteClient);
+
+ public delegate void UpdatePrimFlags(uint localID, Packet packet, IClientAPI remoteClient);
+
+ public delegate void UpdatePrimTexture(uint localID, byte[] texture, IClientAPI remoteClient);
+
+ public delegate void UpdateVector(uint localID, LLVector3 pos, IClientAPI remoteClient);
+
+ public delegate void UpdatePrimRotation(uint localID, LLQuaternion rot, IClientAPI remoteClient);
+
+ public delegate void UpdatePrimSingleRotation(uint localID, LLQuaternion rot, IClientAPI remoteClient);
+
+ public delegate void UpdatePrimGroupRotation(uint localID, LLVector3 pos, LLQuaternion rot, IClientAPI remoteClient);
+
+ public delegate void ObjectDuplicate(uint localID, LLVector3 offset, uint dupeFlags);
+
+ public delegate void StatusChange(bool status);
+
+ public delegate void NewAvatar(IClientAPI remoteClient, LLUUID agentID, bool status);
+
+ public delegate void UpdateAgent(IClientAPI remoteClient, uint flags, LLQuaternion bodyRotation);
+
+ public delegate void AgentRequestSit(IClientAPI remoteClient, LLUUID agentID, LLUUID targetID, LLVector3 offset);
+
+ public delegate void AgentSit(IClientAPI remoteClient, LLUUID agentID);
+
+ public delegate void MoveObject(LLUUID objectID, LLVector3 offset, LLVector3 grapPos, IClientAPI remoteClient);
+
+ public delegate void ParcelPropertiesRequest(
+ int start_x, int start_y, int end_x, int end_y, int sequence_id, bool snap_selection, IClientAPI remote_client);
+
+ public delegate void ParcelDivideRequest(int west, int south, int east, int north, IClientAPI remote_client);
+
+ public delegate void ParcelJoinRequest(int west, int south, int east, int north, IClientAPI remote_client);
+
+ public delegate void ParcelPropertiesUpdateRequest(ParcelPropertiesUpdatePacket packet, IClientAPI remote_client);
+
+ public delegate void ParcelSelectObjects(int land_local_id, int request_type, IClientAPI remote_client);
+
+ public delegate void ParcelObjectOwnerRequest(int local_id, IClientAPI remote_client);
+
+ public delegate void EstateOwnerMessageRequest(EstateOwnerMessagePacket packet, IClientAPI remote_client);
+
+ public delegate void UUIDNameRequest(LLUUID id, IClientAPI remote_client);
+
+ public delegate void AddNewPrim(LLUUID ownerID, LLVector3 pos, PrimitiveBaseShape shape);
+
+ public delegate void CreateInventoryFolder(
+ IClientAPI remoteClient, LLUUID folderID, ushort folderType, string folderName, LLUUID parentID);
+
+ public delegate void CreateNewInventoryItem(
+ IClientAPI remoteClient, LLUUID transActionID, LLUUID folderID, uint callbackID, string description, string name,
+ sbyte invType, sbyte type, byte wearableType, uint nextOwnerMask);
+
+ public delegate void FetchInventoryDescendents(
+ IClientAPI remoteClient, LLUUID folderID, LLUUID ownerID, bool fetchFolders, bool fetchItems, int sortOrder);
+
+ public delegate void FetchInventory(IClientAPI remoteClient, LLUUID itemID, LLUUID ownerID);
+
+ public delegate void RequestTaskInventory(IClientAPI remoteClient, uint localID);
+
+ public delegate void UpdateInventoryItemTransaction(
+ IClientAPI remoteClient, LLUUID transactionID, LLUUID assetID, LLUUID itemID);
+
+ public delegate void RezScript(IClientAPI remoteClient, LLUUID itemID, uint localID);
+
+ public delegate void UpdateTaskInventory(IClientAPI remoteClient, LLUUID itemID, LLUUID folderID, uint localID);
+
+ public delegate void RemoveTaskInventory(IClientAPI remoteClient, LLUUID itemID, uint localID);
+
+ public delegate void UDPAssetUploadRequest(
+ IClientAPI remoteClient, LLUUID assetID, LLUUID transaction, sbyte type, byte[] data, bool storeLocal);
+
+ public delegate void XferReceive(IClientAPI remoteClient, ulong xferID, uint packetID, byte[] data);
+
+ public delegate void RequestXfer(IClientAPI remoteClient, ulong xferID, string fileName);
+
+ public delegate void ConfirmXfer(IClientAPI remoteClient, ulong xferID, uint packetID);
+
+ public interface IClientAPI
+ {
+ event ImprovedInstantMessage OnInstantMessage;
+ event ChatFromViewer OnChatFromViewer;
+ event TextureRequest OnRequestTexture;
+ event RezObject OnRezObject;
+ event ModifyTerrain OnModifyTerrain;
+ event SetAppearance OnSetAppearance;
+ event StartAnim OnStartAnim;
+ event LinkObjects OnLinkObjects;
+ event RequestMapBlocks OnRequestMapBlocks;
+ event TeleportLocationRequest OnTeleportLocationRequest;
+ event DisconnectUser OnDisconnectUser;
+ event RequestAvatarProperties OnRequestAvatarProperties;
+
+ event GenericCall4 OnDeRezObject;
+ event GenericCall OnRegionHandShakeReply;
+ event GenericCall OnRequestWearables;
+ event GenericCall2 OnCompleteMovementToRegion;
+ event UpdateAgent OnAgentUpdate;
+ event AgentRequestSit OnAgentRequestSit;
+ event AgentSit OnAgentSit;
+ event GenericCall OnRequestAvatarsData;
+ event AddNewPrim OnAddPrim;
+ event ObjectDuplicate OnObjectDuplicate;
+ event UpdateVector OnGrabObject;
+ event ObjectSelect OnDeGrabObject;
+ event MoveObject OnGrabUpdate;
+
+ event UpdateShape OnUpdatePrimShape;
+ event ObjectExtraParams OnUpdateExtraParams;
+ event ObjectSelect OnObjectSelect;
+ event ObjectDeselect OnObjectDeselect;
+ event GenericCall7 OnObjectDescription;
+ event GenericCall7 OnObjectName;
+ event UpdatePrimFlags OnUpdatePrimFlags;
+ event UpdatePrimTexture OnUpdatePrimTexture;
+ event UpdateVector OnUpdatePrimGroupPosition;
+ event UpdateVector OnUpdatePrimSinglePosition;
+ event UpdatePrimRotation OnUpdatePrimGroupRotation;
+ event UpdatePrimSingleRotation OnUpdatePrimSingleRotation;
+ event UpdatePrimGroupRotation OnUpdatePrimGroupMouseRotation;
+ event UpdateVector OnUpdatePrimScale;
+ event StatusChange OnChildAgentStatus;
+ event GenericCall2 OnStopMovement;
+ event GenericCall6 OnRemoveAvatar;
+
+ event CreateNewInventoryItem OnCreateNewInventoryItem;
+ event CreateInventoryFolder OnCreateNewInventoryFolder;
+ event FetchInventoryDescendents OnFetchInventoryDescendents;
+ event FetchInventory OnFetchInventory;
+ event RequestTaskInventory OnRequestTaskInventory;
+ event UpdateInventoryItemTransaction OnUpdateInventoryItem;
+ event UDPAssetUploadRequest OnAssetUploadRequest;
+ event XferReceive OnXferReceive;
+ event RequestXfer OnRequestXfer;
+ event ConfirmXfer OnConfirmXfer;
+ event RezScript OnRezScript;
+ event UpdateTaskInventory OnUpdateTaskInventory;
+ event RemoveTaskInventory OnRemoveTaskItem;
+
+ event UUIDNameRequest OnNameFromUUIDRequest;
+
+ event ParcelPropertiesRequest OnParcelPropertiesRequest;
+ event ParcelDivideRequest OnParcelDivideRequest;
+ event ParcelJoinRequest OnParcelJoinRequest;
+ event ParcelPropertiesUpdateRequest OnParcelPropertiesUpdateRequest;
+ event ParcelSelectObjects OnParcelSelectObjects;
+ event ParcelObjectOwnerRequest OnParcelObjectOwnerRequest;
+ event EstateOwnerMessageRequest OnEstateOwnerMessage;
+
+ LLVector3 StartPos { get; set; }
+
+ LLUUID AgentId { get; }
+
+ LLUUID SessionId { get; }
+
+ string FirstName { get; }
+
+ string LastName { get; }
+
+ uint CircuitCode { get; set; }
+
+ void OutPacket(Packet newPack);
+ void SendWearables(AvatarWearable[] wearables);
+ void SendAppearance(LLUUID agentID, byte[] visualParams, byte[] textureEntry);
+ void SendStartPingCheck(byte seq);
+ void SendKillObject(ulong regionHandle, uint localID);
+ void SendAnimation(LLUUID animID, int seq, LLUUID sourceAgentId);
+ void SendRegionHandshake(RegionInfo regionInfo);
+ void SendChatMessage(string message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID);
+ void SendChatMessage(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID);
+
+ void SendInstantMessage(LLUUID fromAgent, LLUUID fromAgentSession, string message, LLUUID toAgent,
+ LLUUID imSessionID, string fromName, byte dialog, uint timeStamp);
+
+ void SendLayerData(float[] map);
+ void SendLayerData(int px, int py, float[] map);
+ void MoveAgentIntoRegion(RegionInfo regInfo, LLVector3 pos, LLVector3 look);
+ void InformClientOfNeighbour(ulong neighbourHandle, IPEndPoint neighbourExternalEndPoint);
+ AgentCircuitData RequestClientInfo();
+
+ void CrossRegion(ulong newRegionHandle, LLVector3 pos, LLVector3 lookAt, IPEndPoint newRegionExternalEndPoint,
+ string capsURL);
+
+ void SendMapBlock(List mapBlocks);
+ void SendLocalTeleport(LLVector3 position, LLVector3 lookAt, uint flags);
+
+ void SendRegionTeleport(ulong regionHandle, byte simAccess, IPEndPoint regionExternalEndPoint, uint locationID,
+ uint flags, string capsURL);
+
+ void SendTeleportCancel();
+ void SendTeleportLocationStart();
+ void SendMoneyBalance(LLUUID transaction, bool success, byte[] description, int balance);
+
+ void SendAvatarData(ulong regionHandle, string firstName, string lastName, LLUUID avatarID, uint avatarLocalID,
+ LLVector3 Pos, byte[] textureEntry, uint parentID);
+
+ void SendAvatarTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position,
+ LLVector3 velocity, LLQuaternion rotation);
+
+ void SendCoarseLocationUpdate(List CoarseLocations);
+
+ void AttachObject(uint localID, LLQuaternion rotation, byte attachPoint);
+
+ void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape,
+ LLVector3 pos, uint flags, LLUUID objectID, LLUUID ownerID, string text,
+ uint parentID, byte[] particleSystem, LLQuaternion rotation);
+
+ void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position,
+ LLQuaternion rotation);
+
+ void SendInventoryFolderDetails(LLUUID ownerID, LLUUID folderID, List items);
+ void SendInventoryItemDetails(LLUUID ownerID, InventoryItemBase item);
+ void SendInventoryItemUpdate(InventoryItemBase Item);
+ void SendRemoveInventoryItem(LLUUID itemID);
+ void SendTaskInventory(LLUUID taskID, short serial, byte[] fileName);
+ void SendXferPacket(ulong xferID, uint packet, byte[] data);
+
+ void SendPreLoadSound(LLUUID objectID, LLUUID ownerID, LLUUID soundID);
+ void SendPlayAttachedSound(LLUUID soundID, LLUUID objectID, LLUUID ownerID, float gain, byte flags);
+
+ void SendNameReply(LLUUID profileId, string firstname, string lastname);
+ void SendAlertMessage(string message);
+ void SendAgentAlertMessage(string message, bool modal);
+ void SendLoadURL(string objectname, LLUUID objectID, LLUUID ownerID, bool groupOwned, string message, string url);
+ bool AddMoney(int debit);
+
+ void SendViewerTime(int phase);
+
+ void SendAvatarProperties(LLUUID avatarID, string aboutText, string bornOn, string charterMember, string flAbout,
+ uint flags, LLUUID flImageID, LLUUID imageID, string profileURL, LLUUID partnerID);
+
+ void SetDebug(int newDebug);
+ void InPacket(Packet NewPack);
+ void Close();
+ event ViewerEffectEventHandler OnViewerEffect;
+ event Action OnLogout;
+ event Action OnConnectionClosed;
+ void SendLogoutPacket();
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Framework/General/IGenericConfig.cs b/OpenSim/Framework/General/IGenericConfig.cs
index 0c9ee1e..889d178 100644
--- a/OpenSim/Framework/General/IGenericConfig.cs
+++ b/OpenSim/Framework/General/IGenericConfig.cs
@@ -1,40 +1,40 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-namespace OpenSim.Framework
-{
- public interface IGenericConfig
- {
- void SetFileName(string fileName);
- void LoadData();
- void LoadDataFromString(string data);
- string GetAttribute(string attributeName);
- bool SetAttribute(string attributeName, string attributeValue);
- void Commit();
- void Close();
- }
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+namespace OpenSim.Framework
+{
+ public interface IGenericConfig
+ {
+ void SetFileName(string fileName);
+ void LoadData();
+ void LoadDataFromString(string data);
+ string GetAttribute(string attributeName);
+ bool SetAttribute(string attributeName, string attributeValue);
+ void Commit();
+ void Close();
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Framework/General/IPlugin.cs b/OpenSim/Framework/General/IPlugin.cs
index cc835da..e649274 100644
--- a/OpenSim/Framework/General/IPlugin.cs
+++ b/OpenSim/Framework/General/IPlugin.cs
@@ -1,53 +1,53 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-namespace OpenSim.Framework
-{
- ///
- /// This interface, describes a generic plugin
- ///
- public interface IPlugin
- {
- ///
- /// Returns the plugin version
- ///
- /// Plugin version in MAJOR.MINOR.REVISION.BUILD format
- string Version { get; }
-
- ///
- /// Returns the plugin name
- ///
- /// Plugin name, eg MySQL User Provider
- string Name { get; }
-
- ///
- /// Initialises the plugin (artificial constructor)
- ///
- void Initialise();
- }
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+namespace OpenSim.Framework
+{
+ ///
+ /// This interface, describes a generic plugin
+ ///
+ public interface IPlugin
+ {
+ ///
+ /// Returns the plugin version
+ ///
+ /// Plugin version in MAJOR.MINOR.REVISION.BUILD format
+ string Version { get; }
+
+ ///
+ /// Returns the plugin name
+ ///
+ /// Plugin name, eg MySQL User Provider
+ string Name { get; }
+
+ ///
+ /// Initialises the plugin (artificial constructor)
+ ///
+ void Initialise();
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Framework/General/IScene.cs b/OpenSim/Framework/General/IScene.cs
index cf5ee93..3d6ca1c 100644
--- a/OpenSim/Framework/General/IScene.cs
+++ b/OpenSim/Framework/General/IScene.cs
@@ -1,43 +1,43 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-using libsecondlife;
-
-namespace OpenSim.Framework
-{
- public interface IScene
- {
- void AddNewClient(IClientAPI client, bool child);
- void RemoveClient(LLUUID agentID);
-
- RegionInfo RegionInfo { get; }
- object SyncRoot { get; }
- uint NextLocalId { get; }
-
- ClientManager ClientManager { get; }
- }
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+using libsecondlife;
+
+namespace OpenSim.Framework
+{
+ public interface IScene
+ {
+ void AddNewClient(IClientAPI client, bool child);
+ void RemoveClient(LLUUID agentID);
+
+ RegionInfo RegionInfo { get; }
+ object SyncRoot { get; }
+ uint NextLocalId { get; }
+
+ ClientManager ClientManager { get; }
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Framework/General/IUserData.cs b/OpenSim/Framework/General/IUserData.cs
index b955ef1..cb2502a 100644
--- a/OpenSim/Framework/General/IUserData.cs
+++ b/OpenSim/Framework/General/IUserData.cs
@@ -1,134 +1,134 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-using libsecondlife;
-
-namespace OpenSim.Framework
-{
- ///
- /// An interface for connecting to user storage servers.
- ///
- public interface IUserData
- {
- ///
- /// Returns a user profile from a database via their UUID
- ///
- /// The accounts UUID
- /// The user data profile
- UserProfileData GetUserByUUID(LLUUID user);
-
- ///
- /// Returns a users profile by searching their username
- ///
- /// The users username
- /// The user data profile
- UserProfileData GetUserByName(string name);
-
- ///
- /// Returns a users profile by searching their username parts
- ///
- /// Account firstname
- /// Account lastname
- /// The user data profile
- UserProfileData GetUserByName(string fname, string lname);
-
- ///
- /// Returns the current agent for a user searching by it's UUID
- ///
- /// The users UUID
- /// The current agent session
- UserAgentData GetAgentByUUID(LLUUID user);
-
- ///
- /// Returns the current session agent for a user searching by username
- ///
- /// The users account name
- /// The current agent session
- UserAgentData GetAgentByName(string name);
-
- ///
- /// Returns the current session agent for a user searching by username parts
- ///
- /// The users first account name
- /// The users account surname
- /// The current agent session
- UserAgentData GetAgentByName(string fname, string lname);
-
- ///
- /// Adds a new User profile to the database
- ///
- /// UserProfile to add
- void AddNewUserProfile(UserProfileData user);
-
- ///
- /// Updates an existing user profile
- ///
- /// UserProfile to update
- bool UpdateUserProfile(UserProfileData user);
-
- ///
- /// Adds a new agent to the database
- ///
- /// The agent to add
- void AddNewUserAgent(UserAgentData agent);
-
- ///
- /// Attempts to move currency units between accounts (NOT RELIABLE / TRUSTWORTHY. DONT TRY RUN YOUR OWN CURRENCY EXCHANGE WITH REAL VALUES)
- ///
- /// The account to transfer from
- /// The account to transfer to
- /// The amount to transfer
- /// Successful?
- bool MoneyTransferRequest(LLUUID from, LLUUID to, uint amount);
-
- ///
- /// Attempts to move inventory between accounts, if inventory is copyable it will be copied into the target account.
- ///
- /// User to transfer from
- /// User to transfer to
- /// Specified inventory item
- /// Successful?
- bool InventoryTransferRequest(LLUUID from, LLUUID to, LLUUID inventory);
-
- ///
- /// Returns the plugin version
- ///
- /// Plugin version in MAJOR.MINOR.REVISION.BUILD format
- string GetVersion();
-
- ///
- /// Returns the plugin name
- ///
- /// Plugin name, eg MySQL User Provider
- string getName();
-
- ///
- /// Initialises the plugin (artificial constructor)
- ///
- void Initialise();
- }
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+using libsecondlife;
+
+namespace OpenSim.Framework
+{
+ ///
+ /// An interface for connecting to user storage servers.
+ ///
+ public interface IUserData
+ {
+ ///
+ /// Returns a user profile from a database via their UUID
+ ///
+ /// The accounts UUID
+ /// The user data profile
+ UserProfileData GetUserByUUID(LLUUID user);
+
+ ///
+ /// Returns a users profile by searching their username
+ ///
+ /// The users username
+ /// The user data profile
+ UserProfileData GetUserByName(string name);
+
+ ///
+ /// Returns a users profile by searching their username parts
+ ///
+ /// Account firstname
+ /// Account lastname
+ /// The user data profile
+ UserProfileData GetUserByName(string fname, string lname);
+
+ ///
+ /// Returns the current agent for a user searching by it's UUID
+ ///
+ /// The users UUID
+ /// The current agent session
+ UserAgentData GetAgentByUUID(LLUUID user);
+
+ ///
+ /// Returns the current session agent for a user searching by username
+ ///
+ /// The users account name
+ /// The current agent session
+ UserAgentData GetAgentByName(string name);
+
+ ///
+ /// Returns the current session agent for a user searching by username parts
+ ///
+ /// The users first account name
+ /// The users account surname
+ /// The current agent session
+ UserAgentData GetAgentByName(string fname, string lname);
+
+ ///
+ /// Adds a new User profile to the database
+ ///
+ /// UserProfile to add
+ void AddNewUserProfile(UserProfileData user);
+
+ ///
+ /// Updates an existing user profile
+ ///
+ /// UserProfile to update
+ bool UpdateUserProfile(UserProfileData user);
+
+ ///
+ /// Adds a new agent to the database
+ ///
+ /// The agent to add
+ void AddNewUserAgent(UserAgentData agent);
+
+ ///
+ /// Attempts to move currency units between accounts (NOT RELIABLE / TRUSTWORTHY. DONT TRY RUN YOUR OWN CURRENCY EXCHANGE WITH REAL VALUES)
+ ///
+ /// The account to transfer from
+ /// The account to transfer to
+ /// The amount to transfer
+ /// Successful?
+ bool MoneyTransferRequest(LLUUID from, LLUUID to, uint amount);
+
+ ///
+ /// Attempts to move inventory between accounts, if inventory is copyable it will be copied into the target account.
+ ///
+ /// User to transfer from
+ /// User to transfer to
+ /// Specified inventory item
+ /// Successful?
+ bool InventoryTransferRequest(LLUUID from, LLUUID to, LLUUID inventory);
+
+ ///
+ /// Returns the plugin version
+ ///
+ /// Plugin version in MAJOR.MINOR.REVISION.BUILD format
+ string GetVersion();
+
+ ///
+ /// Returns the plugin name
+ ///
+ /// Plugin name, eg MySQL User Provider
+ string getName();
+
+ ///
+ /// Initialises the plugin (artificial constructor)
+ ///
+ void Initialise();
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Framework/General/IUserService.cs b/OpenSim/Framework/General/IUserService.cs
index bf1c7e8..ed9032b 100644
--- a/OpenSim/Framework/General/IUserService.cs
+++ b/OpenSim/Framework/General/IUserService.cs
@@ -1,48 +1,48 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-using libsecondlife;
-
-namespace OpenSim.Framework.Interfaces
-{
- public interface IUserService
- {
- UserProfileData GetUserProfile(string firstName, string lastName);
- UserProfileData GetUserProfile(string name);
- UserProfileData GetUserProfile(LLUUID userId);
- void clearUserAgent(LLUUID avatarID);
-
- UserProfileData SetupMasterUser(string firstName, string lastName);
- UserProfileData SetupMasterUser(string firstName, string lastName, string password);
-
- ///
- ///
- ///
- ///
- void AddUserProfile(string firstName, string lastName, string pass, uint regX, uint regY);
- }
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+using libsecondlife;
+
+namespace OpenSim.Framework.Interfaces
+{
+ public interface IUserService
+ {
+ UserProfileData GetUserProfile(string firstName, string lastName);
+ UserProfileData GetUserProfile(string name);
+ UserProfileData GetUserProfile(LLUUID userId);
+ void clearUserAgent(LLUUID avatarID);
+
+ UserProfileData SetupMasterUser(string firstName, string lastName);
+ UserProfileData SetupMasterUser(string firstName, string lastName, string password);
+
+ ///
+ ///
+ ///
+ ///
+ void AddUserProfile(string firstName, string lastName, string pass, uint regX, uint regY);
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Framework/General/InventoryConfig.cs b/OpenSim/Framework/General/InventoryConfig.cs
index 9ba3e07..8e64b68 100644
--- a/OpenSim/Framework/General/InventoryConfig.cs
+++ b/OpenSim/Framework/General/InventoryConfig.cs
@@ -1,67 +1,67 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace OpenSim.Framework
-{
- ///
- /// UserConfig -- For User Server Configuration
- ///
- public class InventoryConfig
- {
- public string DefaultStartupMsg = "";
- public string UserServerURL = "";
- public string UserSendKey = "";
- public string UserRecvKey = "";
-
- public string DatabaseProvider = "";
- public static uint DefaultHttpPort = 8004;
-
- public int HttpPort = 8004;
-
- private ConfigurationMember configMember;
-
- public InventoryConfig(string description, string filename)
- {
- configMember = new ConfigurationMember(filename, description, this.loadConfigurationOptions, this.handleIncomingConfiguration);
- configMember.performConfigurationRetrieve();
- }
-
- public void loadConfigurationOptions()
- {
- configMember.addConfigurationOption("default_startup_message", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "Default Startup Message", "Welcome to OGS", false);
- configMember.addConfigurationOption("default_user_server", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "Default User Server URI", "http://127.0.0.1:" + UserConfig.DefaultHttpPort.ToString(), false);
- configMember.addConfigurationOption("user_send_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING, "Key to send to user server", "null", false);
- configMember.addConfigurationOption("user_recv_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING, "Key to expect from user server", "null", false);
- configMember.addConfigurationOption("database_provider", ConfigurationOption.ConfigurationTypes.TYPE_STRING, "DLL for database provider", "OpenSim.Framework.Data.MySQL.dll", false);
- configMember.addConfigurationOption("http_port", ConfigurationOption.ConfigurationTypes.TYPE_INT32, "Http Listener port", DefaultHttpPort.ToString(), false);
- }
-
- public bool handleIncomingConfiguration(string configuration_key, object configuration_result)
- {
- switch (configuration_key)
- {
- case "default_startup_message":
- this.DefaultStartupMsg = (string)configuration_result;
- break;
- case "default_user_server":
- this.UserServerURL = (string)configuration_result;
- break;
- case "user_send_key":
- this.UserSendKey = (string)configuration_result;
- break;
- case "user_recv_key":
- this.UserRecvKey = (string)configuration_result;
- break;
- case "database_provider":
- this.DatabaseProvider = (string)configuration_result;
- break;
- case "http_port":
- HttpPort = (int)configuration_result;
- break;
- }
-
- return true;
- }
- }
-}
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace OpenSim.Framework
+{
+ ///
+ /// UserConfig -- For User Server Configuration
+ ///
+ public class InventoryConfig
+ {
+ public string DefaultStartupMsg = "";
+ public string UserServerURL = "";
+ public string UserSendKey = "";
+ public string UserRecvKey = "";
+
+ public string DatabaseProvider = "";
+ public static uint DefaultHttpPort = 8004;
+
+ public int HttpPort = 8004;
+
+ private ConfigurationMember configMember;
+
+ public InventoryConfig(string description, string filename)
+ {
+ configMember = new ConfigurationMember(filename, description, this.loadConfigurationOptions, this.handleIncomingConfiguration);
+ configMember.performConfigurationRetrieve();
+ }
+
+ public void loadConfigurationOptions()
+ {
+ configMember.addConfigurationOption("default_startup_message", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "Default Startup Message", "Welcome to OGS", false);
+ configMember.addConfigurationOption("default_user_server", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "Default User Server URI", "http://127.0.0.1:" + UserConfig.DefaultHttpPort.ToString(), false);
+ configMember.addConfigurationOption("user_send_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING, "Key to send to user server", "null", false);
+ configMember.addConfigurationOption("user_recv_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING, "Key to expect from user server", "null", false);
+ configMember.addConfigurationOption("database_provider", ConfigurationOption.ConfigurationTypes.TYPE_STRING, "DLL for database provider", "OpenSim.Framework.Data.MySQL.dll", false);
+ configMember.addConfigurationOption("http_port", ConfigurationOption.ConfigurationTypes.TYPE_INT32, "Http Listener port", DefaultHttpPort.ToString(), false);
+ }
+
+ public bool handleIncomingConfiguration(string configuration_key, object configuration_result)
+ {
+ switch (configuration_key)
+ {
+ case "default_startup_message":
+ this.DefaultStartupMsg = (string)configuration_result;
+ break;
+ case "default_user_server":
+ this.UserServerURL = (string)configuration_result;
+ break;
+ case "user_send_key":
+ this.UserSendKey = (string)configuration_result;
+ break;
+ case "user_recv_key":
+ this.UserRecvKey = (string)configuration_result;
+ break;
+ case "database_provider":
+ this.DatabaseProvider = (string)configuration_result;
+ break;
+ case "http_port":
+ HttpPort = (int)configuration_result;
+ break;
+ }
+
+ return true;
+ }
+ }
+}
diff --git a/OpenSim/Framework/General/InventoryItemBase.cs b/OpenSim/Framework/General/InventoryItemBase.cs
index f782913..331013f 100644
--- a/OpenSim/Framework/General/InventoryItemBase.cs
+++ b/OpenSim/Framework/General/InventoryItemBase.cs
@@ -1,273 +1,273 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-using System;
-using System.Xml.Serialization;
-using System.Collections;
-using System.Collections.Generic;
-using libsecondlife;
-
-namespace OpenSim.Framework
-{
- ///
- /// Inventory Item - contains all the properties associated with an individual inventory piece.
- ///
- public class InventoryItemBase
- {
- ///
- /// A UUID containing the ID for the inventory item itself
- ///
- public LLUUID inventoryID;
-
- ///
- /// The UUID of the associated asset on the asset server
- ///
- public LLUUID assetID;
-
- ///
- /// This is an enumerated value determining the type of asset (eg Notecard, Sound, Object, etc)
- ///
- public int assetType;
-
- ///
- /// The type of inventory item. (Can be slightly different to the asset type
- ///
- public int invType;
-
- ///
- /// The folder this item is contained in
- ///
- public LLUUID parentFolderID;
-
- ///
- /// The owner of this inventory item
- ///
- public LLUUID avatarID;
-
- ///
- /// The creator of this item
- ///
- public LLUUID creatorsID;
-
- ///
- /// The name of the inventory item (must be less than 64 characters)
- ///
- public string inventoryName;
-
- ///
- /// The description of the inventory item (must be less than 64 characters)
- ///
- public string inventoryDescription;
-
- ///
- /// A mask containing the permissions for the next owner (cannot be enforced)
- ///
- public uint inventoryNextPermissions;
-
- ///
- /// A mask containing permissions for the current owner (cannot be enforced)
- ///
- public uint inventoryCurrentPermissions;
-
- ///
- ///
- ///
- public uint inventoryBasePermissions;
-
- ///
- ///
- ///
- public uint inventoryEveryOnePermissions;
- }
-
- ///
- /// A Class for folders which contain users inventory
- ///
- public class InventoryFolderBase
- {
- ///
- /// The name of the folder (64 characters or less)
- ///
- public string name;
-
- ///
- /// The agent who's inventory this is contained by
- ///
- public LLUUID agentID;
-
- ///
- /// The folder this folder is contained in
- ///
- public LLUUID parentID;
-
- ///
- /// The UUID for this folder
- ///
- public LLUUID folderID;
-
- ///
- /// Tyep of Items normally stored in this folder
- ///
- public short type;
-
- ///
- ///
- ///
- public ushort version;
- }
-
- ///
- /// An interface for accessing inventory data from a storage server
- ///
- public interface IInventoryData
- {
- ///
- /// Initialises the interface
- ///
- void Initialise();
-
- ///
- /// Closes the interface
- ///
- void Close();
-
- ///
- /// The plugin being loaded
- ///
- /// A string containing the plugin name
- string getName();
-
- ///
- /// The plugins version
- ///
- /// A string containing the plugin version
- string getVersion();
-
- ///
- /// Returns a list of inventory items contained within the specified folder
- ///
- /// The UUID of the target folder
- /// A List of InventoryItemBase items
- List getInventoryInFolder(LLUUID folderID);
-
- ///
- /// Returns a list of the root folders within a users inventory
- ///
- /// The user whos inventory is to be searched
- /// A list of folder objects
- List getUserRootFolders(LLUUID user);
-
- ///
- /// Returns the users inventory root folder.
- ///
- /// The UUID of the user who is having inventory being returned
- /// Root inventory folder
- InventoryFolderBase getUserRootFolder(LLUUID user);
-
- ///
- /// Returns a list of inventory folders contained in the folder 'parentID'
- ///
- /// The folder to get subfolders for
- /// A list of inventory folders
- List getInventoryFolders(LLUUID parentID);
-
- ///
- /// Returns an inventory item by its UUID
- ///
- /// The UUID of the item to be returned
- /// A class containing item information
- InventoryItemBase getInventoryItem(LLUUID item);
-
- ///
- /// Returns a specified inventory folder by its UUID
- ///
- /// The UUID of the folder to be returned
- /// A class containing folder information
- InventoryFolderBase getInventoryFolder(LLUUID folder);
-
- ///
- /// Creates a new inventory item based on item
- ///
- /// The item to be created
- void addInventoryItem(InventoryItemBase item);
-
- ///
- /// Updates an inventory item with item (updates based on ID)
- ///
- /// The updated item
- void updateInventoryItem(InventoryItemBase item);
-
- ///
- ///
- ///
- ///
- void deleteInventoryItem(LLUUID item);
-
- ///
- /// Adds a new folder specified by folder
- ///
- /// The inventory folder
- void addInventoryFolder(InventoryFolderBase folder);
-
- ///
- /// Updates a folder based on its ID with folder
- ///
- /// The inventory folder
- void updateInventoryFolder(InventoryFolderBase folder);
-
- ///
- /// Deletes a folder based on its ID with folder
- ///
- /// The id of the folder
- void deleteInventoryFolder(LLUUID folder);
- }
-
- /*
- * .Net has some issues, serializing a dictionary, so we cannot reuse the InventoryFolder
- * class defined in Communications.Framework.Communications.Caches. So we serialize/deserialize
- * into this simpler class, and then use that.
- */
- [XmlRoot(ElementName = "inventory", IsNullable = true)]
- public class SerializableInventory
- {
- [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;
- }
-
- [XmlElement(ElementName = "folder", IsNullable = true)]
- public SerializableFolder root;
- }
-
-}
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+using System;
+using System.Xml.Serialization;
+using System.Collections;
+using System.Collections.Generic;
+using libsecondlife;
+
+namespace OpenSim.Framework
+{
+ ///
+ /// Inventory Item - contains all the properties associated with an individual inventory piece.
+ ///
+ public class InventoryItemBase
+ {
+ ///
+ /// A UUID containing the ID for the inventory item itself
+ ///
+ public LLUUID inventoryID;
+
+ ///
+ /// The UUID of the associated asset on the asset server
+ ///
+ public LLUUID assetID;
+
+ ///
+ /// This is an enumerated value determining the type of asset (eg Notecard, Sound, Object, etc)
+ ///
+ public int assetType;
+
+ ///
+ /// The type of inventory item. (Can be slightly different to the asset type
+ ///
+ public int invType;
+
+ ///
+ /// The folder this item is contained in
+ ///
+ public LLUUID parentFolderID;
+
+ ///
+ /// The owner of this inventory item
+ ///
+ public LLUUID avatarID;
+
+ ///
+ /// The creator of this item
+ ///
+ public LLUUID creatorsID;
+
+ ///
+ /// The name of the inventory item (must be less than 64 characters)
+ ///
+ public string inventoryName;
+
+ ///
+ /// The description of the inventory item (must be less than 64 characters)
+ ///
+ public string inventoryDescription;
+
+ ///
+ /// A mask containing the permissions for the next owner (cannot be enforced)
+ ///
+ public uint inventoryNextPermissions;
+
+ ///
+ /// A mask containing permissions for the current owner (cannot be enforced)
+ ///
+ public uint inventoryCurrentPermissions;
+
+ ///
+ ///
+ ///
+ public uint inventoryBasePermissions;
+
+ ///
+ ///
+ ///
+ public uint inventoryEveryOnePermissions;
+ }
+
+ ///
+ /// A Class for folders which contain users inventory
+ ///
+ public class InventoryFolderBase
+ {
+ ///
+ /// The name of the folder (64 characters or less)
+ ///
+ public string name;
+
+ ///
+ /// The agent who's inventory this is contained by
+ ///
+ public LLUUID agentID;
+
+ ///
+ /// The folder this folder is contained in
+ ///
+ public LLUUID parentID;
+
+ ///
+ /// The UUID for this folder
+ ///
+ public LLUUID folderID;
+
+ ///
+ /// Tyep of Items normally stored in this folder
+ ///
+ public short type;
+
+ ///
+ ///
+ ///
+ public ushort version;
+ }
+
+ ///
+ /// An interface for accessing inventory data from a storage server
+ ///
+ public interface IInventoryData
+ {
+ ///
+ /// Initialises the interface
+ ///
+ void Initialise();
+
+ ///
+ /// Closes the interface
+ ///
+ void Close();
+
+ ///
+ /// The plugin being loaded
+ ///
+ /// A string containing the plugin name
+ string getName();
+
+ ///
+ /// The plugins version
+ ///
+ /// A string containing the plugin version
+ string getVersion();
+
+ ///
+ /// Returns a list of inventory items contained within the specified folder
+ ///
+ /// The UUID of the target folder
+ /// A List of InventoryItemBase items
+ List getInventoryInFolder(LLUUID folderID);
+
+ ///
+ /// Returns a list of the root folders within a users inventory
+ ///
+ /// The user whos inventory is to be searched
+ /// A list of folder objects
+ List getUserRootFolders(LLUUID user);
+
+ ///
+ /// Returns the users inventory root folder.
+ ///
+ /// The UUID of the user who is having inventory being returned
+ /// Root inventory folder
+ InventoryFolderBase getUserRootFolder(LLUUID user);
+
+ ///
+ /// Returns a list of inventory folders contained in the folder 'parentID'
+ ///
+ /// The folder to get subfolders for
+ /// A list of inventory folders
+ List getInventoryFolders(LLUUID parentID);
+
+ ///
+ /// Returns an inventory item by its UUID
+ ///
+ /// The UUID of the item to be returned
+ /// A class containing item information
+ InventoryItemBase getInventoryItem(LLUUID item);
+
+ ///
+ /// Returns a specified inventory folder by its UUID
+ ///
+ /// The UUID of the folder to be returned
+ /// A class containing folder information
+ InventoryFolderBase getInventoryFolder(LLUUID folder);
+
+ ///
+ /// Creates a new inventory item based on item
+ ///
+ /// The item to be created
+ void addInventoryItem(InventoryItemBase item);
+
+ ///
+ /// Updates an inventory item with item (updates based on ID)
+ ///
+ /// The updated item
+ void updateInventoryItem(InventoryItemBase item);
+
+ ///
+ ///
+ ///
+ ///
+ void deleteInventoryItem(LLUUID item);
+
+ ///
+ /// Adds a new folder specified by folder
+ ///
+ /// The inventory folder
+ void addInventoryFolder(InventoryFolderBase folder);
+
+ ///
+ /// Updates a folder based on its ID with folder
+ ///
+ /// The inventory folder
+ void updateInventoryFolder(InventoryFolderBase folder);
+
+ ///
+ /// Deletes a folder based on its ID with folder
+ ///
+ /// The id of the folder
+ void deleteInventoryFolder(LLUUID folder);
+ }
+
+ /*
+ * .Net has some issues, serializing a dictionary, so we cannot reuse the InventoryFolder
+ * class defined in Communications.Framework.Communications.Caches. So we serialize/deserialize
+ * into this simpler class, and then use that.
+ */
+ [XmlRoot(ElementName = "inventory", IsNullable = true)]
+ public class SerializableInventory
+ {
+ [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;
+ }
+
+ [XmlElement(ElementName = "folder", IsNullable = true)]
+ public SerializableFolder root;
+ }
+
+}
diff --git a/OpenSim/Framework/General/LandData.cs b/OpenSim/Framework/General/LandData.cs
index cab71a9..ca948ef 100644
--- a/OpenSim/Framework/General/LandData.cs
+++ b/OpenSim/Framework/General/LandData.cs
@@ -1,123 +1,123 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-using libsecondlife;
-
-namespace OpenSim.Framework
-{
- public class LandData
- {
- public byte[] landBitmapByteArray = new byte[512];
- public string landName = "Your Parcel";
- public string landDesc = "";
- public LLUUID ownerID = new LLUUID();
- public bool isGroupOwned = false;
- public LLVector3 AABBMin = new LLVector3();
- public LLVector3 AABBMax = new LLVector3();
- public int area = 0;
- public uint auctionID = 0; //Unemplemented. If set to 0, not being auctioned
- public LLUUID authBuyerID = new LLUUID(); //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 groupID = new LLUUID(); //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 uint landFlags = (uint) Parcel.ParcelFlags.AllowFly | (uint) Parcel.ParcelFlags.AllowLandmark |
- (uint) Parcel.ParcelFlags.AllowAllObjectEntry |
- (uint) Parcel.ParcelFlags.AllowDeedToGroup | (uint) Parcel.ParcelFlags.AllowTerraform |
- (uint) Parcel.ParcelFlags.CreateObjects | (uint) Parcel.ParcelFlags.AllowOtherScripts |
- (uint) Parcel.ParcelFlags.SoundLocal;
-
- public byte landingType = 0;
- public byte mediaAutoScale = 0;
- public LLUUID mediaID = LLUUID.Zero;
- public int localID = 0;
- public LLUUID globalID = new LLUUID();
-
- public string mediaURL = "";
- public string musicURL = "";
- public float passHours = 0;
- public int passPrice = 0;
- public LLUUID snapshotID = LLUUID.Zero;
- public LLVector3 userLocation = new LLVector3();
- public LLVector3 userLookAt = new LLVector3();
-
- public LandData()
- {
- globalID = LLUUID.Random();
- }
-
- public LandData Copy()
- {
- LandData landData = new LandData();
-
- landData.AABBMax = AABBMax;
- landData.AABBMin = AABBMin;
- landData.area = area;
- landData.auctionID = auctionID;
- landData.authBuyerID = authBuyerID;
- landData.category = category;
- landData.claimDate = claimDate;
- landData.claimPrice = claimPrice;
- landData.globalID = globalID;
- landData.groupID = groupID;
- landData.groupPrims = groupPrims;
- landData.otherPrims = otherPrims;
- landData.ownerPrims = ownerPrims;
- landData.selectedPrims = selectedPrims;
- landData.isGroupOwned = isGroupOwned;
- landData.localID = localID;
- landData.landingType = landingType;
- landData.mediaAutoScale = mediaAutoScale;
- landData.mediaID = mediaID;
- landData.mediaURL = mediaURL;
- landData.musicURL = musicURL;
- landData.ownerID = ownerID;
- landData.landBitmapByteArray = (byte[]) landBitmapByteArray.Clone();
- landData.landDesc = landDesc;
- landData.landFlags = landFlags;
- landData.landName = landName;
- landData.landStatus = landStatus;
- landData.passHours = passHours;
- landData.passPrice = passPrice;
- landData.salePrice = salePrice;
- landData.snapshotID = snapshotID;
- landData.userLocation = userLocation;
- landData.userLookAt = userLookAt;
-
- return landData;
- }
- }
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+using libsecondlife;
+
+namespace OpenSim.Framework
+{
+ public class LandData
+ {
+ public byte[] landBitmapByteArray = new byte[512];
+ public string landName = "Your Parcel";
+ public string landDesc = "";
+ public LLUUID ownerID = new LLUUID();
+ public bool isGroupOwned = false;
+ public LLVector3 AABBMin = new LLVector3();
+ public LLVector3 AABBMax = new LLVector3();
+ public int area = 0;
+ public uint auctionID = 0; //Unemplemented. If set to 0, not being auctioned
+ public LLUUID authBuyerID = new LLUUID(); //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 groupID = new LLUUID(); //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 uint landFlags = (uint) Parcel.ParcelFlags.AllowFly | (uint) Parcel.ParcelFlags.AllowLandmark |
+ (uint) Parcel.ParcelFlags.AllowAllObjectEntry |
+ (uint) Parcel.ParcelFlags.AllowDeedToGroup | (uint) Parcel.ParcelFlags.AllowTerraform |
+ (uint) Parcel.ParcelFlags.CreateObjects | (uint) Parcel.ParcelFlags.AllowOtherScripts |
+ (uint) Parcel.ParcelFlags.SoundLocal;
+
+ public byte landingType = 0;
+ public byte mediaAutoScale = 0;
+ public LLUUID mediaID = LLUUID.Zero;
+ public int localID = 0;
+ public LLUUID globalID = new LLUUID();
+
+ public string mediaURL = "";
+ public string musicURL = "";
+ public float passHours = 0;
+ public int passPrice = 0;
+ public LLUUID snapshotID = LLUUID.Zero;
+ public LLVector3 userLocation = new LLVector3();
+ public LLVector3 userLookAt = new LLVector3();
+
+ public LandData()
+ {
+ globalID = LLUUID.Random();
+ }
+
+ public LandData Copy()
+ {
+ LandData landData = new LandData();
+
+ landData.AABBMax = AABBMax;
+ landData.AABBMin = AABBMin;
+ landData.area = area;
+ landData.auctionID = auctionID;
+ landData.authBuyerID = authBuyerID;
+ landData.category = category;
+ landData.claimDate = claimDate;
+ landData.claimPrice = claimPrice;
+ landData.globalID = globalID;
+ landData.groupID = groupID;
+ landData.groupPrims = groupPrims;
+ landData.otherPrims = otherPrims;
+ landData.ownerPrims = ownerPrims;
+ landData.selectedPrims = selectedPrims;
+ landData.isGroupOwned = isGroupOwned;
+ landData.localID = localID;
+ landData.landingType = landingType;
+ landData.mediaAutoScale = mediaAutoScale;
+ landData.mediaID = mediaID;
+ landData.mediaURL = mediaURL;
+ landData.musicURL = musicURL;
+ landData.ownerID = ownerID;
+ landData.landBitmapByteArray = (byte[]) landBitmapByteArray.Clone();
+ landData.landDesc = landDesc;
+ landData.landFlags = landFlags;
+ landData.landName = landName;
+ landData.landStatus = landStatus;
+ landData.passHours = passHours;
+ landData.passPrice = passPrice;
+ landData.salePrice = salePrice;
+ landData.snapshotID = snapshotID;
+ landData.userLocation = userLocation;
+ landData.userLookAt = userLookAt;
+
+ return landData;
+ }
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Framework/General/Login.cs b/OpenSim/Framework/General/Login.cs
index d9a5ab2..7ceed19 100644
--- a/OpenSim/Framework/General/Login.cs
+++ b/OpenSim/Framework/General/Login.cs
@@ -1,50 +1,50 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-using libsecondlife;
-
-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 = "";
- public LLVector3 StartPos;
-
- public Login()
- {
- StartPos = new LLVector3(128, 128, 70);
- }
- }
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+using libsecondlife;
+
+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 = "";
+ public LLVector3 StartPos;
+
+ public Login()
+ {
+ StartPos = new LLVector3(128, 128, 70);
+ }
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Framework/General/MapBlockData.cs b/OpenSim/Framework/General/MapBlockData.cs
index d794015..8609533 100644
--- a/OpenSim/Framework/General/MapBlockData.cs
+++ b/OpenSim/Framework/General/MapBlockData.cs
@@ -1,50 +1,50 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-using System;
-using libsecondlife;
-
-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 LLUUID MapImageId;
- public String Name;
- public uint RegionFlags;
-
- public MapBlockData()
- {
- }
- }
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using System;
+using libsecondlife;
+
+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 LLUUID MapImageId;
+ public String Name;
+ public uint RegionFlags;
+
+ public MapBlockData()
+ {
+ }
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Framework/General/NeighbourInfo.cs b/OpenSim/Framework/General/NeighbourInfo.cs
index 457f7d0..d5a0a2f 100644
--- a/OpenSim/Framework/General/NeighbourInfo.cs
+++ b/OpenSim/Framework/General/NeighbourInfo.cs
@@ -1,42 +1,42 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-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;
- }
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+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;
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Framework/General/NetworkServersInfo.cs b/OpenSim/Framework/General/NetworkServersInfo.cs
index aa8aa2b..b9ce143 100644
--- a/OpenSim/Framework/General/NetworkServersInfo.cs
+++ b/OpenSim/Framework/General/NetworkServersInfo.cs
@@ -1,100 +1,100 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-using Nini.Config;
-
-namespace OpenSim.Framework
-{
- public class NetworkServersInfo
- {
- public string AssetURL = "http://127.0.0.1:" + AssetConfig.DefaultHttpPort.ToString() + "/";
- public string AssetSendKey = "";
-
- public string GridURL = "";
- public string GridSendKey = "";
- public string GridRecvKey = "";
- public string UserURL = "";
- public string UserSendKey = "";
- public string UserRecvKey = "";
- public bool isSandbox;
-
- public string InventoryURL = "";
-
- public static int DefaultHttpListenerPort = 9000;
- public int HttpListenerPort = DefaultHttpListenerPort;
-
- public static int RemotingListenerPort = 8895;
-
-
- public NetworkServersInfo()
- {
- }
-
- public NetworkServersInfo(uint defaultHomeLocX, uint defaultHomeLocY)
- {
- m_defaultHomeLocX = defaultHomeLocX;
- 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; }
- }
-
- public void loadFromConfiguration(IConfigSource config)
- {
- m_defaultHomeLocX = (uint) config.Configs["StandAlone"].GetInt("default_location_x", 1000);
- m_defaultHomeLocY = (uint) config.Configs["StandAlone"].GetInt("default_location_y", 1000);
-
- HttpListenerPort = config.Configs["Network"].GetInt("http_listener_port", DefaultHttpListenerPort);
- RemotingListenerPort = config.Configs["Network"].GetInt("remoting_listener_port", RemotingListenerPort);
- GridURL =
- config.Configs["Network"].GetString("grid_server_url",
- "http://127.0.0.1:" + GridConfig.DefaultHttpPort.ToString());
- GridSendKey = config.Configs["Network"].GetString("grid_send_key", "null");
- GridRecvKey = config.Configs["Network"].GetString("grid_recv_key", "null");
- UserURL =
- config.Configs["Network"].GetString("user_server_url",
- "http://127.0.0.1:" + UserConfig.DefaultHttpPort.ToString());
- UserSendKey = config.Configs["Network"].GetString("user_send_key", "null");
- UserRecvKey = config.Configs["Network"].GetString("user_recv_key", "null");
- AssetURL = config.Configs["Network"].GetString("asset_server_url", AssetURL);
- InventoryURL = config.Configs["Network"].GetString("inventory_server_url",
- "http://127.0.0.1:" + InventoryConfig.DefaultHttpPort.ToString());
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using Nini.Config;
+
+namespace OpenSim.Framework
+{
+ public class NetworkServersInfo
+ {
+ public string AssetURL = "http://127.0.0.1:" + AssetConfig.DefaultHttpPort.ToString() + "/";
+ public string AssetSendKey = "";
+
+ public string GridURL = "";
+ public string GridSendKey = "";
+ public string GridRecvKey = "";
+ public string UserURL = "";
+ public string UserSendKey = "";
+ public string UserRecvKey = "";
+ public bool isSandbox;
+
+ public string InventoryURL = "";
+
+ public static int DefaultHttpListenerPort = 9000;
+ public int HttpListenerPort = DefaultHttpListenerPort;
+
+ public static int RemotingListenerPort = 8895;
+
+
+ public NetworkServersInfo()
+ {
+ }
+
+ public NetworkServersInfo(uint defaultHomeLocX, uint defaultHomeLocY)
+ {
+ m_defaultHomeLocX = defaultHomeLocX;
+ 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; }
+ }
+
+ public void loadFromConfiguration(IConfigSource config)
+ {
+ m_defaultHomeLocX = (uint) config.Configs["StandAlone"].GetInt("default_location_x", 1000);
+ m_defaultHomeLocY = (uint) config.Configs["StandAlone"].GetInt("default_location_y", 1000);
+
+ HttpListenerPort = config.Configs["Network"].GetInt("http_listener_port", DefaultHttpListenerPort);
+ RemotingListenerPort = config.Configs["Network"].GetInt("remoting_listener_port", RemotingListenerPort);
+ GridURL =
+ config.Configs["Network"].GetString("grid_server_url",
+ "http://127.0.0.1:" + GridConfig.DefaultHttpPort.ToString());
+ GridSendKey = config.Configs["Network"].GetString("grid_send_key", "null");
+ GridRecvKey = config.Configs["Network"].GetString("grid_recv_key", "null");
+ UserURL =
+ config.Configs["Network"].GetString("user_server_url",
+ "http://127.0.0.1:" + UserConfig.DefaultHttpPort.ToString());
+ UserSendKey = config.Configs["Network"].GetString("user_send_key", "null");
+ UserRecvKey = config.Configs["Network"].GetString("user_recv_key", "null");
+ AssetURL = config.Configs["Network"].GetString("asset_server_url", AssetURL);
+ InventoryURL = config.Configs["Network"].GetString("inventory_server_url",
+ "http://127.0.0.1:" + InventoryConfig.DefaultHttpPort.ToString());
+ }
+ }
+}
diff --git a/OpenSim/Framework/General/PrimitiveBaseShape.cs b/OpenSim/Framework/General/PrimitiveBaseShape.cs
index 2123ecb..5cdbfb2 100644
--- a/OpenSim/Framework/General/PrimitiveBaseShape.cs
+++ b/OpenSim/Framework/General/PrimitiveBaseShape.cs
@@ -1,214 +1,214 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-using System.Xml.Serialization;
-using libsecondlife;
-
-namespace OpenSim.Framework
-{
- public enum ProfileShape : byte
- {
- Circle = 0,
- Square = 1,
- IsometricTriangle = 2,
- EquilateralTriangle = 3,
- RightTriangle = 4,
- HalfCircle = 5
- }
-
- public enum HollowShape : byte
- {
- Same = 0,
- Circle = 16,
- Square = 32,
- Triangle = 48
- }
-
- public enum PCodeEnum : byte
- {
- Primitive = 9,
- Avatar = 47
- }
-
- public enum Extrusion : byte
- {
- Straight = 16,
- Curve1 = 32,
- Curve2 = 48,
- Flexible = 128
- }
-
- public class PrimitiveBaseShape
- {
- private static byte[] m_defaultTextureEntry;
-
- public byte PCode;
- public ushort PathBegin;
- public ushort PathEnd;
- public byte PathScaleX;
- public byte PathScaleY;
- public byte PathShearX;
- public byte PathShearY;
- public sbyte PathSkew;
- public ushort ProfileBegin;
- public ushort ProfileEnd;
- public LLVector3 Scale;
- public byte PathCurve;
- public byte ProfileCurve;
- public ushort ProfileHollow;
- public sbyte PathRadiusOffset;
- public byte PathRevolutions;
- public sbyte PathTaperX;
- public sbyte PathTaperY;
- public sbyte PathTwist;
- public sbyte PathTwistBegin;
- public byte[] TextureEntry; // a LL textureEntry in byte[] format
- public byte[] ExtraParams;
-
- public ProfileShape ProfileShape
- {
- get { return (ProfileShape) (ProfileCurve & 0xf); }
- set
- {
- byte oldValueMasked = (byte) (ProfileCurve & 0xf0);
- ProfileCurve = (byte) (oldValueMasked | (byte) value);
- }
- }
-
- [XmlIgnore]
- public HollowShape HollowShape
- {
- get { return (HollowShape) (ProfileHollow & 0xf0); }
- set
- {
- byte oldValueMasked = (byte) (ProfileHollow & 0xf0);
- ProfileHollow = (byte) (oldValueMasked | (byte) value);
- }
- }
-
- public LLVector3 PrimScale
- {
- get { return Scale; }
- }
-
- static PrimitiveBaseShape()
- {
- m_defaultTextureEntry =
- new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-9999-000000000005")).ToBytes();
- }
-
- public PrimitiveBaseShape()
- {
- PCode = (byte) PCodeEnum.Primitive;
- ExtraParams = new byte[1];
- TextureEntry = m_defaultTextureEntry;
- }
-
- //void returns need to change of course
- public virtual void GetMesh()
- {
- }
-
- public PrimitiveBaseShape Copy()
- {
- return (PrimitiveBaseShape) MemberwiseClone();
- }
- }
-
- public class GenericShape : PrimitiveBaseShape
- {
- public GenericShape()
- : base()
- {
- }
- }
-
- public class BoxShape : PrimitiveBaseShape
- {
- public BoxShape()
- : base()
- {
- PathCurve = (byte) Extrusion.Straight;
- ProfileShape = ProfileShape.Square;
- PathScaleX = 100;
- PathScaleY = 100;
- }
-
- public BoxShape(float side)
- : this()
- {
- SetSide(side);
- }
-
- public void SetSide(float side)
- {
- Scale = new LLVector3(side, side, side);
- }
-
- public static BoxShape Default
- {
- get
- {
- BoxShape boxShape = new BoxShape();
-
- boxShape.SetSide(0.5f);
-
- return boxShape;
- }
- }
- }
-
- public class CylinderShape : PrimitiveBaseShape
- {
- public CylinderShape()
- : base()
- {
- PathCurve = (byte) Extrusion.Straight;
- ProfileShape = ProfileShape.Circle;
- PathScaleX = 100;
- PathScaleY = 100;
- }
-
- public CylinderShape(float radius, float heigth)
- : this()
- {
- SetRadius(radius);
- SetHeigth(heigth);
- }
-
- private void SetHeigth(float heigth)
- {
- Scale.Z = heigth;
- }
-
- private void SetRadius(float radius)
- {
- Scale.X = Scale.Y = radius*2f;
- }
- }
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using System.Xml.Serialization;
+using libsecondlife;
+
+namespace OpenSim.Framework
+{
+ public enum ProfileShape : byte
+ {
+ Circle = 0,
+ Square = 1,
+ IsometricTriangle = 2,
+ EquilateralTriangle = 3,
+ RightTriangle = 4,
+ HalfCircle = 5
+ }
+
+ public enum HollowShape : byte
+ {
+ Same = 0,
+ Circle = 16,
+ Square = 32,
+ Triangle = 48
+ }
+
+ public enum PCodeEnum : byte
+ {
+ Primitive = 9,
+ Avatar = 47
+ }
+
+ public enum Extrusion : byte
+ {
+ Straight = 16,
+ Curve1 = 32,
+ Curve2 = 48,
+ Flexible = 128
+ }
+
+ public class PrimitiveBaseShape
+ {
+ private static byte[] m_defaultTextureEntry;
+
+ public byte PCode;
+ public ushort PathBegin;
+ public ushort PathEnd;
+ public byte PathScaleX;
+ public byte PathScaleY;
+ public byte PathShearX;
+ public byte PathShearY;
+ public sbyte PathSkew;
+ public ushort ProfileBegin;
+ public ushort ProfileEnd;
+ public LLVector3 Scale;
+ public byte PathCurve;
+ public byte ProfileCurve;
+ public ushort ProfileHollow;
+ public sbyte PathRadiusOffset;
+ public byte PathRevolutions;
+ public sbyte PathTaperX;
+ public sbyte PathTaperY;
+ public sbyte PathTwist;
+ public sbyte PathTwistBegin;
+ public byte[] TextureEntry; // a LL textureEntry in byte[] format
+ public byte[] ExtraParams;
+
+ public ProfileShape ProfileShape
+ {
+ get { return (ProfileShape) (ProfileCurve & 0xf); }
+ set
+ {
+ byte oldValueMasked = (byte) (ProfileCurve & 0xf0);
+ ProfileCurve = (byte) (oldValueMasked | (byte) value);
+ }
+ }
+
+ [XmlIgnore]
+ public HollowShape HollowShape
+ {
+ get { return (HollowShape) (ProfileHollow & 0xf0); }
+ set
+ {
+ byte oldValueMasked = (byte) (ProfileHollow & 0xf0);
+ ProfileHollow = (byte) (oldValueMasked | (byte) value);
+ }
+ }
+
+ public LLVector3 PrimScale
+ {
+ get { return Scale; }
+ }
+
+ static PrimitiveBaseShape()
+ {
+ m_defaultTextureEntry =
+ new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-9999-000000000005")).ToBytes();
+ }
+
+ public PrimitiveBaseShape()
+ {
+ PCode = (byte) PCodeEnum.Primitive;
+ ExtraParams = new byte[1];
+ TextureEntry = m_defaultTextureEntry;
+ }
+
+ //void returns need to change of course
+ public virtual void GetMesh()
+ {
+ }
+
+ public PrimitiveBaseShape Copy()
+ {
+ return (PrimitiveBaseShape) MemberwiseClone();
+ }
+ }
+
+ public class GenericShape : PrimitiveBaseShape
+ {
+ public GenericShape()
+ : base()
+ {
+ }
+ }
+
+ public class BoxShape : PrimitiveBaseShape
+ {
+ public BoxShape()
+ : base()
+ {
+ PathCurve = (byte) Extrusion.Straight;
+ ProfileShape = ProfileShape.Square;
+ PathScaleX = 100;
+ PathScaleY = 100;
+ }
+
+ public BoxShape(float side)
+ : this()
+ {
+ SetSide(side);
+ }
+
+ public void SetSide(float side)
+ {
+ Scale = new LLVector3(side, side, side);
+ }
+
+ public static BoxShape Default
+ {
+ get
+ {
+ BoxShape boxShape = new BoxShape();
+
+ boxShape.SetSide(0.5f);
+
+ return boxShape;
+ }
+ }
+ }
+
+ public class CylinderShape : PrimitiveBaseShape
+ {
+ public CylinderShape()
+ : base()
+ {
+ PathCurve = (byte) Extrusion.Straight;
+ ProfileShape = ProfileShape.Circle;
+ PathScaleX = 100;
+ PathScaleY = 100;
+ }
+
+ public CylinderShape(float radius, float heigth)
+ : this()
+ {
+ SetRadius(radius);
+ SetHeigth(heigth);
+ }
+
+ private void SetHeigth(float heigth)
+ {
+ Scale.Z = heigth;
+ }
+
+ private void SetRadius(float radius)
+ {
+ Scale.X = Scale.Y = radius*2f;
+ }
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Framework/General/RegionHandle.cs b/OpenSim/Framework/General/RegionHandle.cs
index 807a17c..440aaf6 100644
--- a/OpenSim/Framework/General/RegionHandle.cs
+++ b/OpenSim/Framework/General/RegionHandle.cs
@@ -1,150 +1,150 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-using System;
-using System.Net;
-using System.Net.Sockets;
-
-namespace OpenSim.Framework
-{
- ///
- /// A class for manipulating RegionHandle coordinates
- ///
- internal class RegionHandle
- {
- private UInt64 handle;
-
- ///
- /// Initialises a new grid-aware RegionHandle
- ///
- /// IP Address of the Grid Server for this region
- /// Grid X Coordinate
- /// Grid Y Coordinate
- public RegionHandle(string ip, short x, short y)
- {
- IPAddress addr = IPAddress.Parse(ip);
-
- if (addr.AddressFamily != AddressFamily.InterNetwork)
- throw new Exception("Bad RegionHandle Parameter - must be an IPv4 address");
-
- uint baseHandle = BitConverter.ToUInt32(addr.GetAddressBytes(), 0);
-
- // Split the IP address in half
- short a = (short) ((baseHandle << 16) & 0xFFFF);
- short b = (short) ((baseHandle << 0) & 0xFFFF);
-
- // Raise the bounds a little
- uint nx = (uint) x;
- uint ny = (uint) y;
-
- // Multiply grid coords to get region coords
- nx *= 256;
- ny *= 256;
-
- // Stuff the IP address in too
- nx = (uint) a << 16;
- ny = (uint) b << 16;
-
- handle = ((UInt64) nx << 32) | (uint) ny;
- }
-
- ///
- /// Initialises a new RegionHandle that is not inter-grid aware
- ///
- /// Grid X Coordinate
- /// Grid Y Coordinate
- public RegionHandle(uint x, uint y)
- {
- handle = ((x*256) << 32) | (y*256);
- }
-
- ///
- /// Initialises a new RegionHandle from an existing value
- ///
- /// A U64 RegionHandle
- public RegionHandle(UInt64 Region)
- {
- handle = Region;
- }
-
- ///
- /// Returns the Grid Masked RegionHandle - For use in Teleport packets and other packets where sending the grid IP address may be handy.
- ///
- /// Do not use for SimulatorEnable packets. The client will choke.
- /// Region Handle including IP Address encoding
- public UInt64 getTeleportHandle()
- {
- return handle;
- }
-
- ///
- /// Returns a RegionHandle which may be used for SimulatorEnable packets. Removes the IP address encoding and returns the lower bounds.
- ///
- /// A U64 RegionHandle for use in SimulatorEnable packets.
- public UInt64 getNeighbourHandle()
- {
- UInt64 mask = 0x0000FFFF0000FFFF;
-
- return handle | mask;
- }
-
- ///
- /// Returns the IP Address of the GridServer from a Grid-Encoded RegionHandle
- ///
- /// Grid Server IP Address
- public IPAddress getGridIP()
- {
- uint a = (uint) ((handle >> 16) & 0xFFFF);
- uint b = (uint) ((handle >> 48) & 0xFFFF);
-
- return new IPAddress((long) (a << 16) | (long) b);
- }
-
- ///
- /// Returns the X Coordinate from a Grid-Encoded RegionHandle
- ///
- /// X Coordinate
- public uint getGridX()
- {
- uint x = (uint) ((handle >> 32) & 0xFFFF);
-
- return x;
- }
-
- ///
- /// Returns the Y Coordinate from a Grid-Encoded RegionHandle
- ///
- /// Y Coordinate
- public uint getGridY()
- {
- uint y = (uint) ((handle >> 0) & 0xFFFF);
-
- return y;
- }
- }
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using System;
+using System.Net;
+using System.Net.Sockets;
+
+namespace OpenSim.Framework
+{
+ ///
+ /// A class for manipulating RegionHandle coordinates
+ ///
+ internal class RegionHandle
+ {
+ private UInt64 handle;
+
+ ///
+ /// Initialises a new grid-aware RegionHandle
+ ///
+ /// IP Address of the Grid Server for this region
+ /// Grid X Coordinate
+ /// Grid Y Coordinate
+ public RegionHandle(string ip, short x, short y)
+ {
+ IPAddress addr = IPAddress.Parse(ip);
+
+ if (addr.AddressFamily != AddressFamily.InterNetwork)
+ throw new Exception("Bad RegionHandle Parameter - must be an IPv4 address");
+
+ uint baseHandle = BitConverter.ToUInt32(addr.GetAddressBytes(), 0);
+
+ // Split the IP address in half
+ short a = (short) ((baseHandle << 16) & 0xFFFF);
+ short b = (short) ((baseHandle << 0) & 0xFFFF);
+
+ // Raise the bounds a little
+ uint nx = (uint) x;
+ uint ny = (uint) y;
+
+ // Multiply grid coords to get region coords
+ nx *= 256;
+ ny *= 256;
+
+ // Stuff the IP address in too
+ nx = (uint) a << 16;
+ ny = (uint) b << 16;
+
+ handle = ((UInt64) nx << 32) | (uint) ny;
+ }
+
+ ///
+ /// Initialises a new RegionHandle that is not inter-grid aware
+ ///
+ /// Grid X Coordinate
+ /// Grid Y Coordinate
+ public RegionHandle(uint x, uint y)
+ {
+ handle = ((x*256) << 32) | (y*256);
+ }
+
+ ///
+ /// Initialises a new RegionHandle from an existing value
+ ///
+ /// A U64 RegionHandle
+ public RegionHandle(UInt64 Region)
+ {
+ handle = Region;
+ }
+
+ ///
+ /// Returns the Grid Masked RegionHandle - For use in Teleport packets and other packets where sending the grid IP address may be handy.
+ ///
+ /// Do not use for SimulatorEnable packets. The client will choke.
+ /// Region Handle including IP Address encoding
+ public UInt64 getTeleportHandle()
+ {
+ return handle;
+ }
+
+ ///
+ /// Returns a RegionHandle which may be used for SimulatorEnable packets. Removes the IP address encoding and returns the lower bounds.
+ ///
+ /// A U64 RegionHandle for use in SimulatorEnable packets.
+ public UInt64 getNeighbourHandle()
+ {
+ UInt64 mask = 0x0000FFFF0000FFFF;
+
+ return handle | mask;
+ }
+
+ ///
+ /// Returns the IP Address of the GridServer from a Grid-Encoded RegionHandle
+ ///
+ /// Grid Server IP Address
+ public IPAddress getGridIP()
+ {
+ uint a = (uint) ((handle >> 16) & 0xFFFF);
+ uint b = (uint) ((handle >> 48) & 0xFFFF);
+
+ return new IPAddress((long) (a << 16) | (long) b);
+ }
+
+ ///
+ /// Returns the X Coordinate from a Grid-Encoded RegionHandle
+ ///
+ /// X Coordinate
+ public uint getGridX()
+ {
+ uint x = (uint) ((handle >> 32) & 0xFFFF);
+
+ return x;
+ }
+
+ ///
+ /// Returns the Y Coordinate from a Grid-Encoded RegionHandle
+ ///
+ /// Y Coordinate
+ public uint getGridY()
+ {
+ uint y = (uint) ((handle >> 0) & 0xFFFF);
+
+ return y;
+ }
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Framework/General/RegionInfo.cs b/OpenSim/Framework/General/RegionInfo.cs
index c14afd2..1257849 100644
--- a/OpenSim/Framework/General/RegionInfo.cs
+++ b/OpenSim/Framework/General/RegionInfo.cs
@@ -1,328 +1,328 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-using System;
-using System.Net;
-using System.Net.Sockets;
-using libsecondlife;
-using Nini.Config;
-
-namespace OpenSim.Framework
-{
- public class SimpleRegionInfo
- {
- public SimpleRegionInfo()
- {
- }
-
- public SimpleRegionInfo(uint regionLocX, uint regionLocY, IPEndPoint internalEndPoint, string externalUri)
- {
- m_regionLocX = regionLocX;
- m_regionLocY = regionLocY;
-
- m_internalEndPoint = internalEndPoint;
- m_externalHostName = externalUri;
- }
-
- public SimpleRegionInfo(uint regionLocX, uint regionLocY, string externalUri, int port)
- {
- m_regionLocX = regionLocX;
- m_regionLocY = regionLocY;
-
- m_externalHostName = externalUri;
-
- m_internalEndPoint = new IPEndPoint(IPAddress.Parse("0.0.0.0"), port);
- }
-
- public LLUUID RegionID = new LLUUID();
-
- private uint m_remotingPort;
-
- public uint RemotingPort
- {
- get { return m_remotingPort; }
- set { m_remotingPort = value; }
- }
-
- public string RemotingAddress;
-
-
- public IPEndPoint ExternalEndPoint
- {
- get
- {
- // Old one defaults to IPv6
- //return new IPEndPoint( Dns.GetHostAddresses( m_externalHostName )[0], m_internalEndPoint.Port );
-
- IPAddress ia = null;
- // If it is already an IP, don't resolve it - just return directly
- if (IPAddress.TryParse(m_externalHostName, out ia))
- return new IPEndPoint(ia, m_internalEndPoint.Port);
-
- // Reset for next check
- ia = null;
-
-
- // New method favors IPv4
- foreach (IPAddress Adr in Dns.GetHostAddresses(m_externalHostName))
- {
- if (ia == null)
- ia = Adr;
-
- if (Adr.AddressFamily == AddressFamily.InterNetwork)
- {
- ia = Adr;
- break;
- }
- }
-
- return new IPEndPoint(ia, m_internalEndPoint.Port);
- }
-
- 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; }
- set { m_regionLocY = value; }
- }
-
- public ulong RegionHandle
- {
- get { return Util.UIntsToLong((RegionLocX*256), (RegionLocY*256)); }
- }
- }
-
- public class RegionInfo : SimpleRegionInfo
- {
- public string RegionName = "";
-
- public string DataStore = "";
- public bool isSandbox = false;
-
- public LLUUID MasterAvatarAssignedUUID = new LLUUID();
- public string MasterAvatarFirstName = "";
- public string MasterAvatarLastName = "";
- public string MasterAvatarSandboxPassword = "";
-
- // Apparently, we're applying the same estatesettings regardless of whether it's local or remote.
- private static 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)
- {
- configMember =
- new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration);
- configMember.performConfigurationRetrieve();
- }
-
- public RegionInfo(uint regionLocX, uint regionLocY, IPEndPoint internalEndPoint, string externalUri) :
- base(regionLocX, regionLocY, internalEndPoint, externalUri)
- {
- }
-
- public RegionInfo()
- {
- }
-
- //not in use, should swap to nini though.
- public void LoadFromNiniSource(IConfigSource source)
- {
- LoadFromNiniSource(source, "RegionInfo");
- }
-
- //not in use, should swap to nini though.
- public void LoadFromNiniSource(IConfigSource source, string sectionName)
- {
- string errorMessage = "";
- RegionID =
- new LLUUID(source.Configs[sectionName].GetString("Region_ID", LLUUID.Random().ToStringHyphenated()));
- RegionName = source.Configs[sectionName].GetString("sim_name", "OpenSim Test");
- m_regionLocX = Convert.ToUInt32(source.Configs[sectionName].GetString("sim_location_x", "1000"));
- m_regionLocY = Convert.ToUInt32(source.Configs[sectionName].GetString("sim_location_y", "1000"));
- DataStore = source.Configs[sectionName].GetString("datastore", "OpenSim.db");
-
- string ipAddress = source.Configs[sectionName].GetString("internal_ip_address", "0.0.0.0");
- IPAddress ipAddressResult;
- if (IPAddress.TryParse(ipAddress, out ipAddressResult))
- {
- m_internalEndPoint = new IPEndPoint(ipAddressResult, 0);
- }
- else
- {
- errorMessage = "needs an IP Address (IPAddress)";
- }
- m_internalEndPoint.Port =
- source.Configs[sectionName].GetInt("internal_ip_port", NetworkServersInfo.DefaultHttpListenerPort);
-
- string externalHost = source.Configs[sectionName].GetString("external_host_name", "127.0.0.1");
- if (externalHost != "SYSTEMIP")
- {
- m_externalHostName = externalHost;
- }
- else
- {
- m_externalHostName = Util.GetLocalHost().ToString();
- }
-
- MasterAvatarFirstName = source.Configs[sectionName].GetString("master_avatar_first", "Test");
- MasterAvatarLastName = source.Configs[sectionName].GetString("master_avatar_last", "User");
- MasterAvatarSandboxPassword = source.Configs[sectionName].GetString("master_avatar_pass", "test");
-
- if (errorMessage != "")
- {
- // a error
- }
- }
-
- public void loadConfigurationOptions()
- {
- configMember.addConfigurationOption("sim_UUID", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
- "UUID of Region (Default is recommended, random UUID)",
- LLUUID.Random().ToString(), true);
- configMember.addConfigurationOption("sim_name", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
- "Region Name", "OpenSim Test", false);
- configMember.addConfigurationOption("sim_location_x", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
- "Grid Location (X Axis)", "1000", false);
- configMember.addConfigurationOption("sim_location_y", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
- "Grid Location (Y Axis)", "1000", false);
- 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", "0.0.0.0",
- false);
- configMember.addConfigurationOption("internal_ip_port", ConfigurationOption.ConfigurationTypes.TYPE_INT32,
- "Internal IP Port for incoming UDP client connections",
- NetworkServersInfo.DefaultHttpListenerPort.ToString(), false);
- configMember.addConfigurationOption("external_host_name",
- ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
- "External Host Name", "127.0.0.1", false);
- configMember.addConfigurationOption("master_avatar_first",
- ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
- "First Name of Master Avatar", "Test", false);
- configMember.addConfigurationOption("master_avatar_last",
- ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
- "Last Name of Master Avatar", "User", false);
- configMember.addConfigurationOption("master_avatar_pass", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "(Sandbox Mode Only)Password for Master Avatar account", "test", false);
- }
-
- public bool handleIncomingConfiguration(string configuration_key, object configuration_result)
- {
- switch (configuration_key)
- {
- case "sim_UUID":
- RegionID = (LLUUID) configuration_result;
- break;
- case "sim_name":
- RegionName = (string) configuration_result;
- break;
- case "sim_location_x":
- m_regionLocX = (uint) configuration_result;
- break;
- case "sim_location_y":
- m_regionLocY = (uint) configuration_result;
- break;
- case "datastore":
- DataStore = (string) configuration_result;
- break;
- case "internal_ip_address":
- IPAddress address = (IPAddress) configuration_result;
- m_internalEndPoint = new IPEndPoint(address, 0);
- break;
- case "internal_ip_port":
- m_internalEndPoint.Port = (int) configuration_result;
- break;
- case "external_host_name":
- if ((string) configuration_result != "SYSTEMIP")
- {
- m_externalHostName = (string) configuration_result;
- }
- else
- {
- m_externalHostName = Util.GetLocalHost().ToString();
- }
- break;
- case "master_avatar_first":
- MasterAvatarFirstName = (string) configuration_result;
- break;
- case "master_avatar_last":
- MasterAvatarLastName = (string) configuration_result;
- break;
- case "master_avatar_pass":
- string tempMD5Passwd = (string) configuration_result;
- MasterAvatarSandboxPassword = Util.Md5Hash(Util.Md5Hash(tempMD5Passwd) + ":" + "");
- break;
- }
-
- return true;
- }
- }
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+using System;
+using System.Net;
+using System.Net.Sockets;
+using libsecondlife;
+using Nini.Config;
+
+namespace OpenSim.Framework
+{
+ public class SimpleRegionInfo
+ {
+ public SimpleRegionInfo()
+ {
+ }
+
+ public SimpleRegionInfo(uint regionLocX, uint regionLocY, IPEndPoint internalEndPoint, string externalUri)
+ {
+ m_regionLocX = regionLocX;
+ m_regionLocY = regionLocY;
+
+ m_internalEndPoint = internalEndPoint;
+ m_externalHostName = externalUri;
+ }
+
+ public SimpleRegionInfo(uint regionLocX, uint regionLocY, string externalUri, int port)
+ {
+ m_regionLocX = regionLocX;
+ m_regionLocY = regionLocY;
+
+ m_externalHostName = externalUri;
+
+ m_internalEndPoint = new IPEndPoint(IPAddress.Parse("0.0.0.0"), port);
+ }
+
+ public LLUUID RegionID = new LLUUID();
+
+ private uint m_remotingPort;
+
+ public uint RemotingPort
+ {
+ get { return m_remotingPort; }
+ set { m_remotingPort = value; }
+ }
+
+ public string RemotingAddress;
+
+
+ public IPEndPoint ExternalEndPoint
+ {
+ get
+ {
+ // Old one defaults to IPv6
+ //return new IPEndPoint( Dns.GetHostAddresses( m_externalHostName )[0], m_internalEndPoint.Port );
+
+ IPAddress ia = null;
+ // If it is already an IP, don't resolve it - just return directly
+ if (IPAddress.TryParse(m_externalHostName, out ia))
+ return new IPEndPoint(ia, m_internalEndPoint.Port);
+
+ // Reset for next check
+ ia = null;
+
+
+ // New method favors IPv4
+ foreach (IPAddress Adr in Dns.GetHostAddresses(m_externalHostName))
+ {
+ if (ia == null)
+ ia = Adr;
+
+ if (Adr.AddressFamily == AddressFamily.InterNetwork)
+ {
+ ia = Adr;
+ break;
+ }
+ }
+
+ return new IPEndPoint(ia, m_internalEndPoint.Port);
+ }
+
+ 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; }
+ set { m_regionLocY = value; }
+ }
+
+ public ulong RegionHandle
+ {
+ get { return Util.UIntsToLong((RegionLocX*256), (RegionLocY*256)); }
+ }
+ }
+
+ public class RegionInfo : SimpleRegionInfo
+ {
+ public string RegionName = "";
+
+ public string DataStore = "";
+ public bool isSandbox = false;
+
+ public LLUUID MasterAvatarAssignedUUID = new LLUUID();
+ public string MasterAvatarFirstName = "";
+ public string MasterAvatarLastName = "";
+ public string MasterAvatarSandboxPassword = "";
+
+ // Apparently, we're applying the same estatesettings regardless of whether it's local or remote.
+ private static 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)
+ {
+ configMember =
+ new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration);
+ configMember.performConfigurationRetrieve();
+ }
+
+ public RegionInfo(uint regionLocX, uint regionLocY, IPEndPoint internalEndPoint, string externalUri) :
+ base(regionLocX, regionLocY, internalEndPoint, externalUri)
+ {
+ }
+
+ public RegionInfo()
+ {
+ }
+
+ //not in use, should swap to nini though.
+ public void LoadFromNiniSource(IConfigSource source)
+ {
+ LoadFromNiniSource(source, "RegionInfo");
+ }
+
+ //not in use, should swap to nini though.
+ public void LoadFromNiniSource(IConfigSource source, string sectionName)
+ {
+ string errorMessage = "";
+ RegionID =
+ new LLUUID(source.Configs[sectionName].GetString("Region_ID", LLUUID.Random().ToStringHyphenated()));
+ RegionName = source.Configs[sectionName].GetString("sim_name", "OpenSim Test");
+ m_regionLocX = Convert.ToUInt32(source.Configs[sectionName].GetString("sim_location_x", "1000"));
+ m_regionLocY = Convert.ToUInt32(source.Configs[sectionName].GetString("sim_location_y", "1000"));
+ DataStore = source.Configs[sectionName].GetString("datastore", "OpenSim.db");
+
+ string ipAddress = source.Configs[sectionName].GetString("internal_ip_address", "0.0.0.0");
+ IPAddress ipAddressResult;
+ if (IPAddress.TryParse(ipAddress, out ipAddressResult))
+ {
+ m_internalEndPoint = new IPEndPoint(ipAddressResult, 0);
+ }
+ else
+ {
+ errorMessage = "needs an IP Address (IPAddress)";
+ }
+ m_internalEndPoint.Port =
+ source.Configs[sectionName].GetInt("internal_ip_port", NetworkServersInfo.DefaultHttpListenerPort);
+
+ string externalHost = source.Configs[sectionName].GetString("external_host_name", "127.0.0.1");
+ if (externalHost != "SYSTEMIP")
+ {
+ m_externalHostName = externalHost;
+ }
+ else
+ {
+ m_externalHostName = Util.GetLocalHost().ToString();
+ }
+
+ MasterAvatarFirstName = source.Configs[sectionName].GetString("master_avatar_first", "Test");
+ MasterAvatarLastName = source.Configs[sectionName].GetString("master_avatar_last", "User");
+ MasterAvatarSandboxPassword = source.Configs[sectionName].GetString("master_avatar_pass", "test");
+
+ if (errorMessage != "")
+ {
+ // a error
+ }
+ }
+
+ public void loadConfigurationOptions()
+ {
+ configMember.addConfigurationOption("sim_UUID", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
+ "UUID of Region (Default is recommended, random UUID)",
+ LLUUID.Random().ToString(), true);
+ configMember.addConfigurationOption("sim_name", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
+ "Region Name", "OpenSim Test", false);
+ configMember.addConfigurationOption("sim_location_x", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
+ "Grid Location (X Axis)", "1000", false);
+ configMember.addConfigurationOption("sim_location_y", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
+ "Grid Location (Y Axis)", "1000", false);
+ 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", "0.0.0.0",
+ false);
+ configMember.addConfigurationOption("internal_ip_port", ConfigurationOption.ConfigurationTypes.TYPE_INT32,
+ "Internal IP Port for incoming UDP client connections",
+ NetworkServersInfo.DefaultHttpListenerPort.ToString(), false);
+ configMember.addConfigurationOption("external_host_name",
+ ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
+ "External Host Name", "127.0.0.1", false);
+ configMember.addConfigurationOption("master_avatar_first",
+ ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
+ "First Name of Master Avatar", "Test", false);
+ configMember.addConfigurationOption("master_avatar_last",
+ ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
+ "Last Name of Master Avatar", "User", false);
+ configMember.addConfigurationOption("master_avatar_pass", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
+ "(Sandbox Mode Only)Password for Master Avatar account", "test", false);
+ }
+
+ public bool handleIncomingConfiguration(string configuration_key, object configuration_result)
+ {
+ switch (configuration_key)
+ {
+ case "sim_UUID":
+ RegionID = (LLUUID) configuration_result;
+ break;
+ case "sim_name":
+ RegionName = (string) configuration_result;
+ break;
+ case "sim_location_x":
+ m_regionLocX = (uint) configuration_result;
+ break;
+ case "sim_location_y":
+ m_regionLocY = (uint) configuration_result;
+ break;
+ case "datastore":
+ DataStore = (string) configuration_result;
+ break;
+ case "internal_ip_address":
+ IPAddress address = (IPAddress) configuration_result;
+ m_internalEndPoint = new IPEndPoint(address, 0);
+ break;
+ case "internal_ip_port":
+ m_internalEndPoint.Port = (int) configuration_result;
+ break;
+ case "external_host_name":
+ if ((string) configuration_result != "SYSTEMIP")
+ {
+ m_externalHostName = (string) configuration_result;
+ }
+ else
+ {
+ m_externalHostName = Util.GetLocalHost().ToString();
+ }
+ break;
+ case "master_avatar_first":
+ MasterAvatarFirstName = (string) configuration_result;
+ break;
+ case "master_avatar_last":
+ MasterAvatarLastName = (string) configuration_result;
+ break;
+ case "master_avatar_pass":
+ string tempMD5Passwd = (string) configuration_result;
+ MasterAvatarSandboxPassword = Util.Md5Hash(Util.Md5Hash(tempMD5Passwd) + ":" + "");
+ break;
+ }
+
+ return true;
+ }
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Framework/General/UUID.cs b/OpenSim/Framework/General/UUID.cs
index f27cd6c..3b292b1 100644
--- a/OpenSim/Framework/General/UUID.cs
+++ b/OpenSim/Framework/General/UUID.cs
@@ -1,155 +1,155 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-using System;
-using libsecondlife;
-
-namespace OpenSim.Framework
-{
- internal class UUID
- {
- public LLUUID llUUID;
-
- public UUID(string uuid)
- {
- llUUID = new LLUUID(uuid);
- }
-
- public UUID(byte[] uuid)
- {
- llUUID = new LLUUID(uuid, 0);
- }
-
- public UUID(byte[] uuid, int offset)
- {
- llUUID = new LLUUID(uuid, offset);
- }
-
- public UUID()
- {
- llUUID = LLUUID.Zero;
- }
-
- public UUID(ulong uuid)
- {
- llUUID = new LLUUID(uuid);
- }
-
- public UUID(UInt32 first, UInt32 second, UInt32 third, UInt32 fourth)
- {
- byte[] uuid = new byte[16];
-
- byte[] n = BitConverter.GetBytes(first);
- n.CopyTo(uuid, 0);
- n = BitConverter.GetBytes(second);
- n.CopyTo(uuid, 4);
- n = BitConverter.GetBytes(third);
- n.CopyTo(uuid, 8);
- n = BitConverter.GetBytes(fourth);
- n.CopyTo(uuid, 12);
-
- llUUID = new LLUUID(uuid, 0);
- }
-
- public override string ToString()
- {
- return llUUID.ToString();
- }
-
- public string ToStringHyphenated()
- {
- return llUUID.ToStringHyphenated();
- }
-
- public byte[] GetBytes()
- {
- return llUUID.GetBytes();
- }
-
- public UInt32[] GetInts()
- {
- UInt32[] ints = new UInt32[4];
- ints[0] = BitConverter.ToUInt32(llUUID.Data, 0);
- ints[1] = BitConverter.ToUInt32(llUUID.Data, 4);
- ints[2] = BitConverter.ToUInt32(llUUID.Data, 8);
- ints[3] = BitConverter.ToUInt32(llUUID.Data, 12);
-
- return ints;
- }
-
- public LLUUID GetLLUUID()
- {
- return llUUID;
- }
-
- public uint CRC()
- {
- return llUUID.CRC();
- }
-
- public override int GetHashCode()
- {
- return llUUID.GetHashCode();
- }
-
- public void Combine(UUID other)
- {
- llUUID.Combine(other.GetLLUUID());
- }
-
- public void Combine(LLUUID other)
- {
- llUUID.Combine(other);
- }
-
- public override bool Equals(Object other)
- {
- return llUUID.Equals(other);
- }
-
- public static bool operator ==(UUID a, UUID b)
- {
- return a.llUUID.Equals(b.GetLLUUID());
- }
-
- public static bool operator !=(UUID a, UUID b)
- {
- return !a.llUUID.Equals(b.GetLLUUID());
- }
-
- public static bool operator ==(UUID a, LLUUID b)
- {
- return a.Equals(b);
- }
-
- public static bool operator !=(UUID a, LLUUID b)
- {
- return !a.Equals(b);
- }
- }
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using System;
+using libsecondlife;
+
+namespace OpenSim.Framework
+{
+ internal class UUID
+ {
+ public LLUUID llUUID;
+
+ public UUID(string uuid)
+ {
+ llUUID = new LLUUID(uuid);
+ }
+
+ public UUID(byte[] uuid)
+ {
+ llUUID = new LLUUID(uuid, 0);
+ }
+
+ public UUID(byte[] uuid, int offset)
+ {
+ llUUID = new LLUUID(uuid, offset);
+ }
+
+ public UUID()
+ {
+ llUUID = LLUUID.Zero;
+ }
+
+ public UUID(ulong uuid)
+ {
+ llUUID = new LLUUID(uuid);
+ }
+
+ public UUID(UInt32 first, UInt32 second, UInt32 third, UInt32 fourth)
+ {
+ byte[] uuid = new byte[16];
+
+ byte[] n = BitConverter.GetBytes(first);
+ n.CopyTo(uuid, 0);
+ n = BitConverter.GetBytes(second);
+ n.CopyTo(uuid, 4);
+ n = BitConverter.GetBytes(third);
+ n.CopyTo(uuid, 8);
+ n = BitConverter.GetBytes(fourth);
+ n.CopyTo(uuid, 12);
+
+ llUUID = new LLUUID(uuid, 0);
+ }
+
+ public override string ToString()
+ {
+ return llUUID.ToString();
+ }
+
+ public string ToStringHyphenated()
+ {
+ return llUUID.ToStringHyphenated();
+ }
+
+ public byte[] GetBytes()
+ {
+ return llUUID.GetBytes();
+ }
+
+ public UInt32[] GetInts()
+ {
+ UInt32[] ints = new UInt32[4];
+ ints[0] = BitConverter.ToUInt32(llUUID.Data, 0);
+ ints[1] = BitConverter.ToUInt32(llUUID.Data, 4);
+ ints[2] = BitConverter.ToUInt32(llUUID.Data, 8);
+ ints[3] = BitConverter.ToUInt32(llUUID.Data, 12);
+
+ return ints;
+ }
+
+ public LLUUID GetLLUUID()
+ {
+ return llUUID;
+ }
+
+ public uint CRC()
+ {
+ return llUUID.CRC();
+ }
+
+ public override int GetHashCode()
+ {
+ return llUUID.GetHashCode();
+ }
+
+ public void Combine(UUID other)
+ {
+ llUUID.Combine(other.GetLLUUID());
+ }
+
+ public void Combine(LLUUID other)
+ {
+ llUUID.Combine(other);
+ }
+
+ public override bool Equals(Object other)
+ {
+ return llUUID.Equals(other);
+ }
+
+ public static bool operator ==(UUID a, UUID b)
+ {
+ return a.llUUID.Equals(b.GetLLUUID());
+ }
+
+ public static bool operator !=(UUID a, UUID b)
+ {
+ return !a.llUUID.Equals(b.GetLLUUID());
+ }
+
+ public static bool operator ==(UUID a, LLUUID b)
+ {
+ return a.Equals(b);
+ }
+
+ public static bool operator !=(UUID a, LLUUID b)
+ {
+ return !a.Equals(b);
+ }
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Framework/General/UserConfig.cs b/OpenSim/Framework/General/UserConfig.cs
index 9abe61f..fdb8f82 100644
--- a/OpenSim/Framework/General/UserConfig.cs
+++ b/OpenSim/Framework/General/UserConfig.cs
@@ -1,103 +1,103 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-namespace OpenSim.Framework
-{
- ///
- /// UserConfig -- For User Server Configuration
- ///
- public class UserConfig
- {
- public string DefaultStartupMsg = "";
- public string GridServerURL = "";
- public string GridSendKey = "";
- public string GridRecvKey = "";
-
- public string DatabaseProvider = "";
-
- public static uint DefaultHttpPort = 8002;
- public uint HttpPort = DefaultHttpPort;
-
- private ConfigurationMember configMember;
-
- public UserConfig(string description, string filename)
- {
- configMember =
- new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration);
- configMember.performConfigurationRetrieve();
- }
-
- public void loadConfigurationOptions()
- {
- configMember.addConfigurationOption("default_startup_message",
- ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
- "Default Startup Message", "Welcome to OGS", false);
-
- configMember.addConfigurationOption("default_grid_server",
- ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
- "Default Grid Server URI",
- "http://127.0.0.1:" + GridConfig.DefaultHttpPort.ToString() + "/", false);
- configMember.addConfigurationOption("grid_send_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "Key to send to grid server", "null", false);
- configMember.addConfigurationOption("grid_recv_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "Key to expect from grid server", "null", false);
- configMember.addConfigurationOption("database_provider", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "DLL for database provider", "OpenSim.Framework.Data.MySQL.dll", false);
-
- configMember.addConfigurationOption("http_port", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
- "Http Listener port", DefaultHttpPort.ToString(), false);
- }
-
- public bool handleIncomingConfiguration(string configuration_key, object configuration_result)
- {
- switch (configuration_key)
- {
- case "default_startup_message":
- DefaultStartupMsg = (string) configuration_result;
- break;
- case "default_grid_server":
- GridServerURL = (string) configuration_result;
- break;
- case "grid_send_key":
- GridSendKey = (string) configuration_result;
- break;
- case "grid_recv_key":
- GridRecvKey = (string) configuration_result;
- break;
- case "database_provider":
- DatabaseProvider = (string) configuration_result;
- break;
- case "http_port":
- HttpPort = (uint) configuration_result;
- break;
- }
-
- return true;
- }
- }
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+namespace OpenSim.Framework
+{
+ ///
+ /// UserConfig -- For User Server Configuration
+ ///
+ public class UserConfig
+ {
+ public string DefaultStartupMsg = "";
+ public string GridServerURL = "";
+ public string GridSendKey = "";
+ public string GridRecvKey = "";
+
+ public string DatabaseProvider = "";
+
+ public static uint DefaultHttpPort = 8002;
+ public uint HttpPort = DefaultHttpPort;
+
+ private ConfigurationMember configMember;
+
+ public UserConfig(string description, string filename)
+ {
+ configMember =
+ new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration);
+ configMember.performConfigurationRetrieve();
+ }
+
+ public void loadConfigurationOptions()
+ {
+ configMember.addConfigurationOption("default_startup_message",
+ ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
+ "Default Startup Message", "Welcome to OGS", false);
+
+ configMember.addConfigurationOption("default_grid_server",
+ ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
+ "Default Grid Server URI",
+ "http://127.0.0.1:" + GridConfig.DefaultHttpPort.ToString() + "/", false);
+ configMember.addConfigurationOption("grid_send_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
+ "Key to send to grid server", "null", false);
+ configMember.addConfigurationOption("grid_recv_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
+ "Key to expect from grid server", "null", false);
+ configMember.addConfigurationOption("database_provider", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
+ "DLL for database provider", "OpenSim.Framework.Data.MySQL.dll", false);
+
+ configMember.addConfigurationOption("http_port", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
+ "Http Listener port", DefaultHttpPort.ToString(), false);
+ }
+
+ public bool handleIncomingConfiguration(string configuration_key, object configuration_result)
+ {
+ switch (configuration_key)
+ {
+ case "default_startup_message":
+ DefaultStartupMsg = (string) configuration_result;
+ break;
+ case "default_grid_server":
+ GridServerURL = (string) configuration_result;
+ break;
+ case "grid_send_key":
+ GridSendKey = (string) configuration_result;
+ break;
+ case "grid_recv_key":
+ GridRecvKey = (string) configuration_result;
+ break;
+ case "database_provider":
+ DatabaseProvider = (string) configuration_result;
+ break;
+ case "http_port":
+ HttpPort = (uint) configuration_result;
+ break;
+ }
+
+ return true;
+ }
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Framework/General/UserProfileData.cs b/OpenSim/Framework/General/UserProfileData.cs
index ed70246..d10aa36 100644
--- a/OpenSim/Framework/General/UserProfileData.cs
+++ b/OpenSim/Framework/General/UserProfileData.cs
@@ -1,214 +1,214 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-using System;
-using libsecondlife;
-
-namespace OpenSim.Framework
-{
- ///
- /// Information about a particular user known to the userserver
- ///
- public class UserProfileData
- {
- ///
- /// The ID value for this user
- ///
- public LLUUID UUID;
-
- ///
- /// The first component of a users account name
- ///
- public string username;
-
- ///
- /// The second component of a users account name
- ///
- public string surname;
-
- ///
- /// A salted hash containing the users password, in the format md5(md5(password) + ":" + salt)
- ///
- /// This is double MD5'd because the client sends an unsalted MD5 to the loginserver
- public string passwordHash;
-
- ///
- /// The salt used for the users hash, should be 32 bytes or longer
- ///
- public string passwordSalt;
-
- ///
- /// 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
- ///
- public ulong homeRegion
- {
- get { return Helpers.UIntsToLong((homeRegionX*256), (homeRegionY*256)); }
- set
- {
- homeRegionX = (uint) (value >> 40);
- homeRegionY = (((uint) (value)) >> 8);
- }
- }
-
- public uint homeRegionX;
- public uint homeRegionY;
-
- ///
- /// The coordinates inside the region of the home location
- ///
- public LLVector3 homeLocation;
-
- ///
- /// Where the user will be looking when they rez.
- ///
- public LLVector3 homeLookAt;
-
- ///
- /// A UNIX Timestamp (seconds since epoch) for the users creation
- ///
- public int created;
-
- ///
- /// A UNIX Timestamp for the users last login date / time
- ///
- public int lastLogin;
-
- public LLUUID rootInventoryFolderID;
-
- ///
- /// A URI to the users inventory server, used for foreigners and large grids
- ///
- public string userInventoryURI = String.Empty;
-
- ///
- /// A URI to the users asset server, used for foreigners and large grids.
- ///
- public string userAssetURI = String.Empty;
-
- ///
- /// A uint mask containing the "I can do" fields of the users profile
- ///
- public uint profileCanDoMask;
-
- ///
- /// A uint mask containing the "I want to do" part of the users profile
- ///
- public uint profileWantDoMask; // Profile window "I want to" mask
-
- ///
- /// The about text listed in a users profile.
- ///
- public string profileAboutText = String.Empty;
-
- ///
- /// The first life about text listed in a users profile
- ///
- public string profileFirstText = String.Empty;
-
- ///
- /// The profile image for an avatar stored on the asset server
- ///
- public LLUUID profileImage;
-
- ///
- /// The profile image for the users first life tab
- ///
- public LLUUID profileFirstImage;
-
- ///
- /// The users last registered agent (filled in on the user server)
- ///
- public UserAgentData currentAgent;
- }
-
- ///
- /// Information about a users session
- ///
- public class UserAgentData
- {
- ///
- /// The UUID of the users avatar (not the agent!)
- ///
- public LLUUID UUID;
-
- ///
- /// The IP address of the user
- ///
- public string agentIP = String.Empty;
-
- ///
- /// The port of the user
- ///
- public uint agentPort;
-
- ///
- /// Is the user online?
- ///
- public bool agentOnline;
-
- ///
- /// The session ID for the user (also the agent ID)
- ///
- public LLUUID sessionID;
-
- ///
- /// The "secure" session ID for the user
- ///
- /// Not very secure. Dont rely on it for anything more than Linden Lab does.
- public LLUUID secureSessionID;
-
- ///
- /// The region the user logged into initially
- ///
- public LLUUID regionID;
-
- ///
- /// A unix timestamp from when the user logged in
- ///
- public int loginTime;
-
- ///
- /// When this agent expired and logged out, 0 if still online
- ///
- public int logoutTime;
-
- ///
- /// Current region the user is logged into
- ///
- public LLUUID currentRegion;
-
- ///
- /// Region handle of the current region the user is in
- ///
- public ulong currentHandle;
-
- ///
- /// The position of the user within the region
- ///
- public LLVector3 currentPos;
- }
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+using System;
+using libsecondlife;
+
+namespace OpenSim.Framework
+{
+ ///
+ /// Information about a particular user known to the userserver
+ ///
+ public class UserProfileData
+ {
+ ///
+ /// The ID value for this user
+ ///
+ public LLUUID UUID;
+
+ ///
+ /// The first component of a users account name
+ ///
+ public string username;
+
+ ///
+ /// The second component of a users account name
+ ///
+ public string surname;
+
+ ///
+ /// A salted hash containing the users password, in the format md5(md5(password) + ":" + salt)
+ ///
+ /// This is double MD5'd because the client sends an unsalted MD5 to the loginserver
+ public string passwordHash;
+
+ ///
+ /// The salt used for the users hash, should be 32 bytes or longer
+ ///
+ public string passwordSalt;
+
+ ///
+ /// 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
+ ///
+ public ulong homeRegion
+ {
+ get { return Helpers.UIntsToLong((homeRegionX*256), (homeRegionY*256)); }
+ set
+ {
+ homeRegionX = (uint) (value >> 40);
+ homeRegionY = (((uint) (value)) >> 8);
+ }
+ }
+
+ public uint homeRegionX;
+ public uint homeRegionY;
+
+ ///
+ /// The coordinates inside the region of the home location
+ ///
+ public LLVector3 homeLocation;
+
+ ///
+ /// Where the user will be looking when they rez.
+ ///
+ public LLVector3 homeLookAt;
+
+ ///
+ /// A UNIX Timestamp (seconds since epoch) for the users creation
+ ///
+ public int created;
+
+ ///
+ /// A UNIX Timestamp for the users last login date / time
+ ///
+ public int lastLogin;
+
+ public LLUUID rootInventoryFolderID;
+
+ ///
+ /// A URI to the users inventory server, used for foreigners and large grids
+ ///
+ public string userInventoryURI = String.Empty;
+
+ ///
+ /// A URI to the users asset server, used for foreigners and large grids.
+ ///
+ public string userAssetURI = String.Empty;
+
+ ///
+ /// A uint mask containing the "I can do" fields of the users profile
+ ///
+ public uint profileCanDoMask;
+
+ ///
+ /// A uint mask containing the "I want to do" part of the users profile
+ ///
+ public uint profileWantDoMask; // Profile window "I want to" mask
+
+ ///
+ /// The about text listed in a users profile.
+ ///
+ public string profileAboutText = String.Empty;
+
+ ///
+ /// The first life about text listed in a users profile
+ ///
+ public string profileFirstText = String.Empty;
+
+ ///
+ /// The profile image for an avatar stored on the asset server
+ ///
+ public LLUUID profileImage;
+
+ ///
+ /// The profile image for the users first life tab
+ ///
+ public LLUUID profileFirstImage;
+
+ ///
+ /// The users last registered agent (filled in on the user server)
+ ///
+ public UserAgentData currentAgent;
+ }
+
+ ///
+ /// Information about a users session
+ ///
+ public class UserAgentData
+ {
+ ///
+ /// The UUID of the users avatar (not the agent!)
+ ///
+ public LLUUID UUID;
+
+ ///
+ /// The IP address of the user
+ ///
+ public string agentIP = String.Empty;
+
+ ///
+ /// The port of the user
+ ///
+ public uint agentPort;
+
+ ///
+ /// Is the user online?
+ ///
+ public bool agentOnline;
+
+ ///
+ /// The session ID for the user (also the agent ID)
+ ///
+ public LLUUID sessionID;
+
+ ///
+ /// The "secure" session ID for the user
+ ///
+ /// Not very secure. Dont rely on it for anything more than Linden Lab does.
+ public LLUUID secureSessionID;
+
+ ///
+ /// The region the user logged into initially
+ ///
+ public LLUUID regionID;
+
+ ///
+ /// A unix timestamp from when the user logged in
+ ///
+ public int loginTime;
+
+ ///
+ /// When this agent expired and logged out, 0 if still online
+ ///
+ public int logoutTime;
+
+ ///
+ /// Current region the user is logged into
+ ///
+ public LLUUID currentRegion;
+
+ ///
+ /// Region handle of the current region the user is in
+ ///
+ public ulong currentHandle;
+
+ ///
+ /// The position of the user within the region
+ ///
+ public LLVector3 currentPos;
+ }
}
\ No newline at end of file
--
cgit v1.1