From 2a3c79df83e800d5dfe75a1a3b140ed81da2b1d6 Mon Sep 17 00:00:00 2001
From: Sean Dague
Date: Mon, 16 Jul 2007 15:40:11 +0000
Subject: changed to native line ending encoding
---
OpenSim.FxCop | 14482 +++++++++----------
.../Communications/CommunicationsManager.cs | 142 +-
OpenSim/Framework/Communications/IGridServices.cs | 82 +-
.../Communications/IInterRegionCommunications.cs | 76 +-
.../Framework/Communications/IInventoryServices.cs | 34 +-
OpenSim/Framework/Communications/IUserServices.cs | 86 +-
.../Communications/Properties/AssemblyInfo.cs | 120 +-
.../Communications/caches/CachedUserInfo.cs | 154 +-
.../Communications/caches/InventoryFolder.cs | 102 +-
.../Communications/caches/UserProfileCache.cs | 214 +-
OpenSim/Framework/Console/AssemblyInfo.cs | 112 +-
OpenSim/Framework/Console/ConsoleCallbacksBase.cs | 70 +-
OpenSim/Framework/Console/LogBase.cs | 564 +-
OpenSim/Framework/Console/MainLog.cs | 94 +-
OpenSim/Framework/Data.DB4o/DB4oGridData.cs | 324 +-
OpenSim/Framework/Data.DB4o/DB4oManager.cs | 326 +-
OpenSim/Framework/Data.DB4o/DB4oUserData.cs | 404 +-
.../Framework/Data.DB4o/Properties/AssemblyInfo.cs | 66 +-
OpenSim/Framework/Data.MSSQL/MSSQLGridData.cs | 388 +-
OpenSim/Framework/Data.MSSQL/MSSQLManager.cs | 422 +-
.../Data.MSSQL/Properties/AssemblyInfo.cs | 66 +-
OpenSim/Framework/Data.MySQL/MySQLGridData.cs | 574 +-
OpenSim/Framework/Data.MySQL/MySQLInventoryData.cs | 618 +-
OpenSim/Framework/Data.MySQL/MySQLLogData.cs | 210 +-
OpenSim/Framework/Data.MySQL/MySQLManager.cs | 1212 +-
OpenSim/Framework/Data.MySQL/MySQLUserData.cs | 512 +-
.../Data.MySQL/Properties/AssemblyInfo.cs | 66 +-
.../Data.SQLite/Properties/AssemblyInfo.cs | 66 +-
OpenSim/Framework/Data.SQLite/SQLiteGridData.cs | 394 +-
OpenSim/Framework/Data.SQLite/SQLiteManager.cs | 412 +-
OpenSim/Framework/Data/GridData.cs | 222 +-
OpenSim/Framework/Data/ILogData.cs | 180 +-
OpenSim/Framework/Data/IniConfig.cs | 192 +-
OpenSim/Framework/Data/InventoryData.cs | 394 +-
OpenSim/Framework/Data/Properties/AssemblyInfo.cs | 66 +-
OpenSim/Framework/Data/ReservationData.cs | 94 +-
OpenSim/Framework/Data/SimProfileData.cs | 384 +-
OpenSim/Framework/Data/UserData.cs | 256 +-
OpenSim/Framework/Data/UserProfileData.cs | 360 +-
OpenSim/Framework/General/AgentInventory.cs | 530 +-
.../Framework/General/AuthenticateSessionBase.cs | 258 +-
OpenSim/Framework/General/BlockingQueue.cs | 116 +-
OpenSim/Framework/General/ClientManager.cs | 72 +-
OpenSim/Framework/General/IRegionCommsListener.cs | 92 +-
.../General/Interfaces/AuthenticateResponse.cs | 86 +-
.../General/Interfaces/Config/IGenericConfig.cs | 76 +-
.../General/Interfaces/Config/IGridConfig.cs | 118 +-
.../General/Interfaces/Config/IUserConfig.cs | 106 +-
.../Framework/General/Interfaces/IAssetServer.cs | 128 +-
OpenSim/Framework/General/Interfaces/IClientAPI.cs | 390 +-
.../Framework/General/Interfaces/ILocalStorage.cs | 142 +-
.../Framework/General/Interfaces/IUserServer.cs | 78 +-
OpenSim/Framework/General/Interfaces/IWorld.cs | 84 +-
OpenSim/Framework/General/NpcClientBase.cs | 254 +-
.../Framework/General/Properties/AssemblyInfo.cs | 62 +-
OpenSim/Framework/General/RegionCommsListener.cs | 206 +-
OpenSim/Framework/General/Remoting.cs | 270 +-
OpenSim/Framework/General/Types/AgentCiruitData.cs | 98 +-
OpenSim/Framework/General/Types/AgentWearable.cs | 114 +-
OpenSim/Framework/General/Types/AssetBase.cs | 92 +-
OpenSim/Framework/General/Types/AssetLandmark.cs | 118 +-
OpenSim/Framework/General/Types/AssetStorage.cs | 94 +-
OpenSim/Framework/General/Types/EstateSettings.cs | 186 +-
OpenSim/Framework/General/Types/Login.cs | 98 +-
OpenSim/Framework/General/Types/MapBlockData.cs | 46 +-
OpenSim/Framework/General/Types/NeighbourInfo.cs | 84 +-
.../Framework/General/Types/NetworkServersInfo.cs | 438 +-
OpenSim/Framework/General/Types/ParcelData.cs | 240 +-
OpenSim/Framework/General/Types/PrimData.cs | 456 +-
.../Framework/General/Types/PrimitiveBaseShape.cs | 218 +-
OpenSim/Framework/General/Types/RegionHandle.cs | 242 +-
OpenSim/Framework/General/Types/RegionInfo.cs | 684 +-
OpenSim/Framework/General/Types/UUID.cs | 254 +-
OpenSim/Framework/General/UserProfile.cs | 174 +-
OpenSim/Framework/General/Util.cs | 368 +-
.../GenericConfig/Xml/Properties/AssemblyInfo.cs | 66 +-
OpenSim/Framework/GenericConfig/Xml/XmlConfig.cs | 244 +-
OpenSim/Framework/Servers/BaseHttpServer.cs | 448 +-
OpenSim/Framework/Servers/BaseStreamHandler.cs | 80 +-
OpenSim/Framework/Servers/BinaryStreamHandler.cs | 98 +-
OpenSim/Framework/Servers/CheckSumServer.cs | 252 +-
OpenSim/Framework/Servers/IStreamHandler.cs | 44 +-
OpenSim/Framework/Servers/RestMethod.cs | 62 +-
OpenSim/Framework/Servers/RestStreamHandler.cs | 62 +-
OpenSim/Framework/Servers/UDPServerBase.cs | 174 +-
OpenSim/Framework/Servers/XmlRpcMethod.cs | 66 +-
OpenSim/Framework/UserManager/LoginResponse.cs | 1286 +-
OpenSim/Framework/UserManager/UserManagerBase.cs | 1262 +-
OpenSim/Grid/AssetServer/Main.cs | 812 +-
.../Grid/AssetServer/Properties/AssemblyInfo.cs | 116 +-
.../Grid/Framework.Manager/GridManagementAgent.cs | 276 +-
.../Grid/Framework.Manager/GridServerManager.cs | 186 +-
OpenSim/Grid/GridServer.Config/AssemblyInfo.cs | 112 +-
OpenSim/Grid/GridServer.Config/DbGridConfig.cs | 320 +-
OpenSim/Grid/GridServer/GridManager.cs | 1420 +-
OpenSim/Grid/GridServer/Main.cs | 516 +-
OpenSim/Grid/GridServer/Properties/AssemblyInfo.cs | 116 +-
OpenSim/Grid/InventoryServer/InventoryManager.cs | 250 +-
OpenSim/Grid/InventoryServer/Main.cs | 174 +-
.../OpenGridServices.Manager/BlockingQueue.cs | 66 +-
.../Grid/Manager/OpenGridServices.Manager/Util.cs | 266 +-
OpenSim/Grid/UserServer.Config/AssemblyInfo.cs | 112 +-
OpenSim/Grid/UserServer.Config/DbUserConfig.cs | 190 +-
OpenSim/Grid/UserServer/Main.cs | 428 +-
OpenSim/Grid/UserServer/Properties/AssemblyInfo.cs | 62 +-
OpenSim/Grid/UserServer/UserManager.cs | 200 +-
OpenSim/Region/Application/Application.cs | 250 +-
OpenSim/Region/Application/OpenSimMain.cs | 992 +-
OpenSim/Region/Application/VersionInfo.cs | 72 +-
OpenSim/Region/Caches/AssetCache.cs | 1338 +-
OpenSim/Region/Caches/Properties/AssemblyInfo.cs | 66 +-
OpenSim/Region/Capabilities/Caps.cs | 626 +-
OpenSim/Region/Capabilities/LLSDArray.cs | 84 +-
.../Region/Capabilities/LLSDAssetUploadComplete.cs | 88 +-
.../Region/Capabilities/LLSDAssetUploadRequest.cs | 42 +-
.../Region/Capabilities/LLSDAssetUploadResponse.cs | 36 +-
OpenSim/Region/Capabilities/LLSDCapEvent.cs | 82 +-
OpenSim/Region/Capabilities/LLSDCapsDetails.cs | 34 +-
OpenSim/Region/Capabilities/LLSDEmpty.cs | 76 +-
OpenSim/Region/Capabilities/LLSDHelpers.cs | 328 +-
OpenSim/Region/Capabilities/LLSDMapLayer.cs | 92 +-
.../Region/Capabilities/LLSDMapLayerResponse.cs | 82 +-
OpenSim/Region/Capabilities/LLSDMapRequest.cs | 26 +-
OpenSim/Region/Capabilities/LLSDMethod.cs | 16 +-
OpenSim/Region/Capabilities/LLSDStreamHandler.cs | 84 +-
OpenSim/Region/Capabilities/LLSDTest.cs | 82 +-
OpenSim/Region/Capabilities/LLSDType.cs | 118 +-
.../Region/ClientStack/Assets/InventoryCache.cs | 676 +-
.../ClientStack/ClientStackNetworkHandler.cs | 80 +-
OpenSim/Region/ClientStack/ClientView.API.cs | 2360 +--
.../ClientStack/ClientView.AgentAssetUpload.cs | 714 +-
.../ClientStack/ClientView.PacketHandlers.cs | 472 +-
.../ClientStack/ClientView.ProcessPackets.cs | 1294 +-
OpenSim/Region/ClientStack/ClientView.cs | 586 +-
OpenSim/Region/ClientStack/ClientViewBase.cs | 652 +-
OpenSim/Region/ClientStack/PacketServer.cs | 368 +-
.../Region/ClientStack/RegionApplicationBase.cs | 236 +-
OpenSim/Region/ClientStack/UDPServer.cs | 390 +-
.../Communications/Local/CommunicationsLocal.cs | 110 +-
.../Communications/Local/LocalBackEndServices.cs | 412 +-
.../Communications/Local/LocalUserServices.cs | 284 +-
.../Local/Properties/AssemblyInfo.cs | 66 +-
.../Communications/OGS1/CommunicationsOGS1.cs | 36 +-
.../Region/Communications/OGS1/OGS1GridServices.cs | 862 +-
.../Communications/OGS1/OGS1InterSimComms.cs | 138 +-
.../Region/Communications/OGS1/OGS1UserServices.cs | 202 +-
.../Communications/OGS1/Properties/AssemblyInfo.cs | 66 +-
OpenSim/Region/Environment/EstateManager.cs | 598 +-
.../Environment/Interfaces/IRegionDataStore.cs | 124 +-
OpenSim/Region/Environment/ParcelManager.cs | 2412 +--
OpenSim/Region/Environment/RegionManager.cs | 58 +-
OpenSim/Region/Environment/Scenes/Entity.cs | 230 +-
OpenSim/Region/Environment/Scenes/EntityBase.cs | 284 +-
.../Environment/Scenes/IScenePresenceBody.cs | 28 +-
OpenSim/Region/Environment/Scenes/Primitive.cs | 1296 +-
.../Environment/Scenes/Scene.PacketHandlers.cs | 1236 +-
OpenSim/Region/Environment/Scenes/Scene.cs | 1838 +--
OpenSim/Region/Environment/Scenes/SceneBase.cs | 390 +-
OpenSim/Region/Environment/Scenes/SceneEvents.cs | 164 +-
OpenSim/Region/Environment/Scenes/SceneObject.cs | 618 +-
.../Environment/Scenes/ScenePresence.Animations.cs | 148 +-
.../Environment/Scenes/ScenePresence.Body.cs | 170 +-
OpenSim/Region/Environment/Scenes/ScenePresence.cs | 1246 +-
.../Engines/CSharpEngine/CSharpScriptEngine.cs | 204 +-
.../CSharpEngine/Examples/ExportRegionToLSL.cs | 138 +-
.../Engines/JScriptEngine/JScriptEngine.cs | 204 +-
.../Engines/JVMEngine/JVM/ClassInstance.cs | 90 +-
.../scripting/Engines/JVMEngine/JVM/ClassRecord.cs | 1006 +-
.../Scenes/scripting/Engines/JVMEngine/JVM/Heap.cs | 86 +-
.../Engines/JVMEngine/JVM/Interpreter.Logic.cs | 854 +-
.../Engines/JVMEngine/JVM/Interpreter.Methods.cs | 192 +-
.../Engines/JVMEngine/JVM/Interpreter.Return.cs | 80 +-
.../scripting/Engines/JVMEngine/JVM/Interpreter.cs | 270 +-
.../scripting/Engines/JVMEngine/JVM/MainMemory.cs | 90 +-
.../Engines/JVMEngine/JVM/MethodMemory.cs | 92 +-
.../scripting/Engines/JVMEngine/JVM/Object.cs | 74 +-
.../scripting/Engines/JVMEngine/JVM/Stack.cs | 84 +-
.../scripting/Engines/JVMEngine/JVM/StackFrame.cs | 98 +-
.../scripting/Engines/JVMEngine/JVM/Thread.cs | 238 +-
.../scripting/Engines/JVMEngine/JavaEngine.cs | 58 +-
.../scripting/Engines/JVMEngine/OpenSimJVM.cs | 340 +-
.../Engines/JVMEngine/Types/ArrayReference.cs | 20 +-
.../scripting/Engines/JVMEngine/Types/BaseType.cs | 20 +-
.../Engines/JVMEngine/Types/ObjectReference.cs | 32 +-
.../Engines/JVMEngine/Types/PrimitiveTypes/Byte.cs | 20 +-
.../Engines/JVMEngine/Types/PrimitiveTypes/Char.cs | 20 +-
.../JVMEngine/Types/PrimitiveTypes/Float.cs | 32 +-
.../Engines/JVMEngine/Types/PrimitiveTypes/Int.cs | 32 +-
.../Engines/LSLEngine/LSLHandler/Engine.cs | 280 +-
.../LSLEngine/LSLHandler/LSL_CLRInterface.cs | 102 +-
.../Engines/LSLEngine/LSLHandler/LSO_Enums.cs | 970 +-
.../Engines/LSLEngine/LSLHandler/LSO_Parser.cs | 1216 +-
.../Engines/LSLEngine/LSLHandler/LSO_Struct.cs | 210 +-
.../Region/Environment/Scenes/scripting/Script.cs | 128 +-
.../Environment/Scenes/scripting/ScriptAPI.cs | 64 +-
.../Environment/Scenes/scripting/ScriptInfo.cs | 116 +-
.../Scenes/scripting/ScriptInterpretedAPI.cs | 412 +-
.../Scenes/scripting/ScriptInterpretedEvents.cs | 32 +-
.../Environment/Scenes/scripting/ScriptManager.cs | 214 +-
OpenSim/Region/Environment/StorageManager.cs | 120 +-
.../Region/Examples/SimpleApp/MyNpcCharacter.cs | 368 +-
OpenSim/Region/Examples/SimpleApp/MySceneObject.cs | 80 +-
OpenSim/Region/Examples/SimpleApp/MyWorld.cs | 194 +-
OpenSim/Region/Examples/SimpleApp/Program.cs | 252 +-
.../Examples/SimpleApp/Properties/AssemblyInfo.cs | 62 +-
.../Region/GridInterfaces/Local/AssemblyInfo.cs | 112 +-
.../GridInterfaces/Local/LocalAssetServer.cs | 622 +-
.../Region/GridInterfaces/Remote/AssemblyInfo.cs | 112 +-
.../GridInterfaces/Remote/RemoteAssetServer.cs | 266 +-
.../Physics/BasicPhysicsPlugin/AssemblyInfo.cs | 112 +-
.../BasicPhysicsPlugin/BasicPhysicsPlugin.cs | 602 +-
.../Region/Physics/BulletXPlugin/AssemblyInfo.cs | 112 +-
.../Region/Physics/BulletXPlugin/BulletXPlugin.cs | 1068 +-
OpenSim/Region/Physics/Manager/AssemblyInfo.cs | 112 +-
OpenSim/Region/Physics/Manager/PhysicsActor.cs | 334 +-
OpenSim/Region/Physics/Manager/PhysicsManager.cs | 230 +-
OpenSim/Region/Physics/Manager/PhysicsScene.cs | 220 +-
OpenSim/Region/Physics/Manager/PhysicsVector.cs | 110 +-
OpenSim/Region/Physics/OdePlugin/AssemblyInfo.cs | 112 +-
OpenSim/Region/Physics/OdePlugin/OdePlugin.cs | 914 +-
OpenSim/Region/Physics/PhysXPlugin/AssemblyInfo.cs | 112 +-
OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs | 850 +-
.../Region/Scripting/Properties/AssemblyInfo.cs | 70 +-
OpenSim/Region/Scripting/Script.cs | 64 +-
OpenSim/Region/Scripting/ScriptAccess.cs | 62 +-
.../LocalStorageBerkeleyDB/BDBLocalStorage.cs | 222 +-
.../Storage/LocalStorageDb4o/AssemblyInfo.cs | 112 +-
.../Storage/LocalStorageDb4o/Db4LocalStorage.cs | 532 +-
.../Region/Storage/LocalStorageDb4o/MapStorage.cs | 76 +-
.../Storage/LocalStorageDb4o/UUIDParcelQuery.cs | 94 +-
.../Storage/LocalStorageDb4o/UUIDPrimQuery.cs | 94 +-
.../LocalStorageSQLite/Properties/AssemblyInfo.cs | 120 +-
.../LocalStorageSQLite/SQLiteLocalStorage.cs | 394 +-
.../OpenSim.DataStore.NullStorage/NullDataStore.cs | 131 +-
.../Properties/AssemblyInfo.cs | 70 +-
.../Properties/AssemblyInfo.cs | 120 +-
.../Region/Terrain.BasicTerrain/TerrainEngine.cs | 1906 +--
.../Region/Terrain.BasicTerrain/TerrainFilter.cs | 252 +-
Prebuild/README | 460 +-
Prebuild/doc/prebuild-example1.xml | 600 +-
Prebuild/doc/prebuild-example2.xml | 144 +-
Prebuild/doc/prebuild-example3.xml | 226 +-
Prebuild/doc/prebuild-example4.xml | 1430 +-
Prebuild/scripts/Clean.bat | 4 +-
Prebuild/scripts/Help.bat | 2 +-
Prebuild/scripts/MonoDevelop.sh | 4 +-
Prebuild/scripts/Prebuild.nsi | 462 +-
Prebuild/scripts/SharpDevelop.bat | 8 +-
Prebuild/scripts/SharpDevelop2.bat | 8 +-
Prebuild/scripts/VS2002.bat | 8 +-
Prebuild/scripts/VS2003.bat | 8 +-
Prebuild/scripts/VS2005.bat | 8 +-
Prebuild/scripts/autotools.bat | 8 +-
Prebuild/scripts/nant.bat | 8 +-
Prebuild/scripts/nant.sh | 4 +-
Prebuild/src/Core/Attributes/DataNodeAttribute.cs | 162 +-
.../src/Core/Attributes/OptionNodeAttribute.cs | 160 +-
Prebuild/src/Core/Attributes/TargetAttribute.cs | 160 +-
Prebuild/src/Core/FatalException.cs | 188 +-
Prebuild/src/Core/Interfaces/IDataNode.cs | 112 +-
Prebuild/src/Core/Interfaces/ITarget.cs | 118 +-
Prebuild/src/Core/Kernel.cs | 1514 +-
Prebuild/src/Core/Nodes/ConfigurationNode.cs | 374 +-
Prebuild/src/Core/Nodes/DataNode.cs | 164 +-
Prebuild/src/Core/Nodes/ExcludeNode.cs | 170 +-
Prebuild/src/Core/Nodes/FileNode.cs | 476 +-
Prebuild/src/Core/Nodes/FilesNode.cs | 446 +-
Prebuild/src/Core/Nodes/MatchNode.cs | 598 +-
Prebuild/src/Core/Nodes/OptionsNode.cs | 1310 +-
Prebuild/src/Core/Nodes/ProcessNode.cs | 238 +-
Prebuild/src/Core/Nodes/ProjectNode.cs | 1020 +-
Prebuild/src/Core/Nodes/ReferenceNode.cs | 306 +-
Prebuild/src/Core/Nodes/ReferencePathNode.cs | 216 +-
Prebuild/src/Core/Nodes/SolutionNode.cs | 576 +-
Prebuild/src/Core/Parse/IfContext.cs | 326 +-
Prebuild/src/Core/Parse/Preprocessor.cs | 1038 +-
Prebuild/src/Core/Targets/AutotoolsTarget.cs | 1852 +--
Prebuild/src/Core/Targets/DebugTarget.cs | 204 +-
Prebuild/src/Core/Targets/MonoDevelopTarget.cs | 916 +-
Prebuild/src/Core/Targets/NAntTarget.cs | 1242 +-
Prebuild/src/Core/Targets/SharpDevelop2Target.cs | 180 +-
Prebuild/src/Core/Targets/SharpDevelopTarget.cs | 874 +-
Prebuild/src/Core/Targets/VS2002Target.cs | 192 +-
Prebuild/src/Core/Targets/VS2003Target.cs | 1266 +-
Prebuild/src/Core/Targets/VS2005Target.cs | 1766 +--
Prebuild/src/Core/UnknownLanguageException.cs | 126 +-
.../src/Core/Utilities/CommandLineCollection.cs | 324 +-
Prebuild/src/Core/Utilities/CurrentDirectory.cs | 178 +-
Prebuild/src/Core/Utilities/Helper.cs | 1322 +-
Prebuild/src/Core/Utilities/Log.cs | 558 +-
Prebuild/src/Core/WarningException.cs | 186 +-
Prebuild/src/Prebuild.cs | 330 +-
Prebuild/src/Properties/AssemblyInfo.cs | 202 +-
Prebuild/src/data/dnpb-1.0.xsd | 364 +-
Prebuild/src/data/dnpb-1.1.xsd | 366 +-
Prebuild/src/data/dnpb-1.2.xsd | 394 +-
Prebuild/src/data/dnpb-1.3.xsd | 410 +-
Prebuild/src/data/dnpb-1.4.xsd | 424 +-
Prebuild/src/data/dnpb-1.5.xsd | 430 +-
Prebuild/src/data/prebuild-1.6.xsd | 462 +-
ThirdPartyLicenses/Axiom.txt | 280 +-
.../Bullet for Xna (ModifiedBulletX).txt | 36 +-
.../Mono.Xna (MonoXnaCompactMaths).txt | 42 +-
ThirdPartyLicenses/MySQL.txt | 154 +-
ThirdPartyLicenses/ODE.txt | 24 +-
ThirdPartyLicenses/OpenJpeg.txt | 58 +-
ThirdPartyLicenses/libsl.txt | 44 +-
bin/TerrainFilters/demofilter.cs | 98 +-
bin/data/LICENSE-README-IMPORTANT.txt | 8 +-
bin/data/avataranimations.xml | 18 +-
bin/openjpegnet.dll.config | 10 +-
libraries/ModifiedBulletX/ModifiedBulletX.sln | 84 +-
.../ModifiedBulletX/ModifiedBulletX/BulletDebug.cs | 136 +-
.../Collision/BroadphaseCollision/AxisSweep3.cs | 1246 +-
.../BroadphaseCollision/BroadphaseNativeTypes.cs | 136 +-
.../BroadphaseCollision/BroadphasePair.cs | 226 +-
.../BroadphaseCollision/BroadphaseProxy.cs | 182 +-
.../BroadphaseCollision/CollisionAlgorithm.cs | 102 +-
.../CollisionAlgorithmConstructionInfo.cs | 84 +-
.../BroadphaseCollision/DispatcherInfo.cs | 108 +-
.../Collision/BroadphaseCollision/IBroadphase.cs | 72 +-
.../Collision/BroadphaseCollision/IDispatcher.cs | 84 +-
.../BroadphaseCollision/IOverlapCallback.cs | 66 +-
.../BroadphaseCollision/OverlappingPairCache.cs | 318 +-
.../BroadphaseCollision/SimpleBroadphase.cs | 256 +-
.../BroadphaseCollision/SimpleBroadphaseProxy.cs | 92 +-
.../BridgeTriangleRaycastCallback.cs | 118 +-
.../CollisionAlgorithmCreateFunc.cs | 80 +-
.../CollisionDispatch/CollisionDispatcher.cs | 560 +-
.../Collision/CollisionDispatch/CollisionObject.cs | 326 +-
.../CollisionDispatch/CollisionPairCallback.cs | 96 +-
.../Collision/CollisionDispatch/CollisionWorld.cs | 716 +-
.../CompoundCollisionAlgorithm.cs | 314 +-
.../ConvexConcaveCollisionAlgorithm.cs | 378 +-
.../ConvexConvexCollisionAlgorithm.cs | 386 +-
.../CollisionDispatch/ConvexTriangleCallback.cs | 260 +-
.../Collision/CollisionDispatch/EmptyAlgorithm.cs | 104 +-
.../Collision/CollisionDispatch/ManifoldResult.cs | 294 +-
.../CollisionDispatch/SimulationIslandManager.cs | 608 +-
.../SphereBoxCollisionAlgorithm.cs | 540 +-
.../SphereSphereCollisionAlgorithm.cs | 208 +-
.../SphereTriangleCollisionAlgorithm.cs | 200 +-
.../CollisionDispatch/SphereTriangleDetector.cs | 426 +-
.../Collision/CollisionDispatch/UnionFind.cs | 300 +-
.../Collision/CollisionShapes/BUSimplex1to4.cs | 430 +-
.../Collision/CollisionShapes/BoxShape.cs | 632 +-
.../CollisionShapes/BvhTriangleMeshShape.cs | 166 +-
.../Collision/CollisionShapes/CollisionShape.cs | 296 +-
.../Collision/CollisionShapes/CompoundShape.cs | 366 +-
.../Collision/CollisionShapes/ConcaveShape.cs | 108 +-
.../Collision/CollisionShapes/ConeShape.cs | 416 +-
.../Collision/CollisionShapes/ConvexHullShape.cs | 368 +-
.../Collision/CollisionShapes/ConvexShape.cs | 282 +-
.../CollisionShapes/ConvexTriangleMeshShape.cs | 370 +-
.../Collision/CollisionShapes/CylinderShape.cs | 272 +-
.../Collision/CollisionShapes/CylinderShapeX.cs | 200 +-
.../Collision/CollisionShapes/CylinderShapeZ.cs | 200 +-
.../Collision/CollisionShapes/EmptyShape.cs | 160 +-
.../Collision/CollisionShapes/FilteredCallback.cs | 110 +-
.../InternalTriangleIndexCallback.cs | 66 +-
.../CollisionShapes/LocalSupportVertexCallback.cs | 116 +-
.../Collision/CollisionShapes/MinkowskiSumShape.cs | 198 +-
.../Collision/CollisionShapes/MultiSphereShape.cs | 308 +-
.../CollisionShapes/NodeOverlapCallback.cs | 64 +-
.../Collision/CollisionShapes/OptimizedBvh.cs | 586 +-
.../Collision/CollisionShapes/OptimizedBvhNode.cs | 126 +-
.../CollisionShapes/PolyhedralConvexShape.cs | 266 +-
.../Collision/CollisionShapes/SphereShape.cs | 232 +-
.../Collision/CollisionShapes/StaticPlaneShape.cs | 248 +-
.../CollisionShapes/StridingMeshInterface.cs | 230 +-
.../CollisionShapes/SupportVertexCallback.cs | 134 +-
.../Collision/CollisionShapes/TriangleBuffer.cs | 160 +-
.../Collision/CollisionShapes/TriangleCallback.cs | 66 +-
.../CollisionShapes/TriangleIndexVertexArray.cs | 272 +-
.../Collision/CollisionShapes/TriangleMesh.cs | 204 +-
.../Collision/CollisionShapes/TriangleMeshShape.cs | 320 +-
.../Collision/CollisionShapes/TriangleShape.cs | 374 +-
.../ContinuousConvexCollision.cs | 398 +-
.../Collision/NarrowPhaseCollision/ConvexCast.cs | 146 +-
.../DiscreteCollisionDetectorInterface.cs | 234 +-
.../NarrowPhaseCollision/GjkConvexCast.cs | 352 +-
.../Collision/NarrowPhaseCollision/GjkEpa.cs | 1266 +-
.../GjkEpaPenetrationDepthSolver.cs | 112 +-
.../Collision/NarrowPhaseCollision/GjkEpaSolver.cs | 202 +-
.../NarrowPhaseCollision/GjkPairDetector.cs | 684 +-
.../IConvexPenetrationDepthSolver.cs | 84 +-
.../NarrowPhaseCollision/ISimplexSolver.cs | 94 +-
.../NarrowPhaseCollision/ManifoldPoint.cs | 156 +-
.../MinkowskiPenetrationDepthSolver.cs | 492 +-
.../NarrowPhaseCollision/PersistentManifold.cs | 544 +-
.../NarrowPhaseCollision/PointCollector.cs | 128 +-
.../NarrowPhaseCollision/SubsimplexConvexCast.cs | 284 +-
.../TriangleRaycastCallback.cs | 230 +-
.../NarrowPhaseCollision/VoronoiSimplexSolver.cs | 1286 +-
.../Dynamics/ConstraintSolver/ContactConstraint.cs | 976 +-
.../Dynamics/ConstraintSolver/ContactSolverInfo.cs | 124 +-
.../ConstraintSolver/Generic6DofConstraint.cs | 880 +-
.../Dynamics/ConstraintSolver/HingeConstraint.cs | 492 +-
.../Dynamics/ConstraintSolver/IConstraintSolver.cs | 64 +-
.../Dynamics/ConstraintSolver/JacobianEntry.cs | 310 +-
.../ConstraintSolver/Point2PointConstraint.cs | 312 +-
.../SequentialImpulseConstraintSolver.cs | 1830 +--
.../ConstraintSolver/Solve2LinearConstraint.cs | 376 +-
.../Dynamics/ConstraintSolver/SolverBody.cs | 156 +-
.../Dynamics/ConstraintSolver/SolverConstraint.cs | 154 +-
.../Dynamics/ConstraintSolver/TypedConstraint.cs | 176 +-
.../Dynamics/DiscreteDynamicsWorld.cs | 1578 +-
.../ModifiedBulletX/Dynamics/DynamicsWorld.cs | 118 +-
.../ModifiedBulletX/Dynamics/RigidBody.cs | 894 +-
.../Dynamics/SimpleDynamicsWorld.cs | 422 +-
.../Dynamics/Vehicle/RaycastVehicle.cs | 186 +-
.../Dynamics/Vehicle/VehicleRaycaster.cs | 98 +-
.../ModifiedBulletX/Dynamics/Vehicle/WheelInfo.cs | 1058 +-
.../ModifiedBulletX/Exceptions/BulletException.cs | 106 +-
.../ModifiedBulletX/ModifiedBulletX/IDebugDraw.cs | 118 +-
.../LinearMath/DefaultMotionState.cs | 132 +-
.../ModifiedBulletX/LinearMath/MathHelper.cs | 1162 +-
.../ModifiedBulletX/LinearMath/MatrixOperations.cs | 232 +-
.../ModifiedBulletX/LinearMath/MotionState.cs | 88 +-
.../ModifiedBulletX/LinearMath/QuadWord.cs | 176 +-
.../ModifiedBulletX/LinearMath/Quaternion.cs | 396 +-
.../ModifiedBulletX/LinearMath/TransformUtil.cs | 204 +-
.../ModifiedBulletX/LinearMath/Vector3.cs | 442 +-
.../ModifiedBulletX/LinearMath/Vector4.cs | 220 +-
.../Modified.XnaDevRu.BulletX.csproj | 334 +-
.../ModifiedBulletX/Properties/AssemblyInfo.cs | 70 +-
.../ModifiedBulletX/MonoXnaCompactMaths/Matrix.cs | 1366 +-
.../MonoXnaCompactMaths/MonoXnaCompactMaths.csproj | 100 +-
.../MonoXnaCompactMaths/Properties/AssemblyInfo.cs | 66 +-
.../MonoXnaCompactMaths/Quaternion.cs | 692 +-
.../ModifiedBulletX/MonoXnaCompactMaths/Vector3.cs | 1240 +-
.../ModifiedBulletX/MonoXnaCompactMaths/Vector4.cs | 1260 +-
prebuild.xml | 2120 +--
runprebuild.bat | 2 +-
share/php/generateUserFunction.php | 90 +-
share/regions/config_0.xml | 6 +-
share/regions/config_1.xml | 6 +-
share/regions/config_10.xml | 6 +-
share/regions/config_100.xml | 6 +-
share/regions/config_1000.xml | 6 +-
share/regions/config_1001.xml | 6 +-
share/regions/config_1002.xml | 6 +-
share/regions/config_1003.xml | 6 +-
share/regions/config_1004.xml | 6 +-
share/regions/config_1005.xml | 6 +-
share/regions/config_1006.xml | 6 +-
share/regions/config_1007.xml | 6 +-
share/regions/config_1008.xml | 6 +-
share/regions/config_1009.xml | 6 +-
share/regions/config_101.xml | 6 +-
share/regions/config_1010.xml | 6 +-
share/regions/config_1011.xml | 6 +-
share/regions/config_1012.xml | 6 +-
share/regions/config_1013.xml | 6 +-
share/regions/config_1014.xml | 6 +-
share/regions/config_1015.xml | 6 +-
share/regions/config_1016.xml | 6 +-
share/regions/config_1017.xml | 6 +-
share/regions/config_1018.xml | 6 +-
share/regions/config_1019.xml | 6 +-
share/regions/config_102.xml | 6 +-
share/regions/config_1020.xml | 6 +-
share/regions/config_1021.xml | 6 +-
share/regions/config_1022.xml | 6 +-
share/regions/config_1023.xml | 6 +-
share/regions/config_103.xml | 6 +-
share/regions/config_104.xml | 6 +-
share/regions/config_105.xml | 6 +-
share/regions/config_106.xml | 6 +-
share/regions/config_107.xml | 6 +-
share/regions/config_108.xml | 6 +-
share/regions/config_109.xml | 6 +-
share/regions/config_11.xml | 6 +-
share/regions/config_110.xml | 6 +-
share/regions/config_111.xml | 6 +-
share/regions/config_112.xml | 6 +-
share/regions/config_113.xml | 6 +-
share/regions/config_114.xml | 6 +-
share/regions/config_115.xml | 6 +-
share/regions/config_116.xml | 6 +-
share/regions/config_117.xml | 6 +-
share/regions/config_118.xml | 6 +-
share/regions/config_119.xml | 6 +-
share/regions/config_12.xml | 6 +-
share/regions/config_120.xml | 6 +-
share/regions/config_121.xml | 6 +-
share/regions/config_122.xml | 6 +-
share/regions/config_123.xml | 6 +-
share/regions/config_124.xml | 6 +-
share/regions/config_125.xml | 6 +-
share/regions/config_126.xml | 6 +-
share/regions/config_127.xml | 6 +-
share/regions/config_128.xml | 6 +-
share/regions/config_129.xml | 6 +-
share/regions/config_13.xml | 6 +-
share/regions/config_130.xml | 6 +-
share/regions/config_131.xml | 6 +-
share/regions/config_132.xml | 6 +-
share/regions/config_133.xml | 6 +-
share/regions/config_134.xml | 6 +-
share/regions/config_135.xml | 6 +-
share/regions/config_136.xml | 6 +-
share/regions/config_137.xml | 6 +-
share/regions/config_138.xml | 6 +-
share/regions/config_139.xml | 6 +-
share/regions/config_14.xml | 6 +-
share/regions/config_140.xml | 6 +-
share/regions/config_141.xml | 6 +-
share/regions/config_142.xml | 6 +-
share/regions/config_143.xml | 6 +-
share/regions/config_144.xml | 6 +-
share/regions/config_145.xml | 6 +-
share/regions/config_146.xml | 6 +-
share/regions/config_147.xml | 6 +-
share/regions/config_148.xml | 6 +-
share/regions/config_149.xml | 6 +-
share/regions/config_15.xml | 6 +-
share/regions/config_150.xml | 6 +-
share/regions/config_151.xml | 6 +-
share/regions/config_152.xml | 6 +-
share/regions/config_153.xml | 6 +-
share/regions/config_154.xml | 6 +-
share/regions/config_155.xml | 6 +-
share/regions/config_156.xml | 6 +-
share/regions/config_157.xml | 6 +-
share/regions/config_158.xml | 6 +-
share/regions/config_159.xml | 6 +-
share/regions/config_16.xml | 6 +-
share/regions/config_160.xml | 6 +-
share/regions/config_161.xml | 6 +-
share/regions/config_162.xml | 6 +-
share/regions/config_163.xml | 6 +-
share/regions/config_164.xml | 6 +-
share/regions/config_165.xml | 6 +-
share/regions/config_166.xml | 6 +-
share/regions/config_167.xml | 6 +-
share/regions/config_168.xml | 6 +-
share/regions/config_169.xml | 6 +-
share/regions/config_17.xml | 6 +-
share/regions/config_170.xml | 6 +-
share/regions/config_171.xml | 6 +-
share/regions/config_172.xml | 6 +-
share/regions/config_173.xml | 6 +-
share/regions/config_174.xml | 6 +-
share/regions/config_175.xml | 6 +-
share/regions/config_176.xml | 6 +-
share/regions/config_177.xml | 6 +-
share/regions/config_178.xml | 6 +-
share/regions/config_179.xml | 6 +-
share/regions/config_18.xml | 6 +-
share/regions/config_180.xml | 6 +-
share/regions/config_181.xml | 6 +-
share/regions/config_182.xml | 6 +-
share/regions/config_183.xml | 6 +-
share/regions/config_184.xml | 6 +-
share/regions/config_185.xml | 6 +-
share/regions/config_186.xml | 6 +-
share/regions/config_187.xml | 6 +-
share/regions/config_188.xml | 6 +-
share/regions/config_189.xml | 6 +-
share/regions/config_19.xml | 6 +-
share/regions/config_190.xml | 6 +-
share/regions/config_191.xml | 6 +-
share/regions/config_192.xml | 6 +-
share/regions/config_193.xml | 6 +-
share/regions/config_194.xml | 6 +-
share/regions/config_195.xml | 6 +-
share/regions/config_196.xml | 6 +-
share/regions/config_197.xml | 6 +-
share/regions/config_198.xml | 6 +-
share/regions/config_199.xml | 6 +-
share/regions/config_2.xml | 6 +-
share/regions/config_20.xml | 6 +-
share/regions/config_200.xml | 6 +-
share/regions/config_201.xml | 6 +-
share/regions/config_202.xml | 6 +-
share/regions/config_203.xml | 6 +-
share/regions/config_204.xml | 6 +-
share/regions/config_205.xml | 6 +-
share/regions/config_206.xml | 6 +-
share/regions/config_207.xml | 6 +-
share/regions/config_208.xml | 6 +-
share/regions/config_209.xml | 6 +-
share/regions/config_21.xml | 6 +-
share/regions/config_210.xml | 6 +-
share/regions/config_211.xml | 6 +-
share/regions/config_212.xml | 6 +-
share/regions/config_213.xml | 6 +-
share/regions/config_214.xml | 6 +-
share/regions/config_215.xml | 6 +-
share/regions/config_216.xml | 6 +-
share/regions/config_217.xml | 6 +-
share/regions/config_218.xml | 6 +-
share/regions/config_219.xml | 6 +-
share/regions/config_22.xml | 6 +-
share/regions/config_220.xml | 6 +-
share/regions/config_221.xml | 6 +-
share/regions/config_222.xml | 6 +-
share/regions/config_223.xml | 6 +-
share/regions/config_224.xml | 6 +-
share/regions/config_225.xml | 6 +-
share/regions/config_226.xml | 6 +-
share/regions/config_227.xml | 6 +-
share/regions/config_228.xml | 6 +-
share/regions/config_229.xml | 6 +-
share/regions/config_23.xml | 6 +-
share/regions/config_230.xml | 6 +-
share/regions/config_231.xml | 6 +-
share/regions/config_232.xml | 6 +-
share/regions/config_233.xml | 6 +-
share/regions/config_234.xml | 6 +-
share/regions/config_235.xml | 6 +-
share/regions/config_236.xml | 6 +-
share/regions/config_237.xml | 6 +-
share/regions/config_238.xml | 6 +-
share/regions/config_239.xml | 6 +-
share/regions/config_24.xml | 6 +-
share/regions/config_240.xml | 6 +-
share/regions/config_241.xml | 6 +-
share/regions/config_242.xml | 6 +-
share/regions/config_243.xml | 6 +-
share/regions/config_244.xml | 6 +-
share/regions/config_245.xml | 6 +-
share/regions/config_246.xml | 6 +-
share/regions/config_247.xml | 6 +-
share/regions/config_248.xml | 6 +-
share/regions/config_249.xml | 6 +-
share/regions/config_25.xml | 6 +-
share/regions/config_250.xml | 6 +-
share/regions/config_251.xml | 6 +-
share/regions/config_252.xml | 6 +-
share/regions/config_253.xml | 6 +-
share/regions/config_254.xml | 6 +-
share/regions/config_255.xml | 6 +-
share/regions/config_256.xml | 6 +-
share/regions/config_257.xml | 6 +-
share/regions/config_258.xml | 6 +-
share/regions/config_259.xml | 6 +-
share/regions/config_26.xml | 6 +-
share/regions/config_260.xml | 6 +-
share/regions/config_261.xml | 6 +-
share/regions/config_262.xml | 6 +-
share/regions/config_263.xml | 6 +-
share/regions/config_264.xml | 6 +-
share/regions/config_265.xml | 6 +-
share/regions/config_266.xml | 6 +-
share/regions/config_267.xml | 6 +-
share/regions/config_268.xml | 6 +-
share/regions/config_269.xml | 6 +-
share/regions/config_27.xml | 6 +-
share/regions/config_270.xml | 6 +-
share/regions/config_271.xml | 6 +-
share/regions/config_272.xml | 6 +-
share/regions/config_273.xml | 6 +-
share/regions/config_274.xml | 6 +-
share/regions/config_275.xml | 6 +-
share/regions/config_276.xml | 6 +-
share/regions/config_277.xml | 6 +-
share/regions/config_278.xml | 6 +-
share/regions/config_279.xml | 6 +-
share/regions/config_28.xml | 6 +-
share/regions/config_280.xml | 6 +-
share/regions/config_281.xml | 6 +-
share/regions/config_282.xml | 6 +-
share/regions/config_283.xml | 6 +-
share/regions/config_284.xml | 6 +-
share/regions/config_285.xml | 6 +-
share/regions/config_286.xml | 6 +-
share/regions/config_287.xml | 6 +-
share/regions/config_288.xml | 6 +-
share/regions/config_289.xml | 6 +-
share/regions/config_29.xml | 6 +-
share/regions/config_290.xml | 6 +-
share/regions/config_291.xml | 6 +-
share/regions/config_292.xml | 6 +-
share/regions/config_293.xml | 6 +-
share/regions/config_294.xml | 6 +-
share/regions/config_295.xml | 6 +-
share/regions/config_296.xml | 6 +-
share/regions/config_297.xml | 6 +-
share/regions/config_298.xml | 6 +-
share/regions/config_299.xml | 6 +-
share/regions/config_3.xml | 6 +-
share/regions/config_30.xml | 6 +-
share/regions/config_300.xml | 6 +-
share/regions/config_301.xml | 6 +-
share/regions/config_302.xml | 6 +-
share/regions/config_303.xml | 6 +-
share/regions/config_304.xml | 6 +-
share/regions/config_305.xml | 6 +-
share/regions/config_306.xml | 6 +-
share/regions/config_307.xml | 6 +-
share/regions/config_308.xml | 6 +-
share/regions/config_309.xml | 6 +-
share/regions/config_31.xml | 6 +-
share/regions/config_310.xml | 6 +-
share/regions/config_311.xml | 6 +-
share/regions/config_312.xml | 6 +-
share/regions/config_313.xml | 6 +-
share/regions/config_314.xml | 6 +-
share/regions/config_315.xml | 6 +-
share/regions/config_316.xml | 6 +-
share/regions/config_317.xml | 6 +-
share/regions/config_318.xml | 6 +-
share/regions/config_319.xml | 6 +-
share/regions/config_32.xml | 6 +-
share/regions/config_320.xml | 6 +-
share/regions/config_321.xml | 6 +-
share/regions/config_322.xml | 6 +-
share/regions/config_323.xml | 6 +-
share/regions/config_324.xml | 6 +-
share/regions/config_325.xml | 6 +-
share/regions/config_326.xml | 6 +-
share/regions/config_327.xml | 6 +-
share/regions/config_328.xml | 6 +-
share/regions/config_329.xml | 6 +-
share/regions/config_33.xml | 6 +-
share/regions/config_330.xml | 6 +-
share/regions/config_331.xml | 6 +-
share/regions/config_332.xml | 6 +-
share/regions/config_333.xml | 6 +-
share/regions/config_334.xml | 6 +-
share/regions/config_335.xml | 6 +-
share/regions/config_336.xml | 6 +-
share/regions/config_337.xml | 6 +-
share/regions/config_338.xml | 6 +-
share/regions/config_339.xml | 6 +-
share/regions/config_34.xml | 6 +-
share/regions/config_340.xml | 6 +-
share/regions/config_341.xml | 6 +-
share/regions/config_342.xml | 6 +-
share/regions/config_343.xml | 6 +-
share/regions/config_344.xml | 6 +-
share/regions/config_345.xml | 6 +-
share/regions/config_346.xml | 6 +-
share/regions/config_347.xml | 6 +-
share/regions/config_348.xml | 6 +-
share/regions/config_349.xml | 6 +-
share/regions/config_35.xml | 6 +-
share/regions/config_350.xml | 6 +-
share/regions/config_351.xml | 6 +-
share/regions/config_352.xml | 6 +-
share/regions/config_353.xml | 6 +-
share/regions/config_354.xml | 6 +-
share/regions/config_355.xml | 6 +-
share/regions/config_356.xml | 6 +-
share/regions/config_357.xml | 6 +-
share/regions/config_358.xml | 6 +-
share/regions/config_359.xml | 6 +-
share/regions/config_36.xml | 6 +-
share/regions/config_360.xml | 6 +-
share/regions/config_361.xml | 6 +-
share/regions/config_362.xml | 6 +-
share/regions/config_363.xml | 6 +-
share/regions/config_364.xml | 6 +-
share/regions/config_365.xml | 6 +-
share/regions/config_366.xml | 6 +-
share/regions/config_367.xml | 6 +-
share/regions/config_368.xml | 6 +-
share/regions/config_369.xml | 6 +-
share/regions/config_37.xml | 6 +-
share/regions/config_370.xml | 6 +-
share/regions/config_371.xml | 6 +-
share/regions/config_372.xml | 6 +-
share/regions/config_373.xml | 6 +-
share/regions/config_374.xml | 6 +-
share/regions/config_375.xml | 6 +-
share/regions/config_376.xml | 6 +-
share/regions/config_377.xml | 6 +-
share/regions/config_378.xml | 6 +-
share/regions/config_379.xml | 6 +-
share/regions/config_38.xml | 6 +-
share/regions/config_380.xml | 6 +-
share/regions/config_381.xml | 6 +-
share/regions/config_382.xml | 6 +-
share/regions/config_383.xml | 6 +-
share/regions/config_384.xml | 6 +-
share/regions/config_385.xml | 6 +-
share/regions/config_386.xml | 6 +-
share/regions/config_387.xml | 6 +-
share/regions/config_388.xml | 6 +-
share/regions/config_389.xml | 6 +-
share/regions/config_39.xml | 6 +-
share/regions/config_390.xml | 6 +-
share/regions/config_391.xml | 6 +-
share/regions/config_392.xml | 6 +-
share/regions/config_393.xml | 6 +-
share/regions/config_394.xml | 6 +-
share/regions/config_395.xml | 6 +-
share/regions/config_396.xml | 6 +-
share/regions/config_397.xml | 6 +-
share/regions/config_398.xml | 6 +-
share/regions/config_399.xml | 6 +-
share/regions/config_4.xml | 6 +-
share/regions/config_40.xml | 6 +-
share/regions/config_400.xml | 6 +-
share/regions/config_401.xml | 6 +-
share/regions/config_402.xml | 6 +-
share/regions/config_403.xml | 6 +-
share/regions/config_404.xml | 6 +-
share/regions/config_405.xml | 6 +-
share/regions/config_406.xml | 6 +-
share/regions/config_407.xml | 6 +-
share/regions/config_408.xml | 6 +-
share/regions/config_409.xml | 6 +-
share/regions/config_41.xml | 6 +-
share/regions/config_410.xml | 6 +-
share/regions/config_411.xml | 6 +-
share/regions/config_412.xml | 6 +-
share/regions/config_413.xml | 6 +-
share/regions/config_414.xml | 6 +-
share/regions/config_415.xml | 6 +-
share/regions/config_416.xml | 6 +-
share/regions/config_417.xml | 6 +-
share/regions/config_418.xml | 6 +-
share/regions/config_419.xml | 6 +-
share/regions/config_42.xml | 6 +-
share/regions/config_420.xml | 6 +-
share/regions/config_421.xml | 6 +-
share/regions/config_422.xml | 6 +-
share/regions/config_423.xml | 6 +-
share/regions/config_424.xml | 6 +-
share/regions/config_425.xml | 6 +-
share/regions/config_426.xml | 6 +-
share/regions/config_427.xml | 6 +-
share/regions/config_428.xml | 6 +-
share/regions/config_429.xml | 6 +-
share/regions/config_43.xml | 6 +-
share/regions/config_430.xml | 6 +-
share/regions/config_431.xml | 6 +-
share/regions/config_432.xml | 6 +-
share/regions/config_433.xml | 6 +-
share/regions/config_434.xml | 6 +-
share/regions/config_435.xml | 6 +-
share/regions/config_436.xml | 6 +-
share/regions/config_437.xml | 6 +-
share/regions/config_438.xml | 6 +-
share/regions/config_439.xml | 6 +-
share/regions/config_44.xml | 6 +-
share/regions/config_440.xml | 6 +-
share/regions/config_441.xml | 6 +-
share/regions/config_442.xml | 6 +-
share/regions/config_443.xml | 6 +-
share/regions/config_444.xml | 6 +-
share/regions/config_445.xml | 6 +-
share/regions/config_446.xml | 6 +-
share/regions/config_447.xml | 6 +-
share/regions/config_448.xml | 6 +-
share/regions/config_449.xml | 6 +-
share/regions/config_45.xml | 6 +-
share/regions/config_450.xml | 6 +-
share/regions/config_451.xml | 6 +-
share/regions/config_452.xml | 6 +-
share/regions/config_453.xml | 6 +-
share/regions/config_454.xml | 6 +-
share/regions/config_455.xml | 6 +-
share/regions/config_456.xml | 6 +-
share/regions/config_457.xml | 6 +-
share/regions/config_458.xml | 6 +-
share/regions/config_459.xml | 6 +-
share/regions/config_46.xml | 6 +-
share/regions/config_460.xml | 6 +-
share/regions/config_461.xml | 6 +-
share/regions/config_462.xml | 6 +-
share/regions/config_463.xml | 6 +-
share/regions/config_464.xml | 6 +-
share/regions/config_465.xml | 6 +-
share/regions/config_466.xml | 6 +-
share/regions/config_467.xml | 6 +-
share/regions/config_468.xml | 6 +-
share/regions/config_469.xml | 6 +-
share/regions/config_47.xml | 6 +-
share/regions/config_470.xml | 6 +-
share/regions/config_471.xml | 6 +-
share/regions/config_472.xml | 6 +-
share/regions/config_473.xml | 6 +-
share/regions/config_474.xml | 6 +-
share/regions/config_475.xml | 6 +-
share/regions/config_476.xml | 6 +-
share/regions/config_477.xml | 6 +-
share/regions/config_478.xml | 6 +-
share/regions/config_479.xml | 6 +-
share/regions/config_48.xml | 6 +-
share/regions/config_480.xml | 6 +-
share/regions/config_481.xml | 6 +-
share/regions/config_482.xml | 6 +-
share/regions/config_483.xml | 6 +-
share/regions/config_484.xml | 6 +-
share/regions/config_485.xml | 6 +-
share/regions/config_486.xml | 6 +-
share/regions/config_487.xml | 6 +-
share/regions/config_488.xml | 6 +-
share/regions/config_489.xml | 6 +-
share/regions/config_49.xml | 6 +-
share/regions/config_490.xml | 6 +-
share/regions/config_491.xml | 6 +-
share/regions/config_492.xml | 6 +-
share/regions/config_493.xml | 6 +-
share/regions/config_494.xml | 6 +-
share/regions/config_495.xml | 6 +-
share/regions/config_496.xml | 6 +-
share/regions/config_497.xml | 6 +-
share/regions/config_498.xml | 6 +-
share/regions/config_499.xml | 6 +-
share/regions/config_5.xml | 6 +-
share/regions/config_50.xml | 6 +-
share/regions/config_500.xml | 6 +-
share/regions/config_501.xml | 6 +-
share/regions/config_502.xml | 6 +-
share/regions/config_503.xml | 6 +-
share/regions/config_504.xml | 6 +-
share/regions/config_505.xml | 6 +-
share/regions/config_506.xml | 6 +-
share/regions/config_507.xml | 6 +-
share/regions/config_508.xml | 6 +-
share/regions/config_509.xml | 6 +-
share/regions/config_51.xml | 6 +-
share/regions/config_510.xml | 6 +-
share/regions/config_511.xml | 6 +-
share/regions/config_512.xml | 6 +-
share/regions/config_513.xml | 6 +-
share/regions/config_514.xml | 6 +-
share/regions/config_515.xml | 6 +-
share/regions/config_516.xml | 6 +-
share/regions/config_517.xml | 6 +-
share/regions/config_518.xml | 6 +-
share/regions/config_519.xml | 6 +-
share/regions/config_52.xml | 6 +-
share/regions/config_520.xml | 6 +-
share/regions/config_521.xml | 6 +-
share/regions/config_522.xml | 6 +-
share/regions/config_523.xml | 6 +-
share/regions/config_524.xml | 6 +-
share/regions/config_525.xml | 6 +-
share/regions/config_526.xml | 6 +-
share/regions/config_527.xml | 6 +-
share/regions/config_528.xml | 6 +-
share/regions/config_529.xml | 6 +-
share/regions/config_53.xml | 6 +-
share/regions/config_530.xml | 6 +-
share/regions/config_531.xml | 6 +-
share/regions/config_532.xml | 6 +-
share/regions/config_533.xml | 6 +-
share/regions/config_534.xml | 6 +-
share/regions/config_535.xml | 6 +-
share/regions/config_536.xml | 6 +-
share/regions/config_537.xml | 6 +-
share/regions/config_538.xml | 6 +-
share/regions/config_539.xml | 6 +-
share/regions/config_54.xml | 6 +-
share/regions/config_540.xml | 6 +-
share/regions/config_541.xml | 6 +-
share/regions/config_542.xml | 6 +-
share/regions/config_543.xml | 6 +-
share/regions/config_544.xml | 6 +-
share/regions/config_545.xml | 6 +-
share/regions/config_546.xml | 6 +-
share/regions/config_547.xml | 6 +-
share/regions/config_548.xml | 6 +-
share/regions/config_549.xml | 6 +-
share/regions/config_55.xml | 6 +-
share/regions/config_550.xml | 6 +-
share/regions/config_551.xml | 6 +-
share/regions/config_552.xml | 6 +-
share/regions/config_553.xml | 6 +-
share/regions/config_554.xml | 6 +-
share/regions/config_555.xml | 6 +-
share/regions/config_556.xml | 6 +-
share/regions/config_557.xml | 6 +-
share/regions/config_558.xml | 6 +-
share/regions/config_559.xml | 6 +-
share/regions/config_56.xml | 6 +-
share/regions/config_560.xml | 6 +-
share/regions/config_561.xml | 6 +-
share/regions/config_562.xml | 6 +-
share/regions/config_563.xml | 6 +-
share/regions/config_564.xml | 6 +-
share/regions/config_565.xml | 6 +-
share/regions/config_566.xml | 6 +-
share/regions/config_567.xml | 6 +-
share/regions/config_568.xml | 6 +-
share/regions/config_569.xml | 6 +-
share/regions/config_57.xml | 6 +-
share/regions/config_570.xml | 6 +-
share/regions/config_571.xml | 6 +-
share/regions/config_572.xml | 6 +-
share/regions/config_573.xml | 6 +-
share/regions/config_574.xml | 6 +-
share/regions/config_575.xml | 6 +-
share/regions/config_576.xml | 6 +-
share/regions/config_577.xml | 6 +-
share/regions/config_578.xml | 6 +-
share/regions/config_579.xml | 6 +-
share/regions/config_58.xml | 6 +-
share/regions/config_580.xml | 6 +-
share/regions/config_581.xml | 6 +-
share/regions/config_582.xml | 6 +-
share/regions/config_583.xml | 6 +-
share/regions/config_584.xml | 6 +-
share/regions/config_585.xml | 6 +-
share/regions/config_586.xml | 6 +-
share/regions/config_587.xml | 6 +-
share/regions/config_588.xml | 6 +-
share/regions/config_589.xml | 6 +-
share/regions/config_59.xml | 6 +-
share/regions/config_590.xml | 6 +-
share/regions/config_591.xml | 6 +-
share/regions/config_592.xml | 6 +-
share/regions/config_593.xml | 6 +-
share/regions/config_594.xml | 6 +-
share/regions/config_595.xml | 6 +-
share/regions/config_596.xml | 6 +-
share/regions/config_597.xml | 6 +-
share/regions/config_598.xml | 6 +-
share/regions/config_599.xml | 6 +-
share/regions/config_6.xml | 6 +-
share/regions/config_60.xml | 6 +-
share/regions/config_600.xml | 6 +-
share/regions/config_601.xml | 6 +-
share/regions/config_602.xml | 6 +-
share/regions/config_603.xml | 6 +-
share/regions/config_604.xml | 6 +-
share/regions/config_605.xml | 6 +-
share/regions/config_606.xml | 6 +-
share/regions/config_607.xml | 6 +-
share/regions/config_608.xml | 6 +-
share/regions/config_609.xml | 6 +-
share/regions/config_61.xml | 6 +-
share/regions/config_610.xml | 6 +-
share/regions/config_611.xml | 6 +-
share/regions/config_612.xml | 6 +-
share/regions/config_613.xml | 6 +-
share/regions/config_614.xml | 6 +-
share/regions/config_615.xml | 6 +-
share/regions/config_616.xml | 6 +-
share/regions/config_617.xml | 6 +-
share/regions/config_618.xml | 6 +-
share/regions/config_619.xml | 6 +-
share/regions/config_62.xml | 6 +-
share/regions/config_620.xml | 6 +-
share/regions/config_621.xml | 6 +-
share/regions/config_622.xml | 6 +-
share/regions/config_623.xml | 6 +-
share/regions/config_624.xml | 6 +-
share/regions/config_625.xml | 6 +-
share/regions/config_626.xml | 6 +-
share/regions/config_627.xml | 6 +-
share/regions/config_628.xml | 6 +-
share/regions/config_629.xml | 6 +-
share/regions/config_63.xml | 6 +-
share/regions/config_630.xml | 6 +-
share/regions/config_631.xml | 6 +-
share/regions/config_632.xml | 6 +-
share/regions/config_633.xml | 6 +-
share/regions/config_634.xml | 6 +-
share/regions/config_635.xml | 6 +-
share/regions/config_636.xml | 6 +-
share/regions/config_637.xml | 6 +-
share/regions/config_638.xml | 6 +-
share/regions/config_639.xml | 6 +-
share/regions/config_64.xml | 6 +-
share/regions/config_640.xml | 6 +-
share/regions/config_641.xml | 6 +-
share/regions/config_642.xml | 6 +-
share/regions/config_643.xml | 6 +-
share/regions/config_644.xml | 6 +-
share/regions/config_645.xml | 6 +-
share/regions/config_646.xml | 6 +-
share/regions/config_647.xml | 6 +-
share/regions/config_648.xml | 6 +-
share/regions/config_649.xml | 6 +-
share/regions/config_65.xml | 6 +-
share/regions/config_650.xml | 6 +-
share/regions/config_651.xml | 6 +-
share/regions/config_652.xml | 6 +-
share/regions/config_653.xml | 6 +-
share/regions/config_654.xml | 6 +-
share/regions/config_655.xml | 6 +-
share/regions/config_656.xml | 6 +-
share/regions/config_657.xml | 6 +-
share/regions/config_658.xml | 6 +-
share/regions/config_659.xml | 6 +-
share/regions/config_66.xml | 6 +-
share/regions/config_660.xml | 6 +-
share/regions/config_661.xml | 6 +-
share/regions/config_662.xml | 6 +-
share/regions/config_663.xml | 6 +-
share/regions/config_664.xml | 6 +-
share/regions/config_665.xml | 6 +-
share/regions/config_666.xml | 6 +-
share/regions/config_667.xml | 6 +-
share/regions/config_668.xml | 6 +-
share/regions/config_669.xml | 6 +-
share/regions/config_67.xml | 6 +-
share/regions/config_670.xml | 6 +-
share/regions/config_671.xml | 6 +-
share/regions/config_672.xml | 6 +-
share/regions/config_673.xml | 6 +-
share/regions/config_674.xml | 6 +-
share/regions/config_675.xml | 6 +-
share/regions/config_676.xml | 6 +-
share/regions/config_677.xml | 6 +-
share/regions/config_678.xml | 6 +-
share/regions/config_679.xml | 6 +-
share/regions/config_68.xml | 6 +-
share/regions/config_680.xml | 6 +-
share/regions/config_681.xml | 6 +-
share/regions/config_682.xml | 6 +-
share/regions/config_683.xml | 6 +-
share/regions/config_684.xml | 6 +-
share/regions/config_685.xml | 6 +-
share/regions/config_686.xml | 6 +-
share/regions/config_687.xml | 6 +-
share/regions/config_688.xml | 6 +-
share/regions/config_689.xml | 6 +-
share/regions/config_69.xml | 6 +-
share/regions/config_690.xml | 6 +-
share/regions/config_691.xml | 6 +-
share/regions/config_692.xml | 6 +-
share/regions/config_693.xml | 6 +-
share/regions/config_694.xml | 6 +-
share/regions/config_695.xml | 6 +-
share/regions/config_696.xml | 6 +-
share/regions/config_697.xml | 6 +-
share/regions/config_698.xml | 6 +-
share/regions/config_699.xml | 6 +-
share/regions/config_7.xml | 6 +-
share/regions/config_70.xml | 6 +-
share/regions/config_700.xml | 6 +-
share/regions/config_701.xml | 6 +-
share/regions/config_702.xml | 6 +-
share/regions/config_703.xml | 6 +-
share/regions/config_704.xml | 6 +-
share/regions/config_705.xml | 6 +-
share/regions/config_706.xml | 6 +-
share/regions/config_707.xml | 6 +-
share/regions/config_708.xml | 6 +-
share/regions/config_709.xml | 6 +-
share/regions/config_71.xml | 6 +-
share/regions/config_710.xml | 6 +-
share/regions/config_711.xml | 6 +-
share/regions/config_712.xml | 6 +-
share/regions/config_713.xml | 6 +-
share/regions/config_714.xml | 6 +-
share/regions/config_715.xml | 6 +-
share/regions/config_716.xml | 6 +-
share/regions/config_717.xml | 6 +-
share/regions/config_718.xml | 6 +-
share/regions/config_719.xml | 6 +-
share/regions/config_72.xml | 6 +-
share/regions/config_720.xml | 6 +-
share/regions/config_721.xml | 6 +-
share/regions/config_722.xml | 6 +-
share/regions/config_723.xml | 6 +-
share/regions/config_724.xml | 6 +-
share/regions/config_725.xml | 6 +-
share/regions/config_726.xml | 6 +-
share/regions/config_727.xml | 6 +-
share/regions/config_728.xml | 6 +-
share/regions/config_729.xml | 6 +-
share/regions/config_73.xml | 6 +-
share/regions/config_730.xml | 6 +-
share/regions/config_731.xml | 6 +-
share/regions/config_732.xml | 6 +-
share/regions/config_733.xml | 6 +-
share/regions/config_734.xml | 6 +-
share/regions/config_735.xml | 6 +-
share/regions/config_736.xml | 6 +-
share/regions/config_737.xml | 6 +-
share/regions/config_738.xml | 6 +-
share/regions/config_739.xml | 6 +-
share/regions/config_74.xml | 6 +-
share/regions/config_740.xml | 6 +-
share/regions/config_741.xml | 6 +-
share/regions/config_742.xml | 6 +-
share/regions/config_743.xml | 6 +-
share/regions/config_744.xml | 6 +-
share/regions/config_745.xml | 6 +-
share/regions/config_746.xml | 6 +-
share/regions/config_747.xml | 6 +-
share/regions/config_748.xml | 6 +-
share/regions/config_749.xml | 6 +-
share/regions/config_75.xml | 6 +-
share/regions/config_750.xml | 6 +-
share/regions/config_751.xml | 6 +-
share/regions/config_752.xml | 6 +-
share/regions/config_753.xml | 6 +-
share/regions/config_754.xml | 6 +-
share/regions/config_755.xml | 6 +-
share/regions/config_756.xml | 6 +-
share/regions/config_757.xml | 6 +-
share/regions/config_758.xml | 6 +-
share/regions/config_759.xml | 6 +-
share/regions/config_76.xml | 6 +-
share/regions/config_760.xml | 6 +-
share/regions/config_761.xml | 6 +-
share/regions/config_762.xml | 6 +-
share/regions/config_763.xml | 6 +-
share/regions/config_764.xml | 6 +-
share/regions/config_765.xml | 6 +-
share/regions/config_766.xml | 6 +-
share/regions/config_767.xml | 6 +-
share/regions/config_768.xml | 6 +-
share/regions/config_769.xml | 6 +-
share/regions/config_77.xml | 6 +-
share/regions/config_770.xml | 6 +-
share/regions/config_771.xml | 6 +-
share/regions/config_772.xml | 6 +-
share/regions/config_773.xml | 6 +-
share/regions/config_774.xml | 6 +-
share/regions/config_775.xml | 6 +-
share/regions/config_776.xml | 6 +-
share/regions/config_777.xml | 6 +-
share/regions/config_778.xml | 6 +-
share/regions/config_779.xml | 6 +-
share/regions/config_78.xml | 6 +-
share/regions/config_780.xml | 6 +-
share/regions/config_781.xml | 6 +-
share/regions/config_782.xml | 6 +-
share/regions/config_783.xml | 6 +-
share/regions/config_784.xml | 6 +-
share/regions/config_785.xml | 6 +-
share/regions/config_786.xml | 6 +-
share/regions/config_787.xml | 6 +-
share/regions/config_788.xml | 6 +-
share/regions/config_789.xml | 6 +-
share/regions/config_79.xml | 6 +-
share/regions/config_790.xml | 6 +-
share/regions/config_791.xml | 6 +-
share/regions/config_792.xml | 6 +-
share/regions/config_793.xml | 6 +-
share/regions/config_794.xml | 6 +-
share/regions/config_795.xml | 6 +-
share/regions/config_796.xml | 6 +-
share/regions/config_797.xml | 6 +-
share/regions/config_798.xml | 6 +-
share/regions/config_799.xml | 6 +-
share/regions/config_8.xml | 6 +-
share/regions/config_80.xml | 6 +-
share/regions/config_800.xml | 6 +-
share/regions/config_801.xml | 6 +-
share/regions/config_802.xml | 6 +-
share/regions/config_803.xml | 6 +-
share/regions/config_804.xml | 6 +-
share/regions/config_805.xml | 6 +-
share/regions/config_806.xml | 6 +-
share/regions/config_807.xml | 6 +-
share/regions/config_808.xml | 6 +-
share/regions/config_809.xml | 6 +-
share/regions/config_81.xml | 6 +-
share/regions/config_810.xml | 6 +-
share/regions/config_811.xml | 6 +-
share/regions/config_812.xml | 6 +-
share/regions/config_813.xml | 6 +-
share/regions/config_814.xml | 6 +-
share/regions/config_815.xml | 6 +-
share/regions/config_816.xml | 6 +-
share/regions/config_817.xml | 6 +-
share/regions/config_818.xml | 6 +-
share/regions/config_819.xml | 6 +-
share/regions/config_82.xml | 6 +-
share/regions/config_820.xml | 6 +-
share/regions/config_821.xml | 6 +-
share/regions/config_822.xml | 6 +-
share/regions/config_823.xml | 6 +-
share/regions/config_824.xml | 6 +-
share/regions/config_825.xml | 6 +-
share/regions/config_826.xml | 6 +-
share/regions/config_827.xml | 6 +-
share/regions/config_828.xml | 6 +-
share/regions/config_829.xml | 6 +-
share/regions/config_83.xml | 6 +-
share/regions/config_830.xml | 6 +-
share/regions/config_831.xml | 6 +-
share/regions/config_832.xml | 6 +-
share/regions/config_833.xml | 6 +-
share/regions/config_834.xml | 6 +-
share/regions/config_835.xml | 6 +-
share/regions/config_836.xml | 6 +-
share/regions/config_837.xml | 6 +-
share/regions/config_838.xml | 6 +-
share/regions/config_839.xml | 6 +-
share/regions/config_84.xml | 6 +-
share/regions/config_840.xml | 6 +-
share/regions/config_841.xml | 6 +-
share/regions/config_842.xml | 6 +-
share/regions/config_843.xml | 6 +-
share/regions/config_844.xml | 6 +-
share/regions/config_845.xml | 6 +-
share/regions/config_846.xml | 6 +-
share/regions/config_847.xml | 6 +-
share/regions/config_848.xml | 6 +-
share/regions/config_849.xml | 6 +-
share/regions/config_85.xml | 6 +-
share/regions/config_850.xml | 6 +-
share/regions/config_851.xml | 6 +-
share/regions/config_852.xml | 6 +-
share/regions/config_853.xml | 6 +-
share/regions/config_854.xml | 6 +-
share/regions/config_855.xml | 6 +-
share/regions/config_856.xml | 6 +-
share/regions/config_857.xml | 6 +-
share/regions/config_858.xml | 6 +-
share/regions/config_859.xml | 6 +-
share/regions/config_86.xml | 6 +-
share/regions/config_860.xml | 6 +-
share/regions/config_861.xml | 6 +-
share/regions/config_862.xml | 6 +-
share/regions/config_863.xml | 6 +-
share/regions/config_864.xml | 6 +-
share/regions/config_865.xml | 6 +-
share/regions/config_866.xml | 6 +-
share/regions/config_867.xml | 6 +-
share/regions/config_868.xml | 6 +-
share/regions/config_869.xml | 6 +-
share/regions/config_87.xml | 6 +-
share/regions/config_870.xml | 6 +-
share/regions/config_871.xml | 6 +-
share/regions/config_872.xml | 6 +-
share/regions/config_873.xml | 6 +-
share/regions/config_874.xml | 6 +-
share/regions/config_875.xml | 6 +-
share/regions/config_876.xml | 6 +-
share/regions/config_877.xml | 6 +-
share/regions/config_878.xml | 6 +-
share/regions/config_879.xml | 6 +-
share/regions/config_88.xml | 6 +-
share/regions/config_880.xml | 6 +-
share/regions/config_881.xml | 6 +-
share/regions/config_882.xml | 6 +-
share/regions/config_883.xml | 6 +-
share/regions/config_884.xml | 6 +-
share/regions/config_885.xml | 6 +-
share/regions/config_886.xml | 6 +-
share/regions/config_887.xml | 6 +-
share/regions/config_888.xml | 6 +-
share/regions/config_889.xml | 6 +-
share/regions/config_89.xml | 6 +-
share/regions/config_890.xml | 6 +-
share/regions/config_891.xml | 6 +-
share/regions/config_892.xml | 6 +-
share/regions/config_893.xml | 6 +-
share/regions/config_894.xml | 6 +-
share/regions/config_895.xml | 6 +-
share/regions/config_896.xml | 6 +-
share/regions/config_897.xml | 6 +-
share/regions/config_898.xml | 6 +-
share/regions/config_899.xml | 6 +-
share/regions/config_9.xml | 6 +-
share/regions/config_90.xml | 6 +-
share/regions/config_900.xml | 6 +-
share/regions/config_901.xml | 6 +-
share/regions/config_902.xml | 6 +-
share/regions/config_903.xml | 6 +-
share/regions/config_904.xml | 6 +-
share/regions/config_905.xml | 6 +-
share/regions/config_906.xml | 6 +-
share/regions/config_907.xml | 6 +-
share/regions/config_908.xml | 6 +-
share/regions/config_909.xml | 6 +-
share/regions/config_91.xml | 6 +-
share/regions/config_910.xml | 6 +-
share/regions/config_911.xml | 6 +-
share/regions/config_912.xml | 6 +-
share/regions/config_913.xml | 6 +-
share/regions/config_914.xml | 6 +-
share/regions/config_915.xml | 6 +-
share/regions/config_916.xml | 6 +-
share/regions/config_917.xml | 6 +-
share/regions/config_918.xml | 6 +-
share/regions/config_919.xml | 6 +-
share/regions/config_92.xml | 6 +-
share/regions/config_920.xml | 6 +-
share/regions/config_921.xml | 6 +-
share/regions/config_922.xml | 6 +-
share/regions/config_923.xml | 6 +-
share/regions/config_924.xml | 6 +-
share/regions/config_925.xml | 6 +-
share/regions/config_926.xml | 6 +-
share/regions/config_927.xml | 6 +-
share/regions/config_928.xml | 6 +-
share/regions/config_929.xml | 6 +-
share/regions/config_93.xml | 6 +-
share/regions/config_930.xml | 6 +-
share/regions/config_931.xml | 6 +-
share/regions/config_932.xml | 6 +-
share/regions/config_933.xml | 6 +-
share/regions/config_934.xml | 6 +-
share/regions/config_935.xml | 6 +-
share/regions/config_936.xml | 6 +-
share/regions/config_937.xml | 6 +-
share/regions/config_938.xml | 6 +-
share/regions/config_939.xml | 6 +-
share/regions/config_94.xml | 6 +-
share/regions/config_940.xml | 6 +-
share/regions/config_941.xml | 6 +-
share/regions/config_942.xml | 6 +-
share/regions/config_943.xml | 6 +-
share/regions/config_944.xml | 6 +-
share/regions/config_945.xml | 6 +-
share/regions/config_946.xml | 6 +-
share/regions/config_947.xml | 6 +-
share/regions/config_948.xml | 6 +-
share/regions/config_949.xml | 6 +-
share/regions/config_95.xml | 6 +-
share/regions/config_950.xml | 6 +-
share/regions/config_951.xml | 6 +-
share/regions/config_952.xml | 6 +-
share/regions/config_953.xml | 6 +-
share/regions/config_954.xml | 6 +-
share/regions/config_955.xml | 6 +-
share/regions/config_956.xml | 6 +-
share/regions/config_957.xml | 6 +-
share/regions/config_958.xml | 6 +-
share/regions/config_959.xml | 6 +-
share/regions/config_96.xml | 6 +-
share/regions/config_960.xml | 6 +-
share/regions/config_961.xml | 6 +-
share/regions/config_962.xml | 6 +-
share/regions/config_963.xml | 6 +-
share/regions/config_964.xml | 6 +-
share/regions/config_965.xml | 6 +-
share/regions/config_966.xml | 6 +-
share/regions/config_967.xml | 6 +-
share/regions/config_968.xml | 6 +-
share/regions/config_969.xml | 6 +-
share/regions/config_97.xml | 6 +-
share/regions/config_970.xml | 6 +-
share/regions/config_971.xml | 6 +-
share/regions/config_972.xml | 6 +-
share/regions/config_973.xml | 6 +-
share/regions/config_974.xml | 6 +-
share/regions/config_975.xml | 6 +-
share/regions/config_976.xml | 6 +-
share/regions/config_977.xml | 6 +-
share/regions/config_978.xml | 6 +-
share/regions/config_979.xml | 6 +-
share/regions/config_98.xml | 6 +-
share/regions/config_980.xml | 6 +-
share/regions/config_981.xml | 6 +-
share/regions/config_982.xml | 6 +-
share/regions/config_983.xml | 6 +-
share/regions/config_984.xml | 6 +-
share/regions/config_985.xml | 6 +-
share/regions/config_986.xml | 6 +-
share/regions/config_987.xml | 6 +-
share/regions/config_988.xml | 6 +-
share/regions/config_989.xml | 6 +-
share/regions/config_99.xml | 6 +-
share/regions/config_990.xml | 6 +-
share/regions/config_991.xml | 6 +-
share/regions/config_992.xml | 6 +-
share/regions/config_993.xml | 6 +-
share/regions/config_994.xml | 6 +-
share/regions/config_995.xml | 6 +-
share/regions/config_996.xml | 6 +-
share/regions/config_997.xml | 6 +-
share/regions/config_998.xml | 6 +-
share/regions/config_999.xml | 6 +-
share/sql/mysql-inventoryfolders.sql | 18 +-
share/sql/mysql-inventoryitems.sql | 28 +-
share/sql/mysql-reservations.txt | 32 +-
1462 files changed, 82970 insertions(+), 82969 deletions(-)
diff --git a/OpenSim.FxCop b/OpenSim.FxCop
index 1e2ea2d..d07c26e 100644
--- a/OpenSim.FxCop
+++ b/OpenSim.FxCop
@@ -1,7241 +1,7241 @@
-
-
-
- True
- http://www.gotdotnet.com/team/fxcop//xsl/1.35/FxCopReport.xsl
-
-
-
-
-
- True
- True
- True
- 10
- 1
-
- False
- False
-
- False
- 120
-
-
-
- $(ProjectDir)/lib/
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Sim
- - OpenSim
-
-
-
-
-
-
-
-
- - Sim
- - OpenSim.Assets
-
-
-
-
-
-
-
-
- - OpenSim.CAPS
-
-
-
-
- - Sim
- - OpenSim.CAPS
-
-
-
-
- - OpenSim.CAPS
-
-
-
-
-
-
-
-
- - Sim
- - OpenSim.Config.SimConfigDb4o
-
-
- - Sim
- - OpenSim.Config.SimConfigDb4o
-
-
-
-
-
-
-
-
- - OpenSim.Framework.Assets
-
-
-
-
- - Sim
- - OpenSim.Framework.Assets
-
-
-
-
-
-
-
-
- - Sim
- - OpenSim.Framework.Console
-
-
-
-
-
-
-
-
- - OpenSim.Framework.Grid
-
-
-
-
- - Sim
- - OpenSim.Framework.Grid
-
-
-
-
-
-
-
-
- - Sim
- - OpenSim.Framework.Interfaces
-
-
-
-
-
-
-
-
- - OpenSim.Framework.Inventory
-
-
-
-
- - Sim
- - OpenSim.Framework.Inventory
-
-
-
-
-
-
-
-
- - OpenSim.Framework.Sims
-
-
-
-
- - Sim
- - OpenSim.Framework.Sims
-
-
-
-
-
-
-
-
- - OpenSim.Framework.Terrain
-
-
-
-
- - Sim
- - OpenSim.Framework.Terrain
-
-
-
-
-
-
-
-
- - OpenSim.Framework.User
-
-
-
-
- - Sim
- - OpenSim.Framework.User
-
-
-
-
-
-
-
-
- - OpenSim.Framework.Utilities
-
-
-
-
- - Sim
- - OpenSim.Framework.Utilities
-
-
-
-
-
-
-
-
- - Sim
- - OpenSim.GridInterfaces.Local
-
-
-
-
-
-
-
-
- - OpenSim.GridInterfaces.Remote
-
-
-
-
- - Sim
- - OpenSim.GridInterfaces.Remote
-
-
-
-
-
-
-
-
- - Plugin
- - OpenSim.Physics.BasicPhysicsPlugin
-
-
-
-
- - Sim
- - OpenSim.Physics.BasicPhysicsPlugin
-
-
-
-
-
-
-
-
- - Sim
- - OpenSim.Physics.Manager
-
-
-
-
-
-
-
-
- - OpenSim.Physics.OdePlugin
-
-
-
-
- - Plugin
- - OpenSim.Physics.OdePlugin
-
-
-
-
- - Sim
- - OpenSim.Physics.OdePlugin
-
-
-
-
-
-
-
-
- - OpenSim.Physics.PhysXPlugin
-
-
-
-
- - Plugin
- - OpenSim.Physics.PhysXPlugin
-
-
-
-
- - Sim
- - OpenSim.Physics.PhysXPlugin
-
-
-
-
-
-
-
-
- - Sim
- - OpenSim.Storage.LocalStorageDb4o
-
-
-
-
-
-
-
-
- - OpenSim.types
-
-
-
-
- - OpenSim.types
-
-
-
-
- - Sim
- - OpenSim.types
-
-
-
-
-
-
-
-
- - OpenSim.UserServer
-
-
-
-
- - Sim
- - OpenSim.UserServer
-
-
-
-
-
-
-
-
- - OpenSim.world
-
-
-
-
- - Sim
- - OpenSim.world
-
-
-
-
-
-
-
-
- - OpenSim.world.scripting
-
-
-
-
- - OpenSim.world.scripting
-
-
- - OpenSim.world.scripting
-
-
-
-
- - Sim
- - OpenSim.world.scripting
-
-
-
-
-
-
-
-
-
-
-
-
- - OpenGridServices.ServerConsole
-
-
-
-
- - OpenGridServices.ServerConsole
-
-
-
-
- - OpenGridServices.ServerConsole
-
-
-
-
-
-
-
-
-
-
- - conscmd_callback
-
-
-
-
- - conscmd
- - ServerConsole.conscmd_callback
-
-
-
-
- - conscmd_callback
-
-
-
-
-
-
-
-
- - conscmd_callback.RunCmd(String, String[]):Void
- - cmdparams
- - cmdparams
-
-
-
-
-
-
-
-
- - ShowWhat
-
-
-
-
-
-
-
-
-
-
-
-
- - ConsoleBase.CmdPrompt(String, String):String
- - defaultresponse
- - defaultresponse
-
-
-
-
-
-
-
-
- - OptionA
-
-
-
-
- - OptionB
-
-
-
-
- - ConsoleBase.CmdPrompt(String, String, String, String):String
- - defaultresponse
- - defaultresponse
-
-
-
-
-
-
-
-
- - Passwd
- - ConsoleBase.PasswdPrompt(String):String
-
-
-
-
-
-
-
-
- - Cmd
-
-
-
-
- - ConsoleBase.RunCmd(String, String[]):Object
- - cmdparams
- - cmdparams
-
-
-
-
-
-
-
-
- - ShowWhat
-
-
-
-
-
-
-
-
- - Line
-
-
-
-
-
-
-
-
- - Line
-
-
-
-
-
-
-
-
-
-
-
-
- - Sim
- - ConsoleType.SimChat
-
-
-
-
-
-
-
-
- - ConsoleType.TCP
-
-
-
-
-
-
-
-
-
-
- - MainConsole
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - OpenSim.Config.SimConfigDb4o
-
-
-
-
- - OpenSim.Config.SimConfigDb4o
-
-
-
-
- - OpenSim.Config.SimConfigDb4o
-
-
-
-
-
-
-
-
-
-
- - Plugin
- - OpenSim.Config.SimConfigDb4o.Db40ConfigPlugin
-
-
-
-
-
-
-
-
- - Sim
- - OpenSim.Config.SimConfigDb4o.DbSimConfig
-
-
-
-
- - Db
- - OpenSim.Config.SimConfigDb4o.DbSimConfig
-
-
-
-
-
-
-
-
- - DbSimConfig.InitConfig(Boolean):Void
- - System.Exception
-
-
-
-
- - DbSimConfig.InitConfig(Boolean):Void
- - System.UInt32.ToString
- - System.UInt32.ToString(System.IFormatProvider)
-
-
-
-
- - DbSimConfig.InitConfig(Boolean):Void
- - System.UInt64.ToString
- - System.UInt64.ToString(System.IFormatProvider)
-
-
-
-
-
-
-
-
- - DbSimConfig.LoadDefaults():Void
- - System.Convert.ToInt32(System.String)
- - System.Convert.ToInt32(System.String,System.IFormatProvider)
-
-
- - DbSimConfig.LoadDefaults():Void
- - System.Convert.ToInt32(System.String)
- - System.Convert.ToInt32(System.String,System.IFormatProvider)
-
-
- - DbSimConfig.LoadDefaults():Void
- - System.Convert.ToInt32(System.String)
- - System.Convert.ToInt32(System.String,System.IFormatProvider)
-
-
-
-
-
-
-
-
-
-
-
-
- - Map
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - OpenSim
-
-
-
-
- - OpenSim
-
-
-
-
- - OpenSim
-
-
-
-
- - OpenSim
-
-
-
-
- - OpenSim
-
-
-
-
-
-
-
-
-
-
-
-
- - 'args'
- - RegionServer.Main(String[]):Void
-
-
- - 'args'
- - RegionServer.Main(String[]):Void
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - OpenSim.Framework.Console
-
-
-
-
- - OpenSim.Framework.Console
-
-
-
-
- - OpenSim.Framework.Console
-
-
-
-
-
-
-
-
-
-
-
-
- - ConsoleBase.CmdPrompt(String, String):String
- - defaultresponse
- - defaultresponse
-
-
-
-
-
-
-
-
- - OptionA
-
-
-
-
- - OptionB
-
-
-
-
- - ConsoleBase.CmdPrompt(String, String, String, String):String
- - defaultresponse
- - defaultresponse
-
-
-
-
-
-
-
-
- - Cmd
-
-
-
-
- - ConsoleBase.RunCmd(String, String[]):Object
- - cmdparams
- - cmdparams
-
-
-
-
-
-
-
-
- - ShowWhat
-
-
-
-
-
-
-
-
-
-
-
-
- - Sim
- - ConsoleType.SimChat
-
-
-
-
-
-
-
-
- - ConsoleType.TCP
-
-
-
-
-
-
-
-
-
-
- - MainConsole
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - OpenSim.Framework
-
-
-
-
- - OpenSim.Framework
-
-
-
-
- - OpenSim.Framework
-
-
-
-
-
-
-
-
-
-
-
-
- - Data
-
-
-
-
-
-
-
-
- - Description
-
-
-
-
-
-
-
-
- - FullID
-
-
-
-
-
-
-
-
- - InvType
-
-
-
-
-
-
-
-
- - Name
-
-
-
-
-
-
-
-
- - Type
-
-
-
-
-
-
-
-
-
-
-
-
- - PrimData.PrimData()
- - ParentID
- - System.UInt32
- - 0
-
-
-
-
-
-
-
-
- - FullID
-
-
-
-
-
-
-
-
- - LocalID
-
-
-
-
-
-
-
-
- - OwnerID
-
-
-
-
-
-
-
-
- - ParentID
-
-
-
-
-
-
-
-
- - PathBegin
-
-
-
-
-
-
-
-
- - PathCurve
-
-
-
-
-
-
-
-
- - PathEnd
-
-
-
-
-
-
-
-
- - PathRadiusOffset
-
-
-
-
-
-
-
-
- - PathRevolutions
-
-
-
-
-
-
-
-
- - PathScaleX
-
-
-
-
-
-
-
-
- - PathScaleY
-
-
-
-
-
-
-
-
- - PathShearX
-
-
-
-
-
-
-
-
- - PathShearY
-
-
-
-
-
-
-
-
- - PathSkew
-
-
-
-
-
-
-
-
- - PathTaperX
-
-
-
-
-
-
-
-
- - PathTaperY
-
-
-
-
-
-
-
-
- - PathTwist
-
-
-
-
-
-
-
-
- - PathTwistBegin
-
-
-
-
-
-
-
-
- - PCode
-
-
-
-
-
-
-
-
- - Position
-
-
-
-
-
-
-
-
- - ProfileBegin
-
-
-
-
-
-
-
-
- - ProfileCurve
-
-
-
-
-
-
-
-
- - ProfileEnd
-
-
-
-
-
-
-
-
- - ProfileHollow
-
-
-
-
-
-
-
-
- - Rotation
-
-
-
-
-
-
-
-
- - Scale
-
-
-
-
-
-
-
-
- - Texture
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Login
- - LoginService
- - LogOn
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - AgentID
-
-
-
-
-
-
-
-
- - circuitcode
-
-
-
-
- - circuitcode
- - AgentCircuitData.circuitcode
-
-
-
-
-
-
-
-
- - firstname
-
-
-
-
- - firstname
- - AgentCircuitData.firstname
-
-
-
-
-
-
-
-
- - lastname
-
-
-
-
- - lastname
- - AgentCircuitData.lastname
-
-
-
-
-
-
-
-
- - SecureSessionID
-
-
-
-
-
-
-
-
- - SessionID
-
-
-
-
-
-
-
-
-
-
- - OpenSim.Framework.Interfaces.ARequest
-
-
- - OpenSim.Framework.Interfaces.ARequest
-
-
-
-
-
-
-
-
- - AssetID
-
-
-
-
-
-
-
-
- - IsTexture
-
-
-
-
-
-
-
-
-
-
-
-
- - Authorised
-
-
-
-
- - Authorised
- - AuthenticateResponse.Authorised
-
-
-
-
-
-
-
-
- - LoginInfo
-
-
-
-
- - Login
- - LoginInfo
- - LogOn
-
-
-
-
-
-
-
-
-
-
- - Plugin
- - OpenSim.Framework.Interfaces.IAssetPlugin
-
-
-
-
-
-
-
-
- - GetAssetServer
-
-
-
-
-
-
-
-
-
-
-
-
- - IsTexture
-
-
-
-
-
-
-
-
-
-
-
-
- - ID
- - assetID
- - Id
-
-
-
-
-
-
-
-
- - ServerUrl
-
-
-
-
- - ServerKey
-
-
-
-
- - ServerUrl
- - IAssetServer.SetServerInfo(String, String):Void
-
-
-
-
-
-
-
-
-
-
- - Plugin
- - OpenSim.Framework.Interfaces.IGridPlugin
-
-
-
-
-
-
-
-
- - GetGridServer
-
-
-
-
-
-
-
-
-
-
-
-
- - ID
- - sessionID
- - Id
-
-
-
-
- - ID
- - agentID
- - Id
-
-
-
-
-
-
-
-
- - GetName
-
-
-
-
-
-
-
-
- - ID
- - sessionID
- - Id
-
-
-
-
- - ID
- - agentID
- - Id
-
-
-
-
- - Logout
- - LogoutSession
- - LogOff
-
-
-
-
-
-
-
-
- - Neighbours
- - IGridServer.RequestNeighbours():NeighbourInfo[]
-
-
-
-
-
-
-
-
- - IGridServer.RequestUUIDBlock():UUIDBlock
-
-
-
-
-
-
-
-
- - ServerUrl
-
-
-
-
- - SendKey
-
-
-
-
- - RecvKey
-
-
-
-
- - IGridServer.SetServerInfo(String, String, String):Void
- - Recv
- - RecvKey
-
-
-
-
- - ServerUrl
- - IGridServer.SetServerInfo(String, String, String):Void
-
-
-
-
-
-
-
-
-
-
-
-
- - ID
- - primID
- - Id
-
-
-
-
-
-
-
-
- - ShutDown
- - method
- - ShutDown
- - Shutdown
-
-
-
-
-
-
-
-
-
-
- - Sim
- - OpenSim.Framework.Interfaces.ISimConfig
-
-
-
-
-
-
-
-
- - GetConfigObject
-
-
-
-
-
-
-
-
-
-
-
-
- - ID
- - agentID
- - Id
-
-
-
-
-
-
-
-
- - ServerUrl
-
-
-
-
- - SendKey
-
-
-
-
- - RecvKey
-
-
-
-
- - IUserServer.SetServerInfo(String, String, String):Void
- - Recv
- - RecvKey
-
-
-
-
- - ServerUrl
- - IUserServer.SetServerInfo(String, String, String):Void
-
-
-
-
-
-
-
-
-
-
-
-
- - Logout
- - LogoutSession
- - LogOff
-
-
-
-
-
-
-
-
-
-
- - Login
- - Login
- - LogOn
-
-
-
-
-
-
-
-
- - Agent
-
-
-
-
-
-
-
-
- - BaseFolder
-
-
-
-
-
-
-
-
- - First
-
-
-
-
-
-
-
-
- - InventoryFolder
-
-
-
-
-
-
-
-
- - Last
-
-
-
-
-
-
-
-
- - SecureSession
-
-
-
-
-
-
-
-
- - Session
-
-
-
-
-
-
-
-
-
-
- - Neighbour
- - OpenSim.Framework.Interfaces.NeighbourInfo
-
-
-
-
-
-
-
-
- - regionhandle
-
-
-
-
- - regionhandle
- - NeighbourInfo.regionhandle
-
-
-
-
-
-
-
-
- - RegionLocX
-
-
-
-
-
-
-
-
- - RegionLocY
-
-
-
-
-
-
-
-
- - sim_ip
-
-
-
-
- - sim
- - NeighbourInfo.sim_ip
-
-
-
-
- - sim_ip
-
-
-
-
-
-
-
-
- - sim_port
-
-
-
-
- - sim
- - NeighbourInfo.sim_port
-
-
-
-
- - sim_port
-
-
-
-
-
-
-
-
-
-
-
-
- - agentcircuits
-
-
-
-
- - agentcircuits
-
-
-
-
- - agentcircuits
- - RemoteGridBase.agentcircuits:Dictionary`2<System.UInt32,OpenSim.Framework.Interfaces.AgentCircuitData>
-
-
-
-
-
-
-
-
- - Logout
- - LogoutSession
- - LogOff
-
-
-
-
-
-
-
-
-
-
- - Sim
- - OpenSim.Framework.Interfaces.SimConfig
-
-
-
-
-
-
-
-
- - AssetSendKey
-
-
-
-
-
-
-
-
- - AssetURL
-
-
-
-
-
-
-
-
- - GridRecvKey
-
-
-
-
- - Recv
- - SimConfig.GridRecvKey
-
-
-
-
-
-
-
-
- - GridSendKey
-
-
-
-
-
-
-
-
- - GridURL
-
-
-
-
-
-
-
-
- - IPListenAddr
-
-
-
-
- - Addr
- - SimConfig.IPListenAddr
-
-
-
-
-
-
-
-
- - IPListenPort
-
-
-
-
-
-
-
-
- - RegionHandle
-
-
-
-
-
-
-
-
- - RegionLocX
-
-
-
-
-
-
-
-
- - RegionLocY
-
-
-
-
-
-
-
-
- - RegionName
-
-
-
-
-
-
-
-
- - SimConfig.SaveMap(Single[]):Void
- - heightmap
- - heightmap
-
-
-
-
-
-
-
-
- - UserRecvKey
-
-
-
-
- - Recv
- - SimConfig.UserRecvKey
-
-
-
-
-
-
-
-
- - UserSendKey
-
-
-
-
-
-
-
-
- - UserURL
-
-
-
-
-
-
-
-
-
-
- - UUIDBlock
-
-
-
-
- - OpenSim.Framework.Interfaces.UUIDBlock
-
-
- - OpenSim.Framework.Interfaces.UUIDBlock
-
-
-
-
-
-
-
-
- - BlockEnd
-
-
-
-
-
-
-
-
- - BlockStart
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - AgentInventory.AgentInventory()
- -
AgentInventory.AgentInventory()
AgentInventory.Initialise():Void
-
-
-
-
-
-
-
-
- - ID
- - folderID
- - Id
-
-
-
-
-
-
-
-
- - AgentID
-
-
-
-
-
-
-
-
- - ID
- - folderID
- - Id
-
-
-
-
-
-
-
-
- - Initialise
- - AgentInventory.Initialise():Void
-
-
-
-
-
-
-
-
- - InventoryFolders
-
-
-
-
-
-
-
-
- - InventoryItems
-
-
-
-
-
-
-
-
- - InventoryRoot
-
-
-
-
-
-
-
-
- - LastCached
-
-
-
-
-
-
-
-
- - ID
- - itemID
- - Id
-
-
-
-
-
-
-
-
- - Wearables
-
-
-
-
- - Wearables
- - AgentInventory.Wearables
-
-
-
-
-
-
-
-
-
-
-
-
- - AssetID
-
-
-
-
-
-
-
-
- - ItemID
-
-
-
-
-
-
-
-
-
-
-
-
- - DefaultType
-
-
-
-
-
-
-
-
- - FolderID
-
-
-
-
-
-
-
-
- - FolderName
-
-
-
-
-
-
-
-
- - Items
-
-
-
-
- - System.Collections.Generic.List`1<OpenSim.Framework.Inventory.InventoryItem>
- - InventoryFolder.Items
-
-
-
-
-
-
-
-
- - OwnerID
-
-
-
-
-
-
-
-
- - ParentID
-
-
-
-
-
-
-
-
- - Version
-
-
-
-
-
-
-
-
-
-
-
-
- - AssetID
-
-
-
-
-
-
-
-
- - CreatorID
-
-
-
-
-
-
-
-
- - Description
-
-
-
-
-
-
-
-
- - FolderID
-
-
-
-
-
-
-
-
- - InvType
-
-
-
-
-
-
-
-
- - ItemID
-
-
-
-
-
-
-
-
- - Name
-
-
-
-
-
-
-
-
- - OwnerID
-
-
-
-
-
-
-
-
- - Type
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Sim
- - OpenSim.Framework.Sims.SimProfile
-
-
-
-
-
-
-
-
- - SimProfile.LoadFromGrid(UInt64, String, String, String):SimProfile
- - System.Exception
-
-
-
-
- - GridURL
-
-
-
-
- - SendKey
-
-
-
-
- - RecvKey
-
-
-
-
- - SimProfile.LoadFromGrid(UInt64, String, String, String):SimProfile
- - Recv
- - RecvKey
-
-
-
-
- - region_handle
-
-
-
-
- - GridURL
-
-
-
-
- - RecvKey
- - SimProfile.LoadFromGrid(UInt64, String, String, String):SimProfile
-
-
-
-
- - SimProfile.LoadFromGrid(UInt64, String, String, String):SimProfile
- - System.Convert.ToUInt16(System.Object)
- - System.Convert.ToUInt16(System.Object,System.IFormatProvider)
-
-
-
-
- - SimProfile.LoadFromGrid(UInt64, String, String, String):SimProfile
- - System.Convert.ToUInt32(System.Object)
- - System.Convert.ToUInt32(System.Object,System.IFormatProvider)
-
-
- - SimProfile.LoadFromGrid(UInt64, String, String, String):SimProfile
- - System.Convert.ToUInt32(System.Object)
- - System.Convert.ToUInt32(System.Object,System.IFormatProvider)
-
-
-
-
- - SimProfile.LoadFromGrid(UInt64, String, String, String):SimProfile
- - System.Convert.ToUInt64(System.Object)
- - System.Convert.ToUInt64(System.Object,System.IFormatProvider)
-
-
-
-
- - SimProfile.LoadFromGrid(UInt64, String, String, String):SimProfile
- - System.UInt64.ToString
- - System.UInt64.ToString(System.IFormatProvider)
-
-
-
-
-
-
-
-
-
-
- - Sim
- - OpenSim.Framework.Sims.SimProfileBase
-
-
-
-
-
-
-
-
- - caps_url
-
-
-
-
- - caps_url
-
-
-
-
-
-
-
-
- - recvkey
-
-
-
-
- - recvkey
- - SimProfileBase.recvkey
-
-
-
-
-
-
-
-
- - regionhandle
-
-
-
-
- - regionhandle
- - SimProfileBase.regionhandle
-
-
-
-
-
-
-
-
- - RegionLocX
-
-
-
-
-
-
-
-
- - RegionLocY
-
-
-
-
-
-
-
-
- - regionname
-
-
-
-
- - regionname
- - SimProfileBase.regionname
-
-
-
-
-
-
-
-
- - sendkey
-
-
-
-
- - sendkey
- - SimProfileBase.sendkey
-
-
-
-
-
-
-
-
- - sim_ip
-
-
-
-
- - sim
- - SimProfileBase.sim_ip
-
-
-
-
- - sim_ip
-
-
-
-
-
-
-
-
- - sim_port
-
-
-
-
- - sim
- - SimProfileBase.sim_port
-
-
-
-
- - sim_port
-
-
-
-
-
-
-
-
- - UUID
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Heightmap
- - OpenSim.Framework.Terrain.HeightmapGenHills
-
-
-
-
-
-
-
-
- - HeightmapGenHills.GenerateHeightmap(Int32, Single, Single, Boolean):Single[]
- - num
- - numHills
-
-
-
-
- - Heightmap
- - HeightmapGenHills.GenerateHeightmap(Int32, Single, Single, Boolean):Single[]
-
-
-
-
-
-
-
-
- - HeightmapGenHills.NumHills
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - UserProfile.UserProfile()
- - IsGridGod
- - System.Boolean
- - false
-
-
-
-
-
-
-
-
- - Sim
- - UserProfile.AddSimCircuit(UInt32, LLUUID):Void
-
-
-
-
- - regionUUID
-
-
-
-
-
-
-
-
- - AssetURL
-
-
-
-
-
-
-
-
- - Circuits
-
-
-
-
-
-
-
-
- - CurrentSecureSessionID
-
-
-
-
-
-
-
-
- - CurrentSessionID
-
-
-
-
-
-
-
-
- - firstname
-
-
-
-
- - firstname
- - UserProfile.firstname
-
-
-
-
-
-
-
-
- - homelookat
-
-
-
-
- - homelookat
- - UserProfile.homelookat
-
-
-
-
-
-
-
-
- - homepos
-
-
-
-
- - homepos
- - UserProfile.homepos
-
-
-
-
-
-
-
-
- - homeregionhandle
-
-
-
-
- - homeregionhandle
- - UserProfile.homeregionhandle
-
-
-
-
-
-
-
-
- - Inventory
-
-
-
-
-
-
-
-
- - IsGridGod
-
-
-
-
-
-
-
-
- - IsLocal
-
-
-
-
-
-
-
-
- - lastname
-
-
-
-
- - lastname
- - UserProfile.lastname
-
-
-
-
-
-
-
-
- - MD5passwd
-
-
-
-
-
-
-
-
- - UUID
-
-
-
-
-
-
-
-
-
-
-
-
- - response
-
-
-
-
- - Customise
- - UserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
-
-
-
-
- - UserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
- - GridResp
- - Nwc.XmlRpc.XmlRpcResponse
-
-
-
-
- - UserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
- - System.Single.ToString
- - System.Single.ToString(System.IFormatProvider)
-
-
- - UserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
- - System.Single.ToString
- - System.Single.ToString(System.IFormatProvider)
-
-
- - UserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
- - System.Single.ToString
- - System.Single.ToString(System.IFormatProvider)
-
-
- - UserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
- - System.Single.ToString
- - System.Single.ToString(System.IFormatProvider)
-
-
- - UserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
- - System.Single.ToString
- - System.Single.ToString(System.IFormatProvider)
-
-
- - UserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
- - System.Single.ToString
- - System.Single.ToString(System.IFormatProvider)
-
-
-
-
- - UserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
- - System.UInt32.ToString
- - System.UInt32.ToString(System.IFormatProvider)
-
-
- - UserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
- - System.UInt32.ToString
- - System.UInt32.ToString(System.IFormatProvider)
-
-
-
-
-
-
-
-
- - DefaultStartupMsg
-
-
-
-
-
-
-
-
- - GridRecvKey
-
-
-
-
- - Recv
- - UserProfileManager.GridRecvKey
-
-
-
-
-
-
-
-
- - GridSendKey
-
-
-
-
-
-
-
-
- - GridURL
-
-
-
-
-
-
-
-
- - UserProfileManager.ParseXMLRPC(String):String
- - System.Exception
-
-
-
-
- - UserProfileManager.ParseXMLRPC(String):String
-
-
-
-
- - UserProfileManager.ParseXMLRPC(String):String
- - System.Int32.ToString
- - System.Int32.ToString(System.IFormatProvider)
-
-
- - UserProfileManager.ParseXMLRPC(String):String
- - System.Int32.ToString
- - System.Int32.ToString(System.IFormatProvider)
-
-
-
-
- - UserProfileManager.ParseXMLRPC(String):String
- - System.Single.ToString
- - System.Single.ToString(System.IFormatProvider)
-
-
- - UserProfileManager.ParseXMLRPC(String):String
- - System.Single.ToString
- - System.Single.ToString(System.IFormatProvider)
-
-
- - UserProfileManager.ParseXMLRPC(String):String
- - System.Single.ToString
- - System.Single.ToString(System.IFormatProvider)
-
-
- - UserProfileManager.ParseXMLRPC(String):String
- - System.Single.ToString
- - System.Single.ToString(System.IFormatProvider)
-
-
- - UserProfileManager.ParseXMLRPC(String):String
- - System.Single.ToString
- - System.Single.ToString(System.IFormatProvider)
-
-
- - UserProfileManager.ParseXMLRPC(String):String
- - System.Single.ToString
- - System.Single.ToString(System.IFormatProvider)
-
-
- - UserProfileManager.ParseXMLRPC(String):String
- - System.Single.ToString
- - System.Single.ToString(System.IFormatProvider)
-
-
- - UserProfileManager.ParseXMLRPC(String):String
- - System.Single.ToString
- - System.Single.ToString(System.IFormatProvider)
-
-
- - UserProfileManager.ParseXMLRPC(String):String
- - System.Single.ToString
- - System.Single.ToString(System.IFormatProvider)
-
-
-
-
-
-
-
-
- - UserProfileManager.SetKeys(String, String, String, String):Void
- - recv
- - recvKey
-
-
-
-
- - url
- - UserProfileManager.SetKeys(String, String, String, String):Void
-
-
-
-
-
-
-
-
-
-
-
-
- - UserProfileManagerBase.AuthenticateUser(String, String, String):Boolean
- - firstname
- - firstname
-
-
-
-
- - UserProfileManagerBase.AuthenticateUser(String, String, String):Boolean
- - lastname
- - lastname
-
-
-
-
- - UserProfileManagerBase.AuthenticateUser(String, String, String):Boolean
- - passwd
- - passwd
-
-
-
-
-
-
-
-
- - MD5passwd
-
-
-
-
- - UserProfileManagerBase.CreateNewProfile(String, String, String):UserProfile
- - firstname
- - firstname
-
-
-
-
- - UserProfileManagerBase.CreateNewProfile(String, String, String):UserProfile
- - lastname
- - lastname
-
-
-
-
- - UserProfileManagerBase.CreateNewProfile(String, String, String):UserProfile
- - M
- - MD5passwd
-
-
-
-
-
-
-
-
- - ProfileLLUUID
-
-
-
-
- - ProfileLLUUID
-
-
-
-
- - UserProfileManagerBase.GetProfileByLLUUID(LLUUID):UserProfile
-
-
-
-
-
-
-
-
- - UserProfileManagerBase.GetProfileByName(String, String):UserProfile
- - firstname
- - firstname
-
-
-
-
- - UserProfileManagerBase.GetProfileByName(String, String):UserProfile
- - lastname
- - lastname
-
-
-
-
-
-
-
-
- - ID
- - agentID
- - Id
-
-
-
-
-
-
-
-
- - GodID
-
-
-
-
- - ID
- - GodID
- - Id
-
-
-
-
-
-
-
-
- - UserProfiles
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - OpenSim.Framework.Utilities.BlockingQueue`1
- - Queue
-
-
-
-
-
-
-
-
- - Util
- - OpenSim.Framework.Utilities.Util
-
-
-
-
- - Util
-
-
-
-
- - Util
- - System.Web.Util
-
-
-
-
-
-
-
-
- - Xfer
- - Util.GetNextXferID():UInt32
-
-
-
-
- - Util.GetNextXferID():UInt32
-
-
-
-
- - GetNextXferID
-
-
-
-
-
-
-
-
- - X
-
-
-
-
- - Y
-
-
-
-
- - Util.UIntsToLong(UInt32, UInt32):UInt64
- - X
-
-
-
-
- - Util.UIntsToLong(UInt32, UInt32):UInt64
- - Y
-
-
-
-
- - Ints
- - Util.UIntsToLong(UInt32, UInt32):UInt64
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - OpenSim.GridInterfaces.Local
-
-
-
-
- - OpenSim.GridInterfaces.Local
-
-
-
-
- - OpenSim.GridInterfaces.Local
-
-
-
-
-
-
-
-
-
-
-
-
- - Data
-
-
-
-
-
-
-
-
- - Name
-
-
-
-
-
-
-
-
- - Type
-
-
-
-
-
-
-
-
- - UUID
-
-
-
-
-
-
-
-
-
-
- - AssetUUIDQuery
-
-
-
-
-
-
-
-
- - 'asset'
- - AssetUUIDQuery.Match(AssetStorage):Boolean
-
-
-
-
-
-
-
-
-
-
- - Plugin
- - OpenSim.GridInterfaces.Local.LocalAssetPlugin
-
-
-
-
-
-
-
-
-
-
- - LocalAssetServer.LocalAssetServer()
- - System.Exception
-
-
-
-
-
-
-
-
- - LocalAssetServer.LoadAsset(AssetBase, Boolean, String):Void
-
-
-
-
- - image
- - LocalAssetServer.LoadAsset(AssetBase, Boolean, String):Void
-
-
-
-
-
-
-
-
- - 'asset'
- - LocalAssetServer.UploadNewAsset(AssetBase):Void
-
-
-
-
-
-
-
-
-
-
- - Plugin
- - OpenSim.GridInterfaces.Local.LocalGridPlugin
-
-
-
-
-
-
-
-
-
-
- - Logout
- - LogoutSession
- - LogOff
-
-
-
-
-
-
-
-
- - Sessions
-
-
-
-
- - System.Collections.Generic.List`1<OpenSim.Framework.Interfaces.Login>
- - LocalGridServer.Sessions
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - OpenSim.GridInterfaces.Remote
-
-
-
-
- - OpenSim.GridInterfaces.Remote
-
-
-
-
- - OpenSim.GridInterfaces.Remote
-
-
-
-
-
-
-
-
-
-
- - Plugin
- - OpenSim.GridInterfaces.Remote.RemoteAssetPlugin
-
-
-
-
-
-
-
-
- - Plugin
- - OpenSim.GridInterfaces.Remote.RemoteGridPlugin
-
-
-
-
-
-
-
-
-
-
- - agentcircuits
-
-
-
-
-
-
-
-
- - circuitcode
- - RemoteGridServer.AuthenticateSession(LLUUID, LLUUID, UInt32):AuthenticateResponse
- - circuitCode
- - IGridServer.AuthenticateSession(LLUUID, LLUUID, UInt32):AuthenticateResponse
-
-
-
-
-
-
-
-
- - RemoteGridServer.GridRecvKey
-
-
-
-
-
-
-
-
- - RemoteGridServer.GridSendKey
-
-
-
-
-
-
-
-
- - RemoteGridServer.LogoutSession(LLUUID, LLUUID, UInt32):Boolean
- - WebRequest.Create(Uri):WebRequest
- - WebRequest.Create(String):WebRequest
-
-
-
-
- - RemoteGridServer.LogoutSession(LLUUID, LLUUID, UInt32):Boolean
- - GridResponse
- - System.String
-
-
-
-
- - Logout
- - LogoutSession
- - LogOff
-
-
-
-
- - 'sessionID'
- - RemoteGridServer.LogoutSession(LLUUID, LLUUID, UInt32):Boolean
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - OpenSim.Physics.Manager
-
-
-
-
- - OpenSim.Physics.Manager
-
-
-
-
- - OpenSim.Physics.Manager
-
-
-
-
-
-
-
-
-
-
- - Plugin
- - OpenSim.Physics.Manager.IPhysicsPlugin
-
-
-
-
-
-
-
-
- - GetName
-
-
-
-
-
-
-
-
- - GetScene
-
-
-
-
-
-
-
-
-
-
-
-
- - 'heightMap'
- - NullPhysicsScene.SetTerrain(Single[]):Void
-
-
-
-
-
-
-
-
- - NullPhysicsScene.Simulate(Single):Void
- - System.Int32.ToString
- - System.Int32.ToString(System.IFormatProvider)
-
-
-
-
-
-
-
-
-
-
-
-
- - Kinematic
- - PhysicsActor.Kinematic:Boolean
-
-
-
-
-
-
-
-
-
-
-
-
- - PhysicsManager.GetPhysicsScene(String):PhysicsScene
- - System.String.Format(System.String,System.Object)
- - System.String.Format(System.IFormatProvider,System.String,System.Object[])
-
-
-
-
-
-
-
-
- - Plugins
- - PhysicsManager.LoadPlugins():Void
-
-
-
-
-
-
-
-
-
-
-
-
- - PhysicsVector.PhysicsVector(Single, Single, Single)
- - x
-
-
-
-
- - PhysicsVector.PhysicsVector(Single, Single, Single)
- - y
-
-
-
-
- - PhysicsVector.PhysicsVector(Single, Single, Single)
- - z
-
-
-
-
-
-
-
-
- - X
-
-
-
-
- - X
- - PhysicsVector.X
-
-
-
-
-
-
-
-
- - Y
-
-
-
-
- - Y
- - PhysicsVector.Y
-
-
-
-
-
-
-
-
- - Z
-
-
-
-
- - Z
- - PhysicsVector.Z
-
-
-
-
-
-
-
-
- - PhysicsVector.Zero
- - OpenSim.Physics.Manager.PhysicsVector
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - OpenSim.RegionServer
-
-
-
-
- - OpenSim.RegionServer
-
-
-
-
- - OpenSim.RegionServer
-
-
-
-
- - OpenSim.RegionServer
-
-
-
-
- - OpenSim.RegionServer
-
-
-
-
-
-
-
-
-
-
-
-
- - ID
- - transactionID
- - Id
-
-
-
-
-
-
-
-
- - ID
- - transactionID
- - Id
-
-
-
-
-
-
-
-
- - ID
- - transactionID
- - Id
-
-
-
-
-
-
-
-
- - ID
- - assetID
- - Id
-
-
-
-
- - AgentAssetUpload.HandleUploadPacket(AssetUploadRequestPacket, LLUUID):Void
- - System.Int32.ToString(System.String)
- - System.Int32.ToString(System.String,System.IFormatProvider)
-
-
- - AgentAssetUpload.HandleUploadPacket(AssetUploadRequestPacket, LLUUID):Void
- - System.Int32.ToString(System.String)
- - System.Int32.ToString(System.String,System.IFormatProvider)
-
-
-
-
- - 'assetID'
- - AgentAssetUpload.HandleUploadPacket(AssetUploadRequestPacket, LLUUID):Void
-
-
- - 'pack'
- - AgentAssetUpload.HandleUploadPacket(AssetUploadRequestPacket, LLUUID):Void
-
-
-
-
-
-
-
-
- - AgentAssetUpload.HandleXferPacket(SendXferPacketPacket):Void
- - xfer
- - xferPacket
-
-
-
-
- - Xfer
- - AgentAssetUpload.HandleXferPacket(SendXferPacketPacket):Void
-
-
-
-
-
-
-
-
-
-
-
-
- - AssetTransaction.AssetTransaction()
- - UploadComplete
- - System.Boolean
- - false
-
-
-
-
-
-
-
-
- - AddToInventory
-
-
-
-
-
-
-
-
- - Asset
-
-
-
-
-
-
-
-
- - InventFolder
-
-
-
-
-
-
-
-
- - TransactionID
-
-
-
-
-
-
-
-
- - UploadComplete
-
-
-
-
-
-
-
-
- - XferID
-
-
-
-
- - Xfer
- - AssetTransaction.XferID
-
-
-
-
-
-
-
-
-
-
- - Grid
- - OpenSim.Framework.Grid
-
-
-
-
-
-
-
-
- - AssetDll
-
-
-
-
-
-
-
-
- - AssetServer
-
-
-
-
-
-
-
-
- - GridDll
-
-
-
-
-
-
-
-
- - GridServer
-
-
-
-
-
-
-
-
- - Initialise
- - Grid.Initialise():Void
-
-
-
-
-
-
-
-
- - Grid.LoadAssetDll(String):IAssetServer
-
-
-
-
-
-
-
-
- - Grid.LoadGridDll(String):IGridServer
-
-
-
-
-
-
-
-
-
-
- - Sim
- - OpenSim.OpenSimApplication
-
-
-
-
-
-
-
-
- - OpenSimApplication.RemoveClientCircuit(UInt32):Void
- - circuitcode
- - circuitcode
-
-
-
-
-
-
-
-
- - OpenSimApplication.SendPacketTo(Byte[], Int32, SocketFlags, UInt32):Void
- - circuitcode
- - circuitcode
-
-
-
-
-
-
-
-
- - StartUp
- - method
- - StartUp
- - Startup
-
-
-
-
-
-
-
-
-
-
- - Sim
- - OpenSim.OpenSimMain
-
-
-
-
- - OpenSim.OpenSimMain
- - System.Timers.Timer, System.Net.Sockets.Socket
-
-
-
-
-
-
-
-
- - OpenSimMain.OpenSimMain()
- - loginserver
- - System.Boolean
- - false
-
-
- - OpenSimMain.OpenSimMain()
- - sandbox
- - System.Boolean
- - false
-
-
-
-
-
-
-
-
- - _physicsEngine
-
-
-
-
- - _physicsEngine
-
-
-
-
-
-
-
-
- - OpenSimMain.LoadConfigDll(String):SimConfig
-
-
-
-
-
-
-
-
- - loginserver
-
-
-
-
- - loginserver
- - OpenSimMain.loginserver
-
-
-
-
-
-
-
-
- - sandbox
-
-
-
-
-
-
-
-
- - Server
-
-
-
-
-
-
-
-
- - Timer.set_Interval(Double):Void
- - OpenSimMain.StartUp():Void
-
-
-
-
- - OpenSimMain.StartUp():Void
- - System.UInt32.ToString
- - System.UInt32.ToString(System.IFormatProvider)
-
-
- - OpenSimMain.StartUp():Void
- - System.UInt32.ToString
- - System.UInt32.ToString(System.IFormatProvider)
-
-
-
-
-
-
-
-
-
-
- - Sim
- - OpenSim.OpenSimRoot
-
-
-
-
-
-
-
-
- - OpenSimRoot.OpenSimRoot()
- - Sandbox
- - System.Boolean
- - false
-
-
-
-
-
-
-
-
- - Application
-
-
-
-
-
-
-
-
- - AssetCache
-
-
-
-
-
-
-
-
- - Cfg
-
-
-
-
- - Cfg
- - OpenSimRoot.Cfg
-
-
-
-
-
-
-
-
- - ClientThreads
-
-
-
-
-
-
-
-
- - GridServers
-
-
-
-
-
-
-
-
- - HttpServer
-
-
-
-
-
-
-
-
- - InventoryCache
-
-
-
-
-
-
-
-
- - LocalWorld
-
-
-
-
-
-
-
-
- - Sandbox
-
-
-
-
-
-
-
-
- - StartUp
- - method
- - StartUp
- - Startup
-
-
-
-
-
-
-
-
- - startuptime
-
-
-
-
- - startuptime
- - OpenSimRoot.startuptime
-
-
-
-
-
-
-
-
-
-
- - Que
- - OpenSim.QueItem
-
-
-
-
-
-
-
-
- - Incoming
-
-
-
-
-
-
-
-
- - Packet
-
-
-
-
-
-
-
-
-
-
- - Sim
- - OpenSim.SimClient
-
-
-
-
- - OpenSim.SimClient
- - System.Timers.Timer
-
-
-
-
-
-
-
-
- - SimClient.SimClient(EndPoint, UseCircuitCodePacket)
- - Sequence
- - System.UInt32
- - 0
-
-
- - SimClient.SimClient(EndPoint, UseCircuitCodePacket)
- - debug
- - System.Boolean
- - false
-
-
-
-
- - Timer.Timer(Double)
- - SimClient.SimClient(EndPoint, UseCircuitCodePacket)
-
-
-
-
- - SimClient.SimClient(EndPoint, UseCircuitCodePacket)
- - initialcirpack
- - initialcirpack
-
-
-
-
-
-
-
-
- - AgentID
-
-
-
-
-
-
-
-
- - CircuitCode
-
-
-
-
-
-
-
-
- - ClientAvatar
-
-
-
-
-
-
-
-
- - NewPack
-
-
-
-
-
-
-
-
- - SimClient.newAssetFolder
-
-
-
-
-
-
-
-
- - NewPack
-
-
-
-
-
-
-
-
- - Pack
-
-
-
-
- - SimClient.ProcessInPacket(Packet):Void
- - wear
- - libsecondlife.Packets.AgentIsNowWearingPacket
-
-
-
-
- - op_Equality
- - ""
- - SimClient.ProcessInPacket(Packet):Void
-
-
-
-
-
-
-
-
- - SimClient.ProcessOutPacket(Packet):Void
- - System.Exception
-
-
-
-
- - Pack
-
-
-
-
-
-
-
-
- - SecureSessionID
-
-
-
-
-
-
-
-
- - SessionID
-
-
-
-
-
-
-
-
- - userEP
-
-
-
-
-
-
-
-
-
-
- - OpenSim.SimConsole
- - OpenSim.Framework.Console.ConsoleBase
-
-
-
-
- - Sim
- - OpenSim.SimConsole
-
-
-
-
-
-
-
-
- - SimConsole.SimConsole(ConsoleType, String, Int32)
- - constype
- - constype
-
-
-
-
- - SimConsole.SimConsole(ConsoleType, String, Int32)
- - sparam
- - sparam
-
-
-
-
- - SimConsole.SimConsole(ConsoleType, String, Int32)
- - iparam
- - iparam
-
-
-
-
- - iparam
- - SimConsole.SimConsole(ConsoleType, String, Int32)
-
-
-
-
- - sparam
- - SimConsole.SimConsole(ConsoleType, String, Int32)
-
-
-
-
-
-
-
-
- - op_Equality
- - ""
- - SimConsole.CmdPrompt(String, String):String
-
-
-
-
-
-
-
-
- - SimConsole.ConsType
-
-
-
-
-
-
-
-
- - SimConsole.MainConsolePrompt():Void
- - System.UInt64.ToString
- - System.UInt64.ToString(System.IFormatProvider)
-
-
-
-
-
-
-
-
- - 'cmdparams'
- - SimConsole.RunCmd(String, String[]):Object
-
-
-
-
-
-
-
-
- - SimConsole.ShowCommands(String):Void
- - System.String.Format(System.String,System.Object[])
- - System.String.Format(System.IFormatProvider,System.String,System.Object[])
-
-
- - SimConsole.ShowCommands(String):Void
- - System.String.Format(System.String,System.Object[])
- - System.String.Format(System.IFormatProvider,System.String,System.Object[])
-
-
-
-
-
-
-
-
-
-
-
-
- - Version
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - ID
- - imageID
- - Id
-
-
-
-
-
-
-
-
- - AssetRequests
-
-
-
-
- - System.Collections.Generic.List`1<OpenSim.Assets.AssetRequest>
- - AssetCache.AssetRequests
-
-
-
-
-
-
-
-
- - Assets
-
-
-
-
-
-
-
-
- - sourceAsset
- - AssetCache.CloneAsset(LLUUID, AssetInfo):AssetInfo
- - OpenSim.Assets.AssetInfo
- - OpenSim.Framework.Assets.AssetBase
-
-
-
-
- - AssetCache.CloneAsset(LLUUID, AssetInfo):AssetInfo
-
-
-
-
- - newOwner
- - AssetCache.CloneAsset(LLUUID, AssetInfo):AssetInfo
-
-
-
-
- - 'sourceAsset'
- - AssetCache.CloneAsset(LLUUID, AssetInfo):AssetInfo
-
-
-
-
-
-
-
-
- - source
- - AssetCache.CloneImage(LLUUID, TextureImage):TextureImage
- - OpenSim.Assets.TextureImage
- - OpenSim.Framework.Assets.AssetBase
-
-
-
-
- - AssetCache.CloneImage(LLUUID, TextureImage):TextureImage
-
-
-
-
- - newOwner
- - AssetCache.CloneImage(LLUUID, TextureImage):TextureImage
-
-
-
-
- - 'source'
- - AssetCache.CloneImage(LLUUID, TextureImage):TextureImage
-
-
-
-
-
-
-
-
- - ID
- - agentID
- - Id
-
-
-
-
-
-
-
-
- - ID
- - assetID
- - Id
-
-
-
-
-
-
-
-
- - RequestedAssets
-
-
-
-
-
-
-
-
- - RequestedTextures
-
-
-
-
-
-
-
-
- - AssetCache.RunAssetManager():Void
- - System.Exception
-
-
-
-
-
-
-
-
- - TextureRequests
-
-
-
-
- - System.Collections.Generic.List`1<OpenSim.Assets.AssetRequest>
- - AssetCache.TextureRequests
-
-
-
-
-
-
-
-
- - Textures
-
-
-
-
-
-
-
-
-
-
- - OpenSim.Assets.AssetInfo
- - OpenSim.Framework.Assets.AssetBase
-
-
-
-
-
-
-
-
- - AssetInfo.AssetInfo(AssetBase)
- - a
- - aBase
-
-
-
-
- - 'aBase'
- - AssetInfo.AssetInfo(AssetBase)
-
-
-
-
-
-
-
-
-
-
-
-
- - AssetRequest.AssetRequest()
- - DataPointer
- - System.Int64
- - 0
-
-
- - AssetRequest.AssetRequest()
- - NumPackets
- - System.Int32
- - 0
-
-
- - AssetRequest.AssetRequest()
- - PacketCounter
- - System.Int32
- - 0
-
-
-
-
-
-
-
-
- - AssetInf
-
-
-
-
-
-
-
-
- - DataPointer
-
-
-
-
-
-
-
-
- - ImageInfo
-
-
-
-
-
-
-
-
- - IsTextureRequest
-
-
-
-
-
-
-
-
- - NumPackets
-
-
-
-
- - Num
- - AssetRequest.NumPackets
-
-
-
-
-
-
-
-
- - PacketCounter
-
-
-
-
-
-
-
-
- - RequestAssetID
-
-
-
-
-
-
-
-
- - RequestUser
-
-
-
-
-
-
-
-
- - TransferRequestID
-
-
-
-
-
-
-
-
-
-
-
-
- - ID
- - folderID
- - Id
-
-
-
-
-
-
-
-
- - ID
- - clientID
- - Id
-
-
-
-
-
-
-
-
- - ID
- - folderID
- - Id
-
-
-
-
-
-
-
-
- - ID
- - folderID
- - Id
-
-
-
-
-
-
-
-
- - FetchItems
-
-
-
-
-
-
-
-
- - FetchDescend
-
-
-
-
-
-
-
-
- - ID
- - agentID
- - Id
-
-
-
-
-
-
-
-
- - ID
- - itemID
- - Id
-
-
-
-
-
-
-
-
-
-
- - OpenSim.Assets.TextureImage
- - OpenSim.Framework.Assets.AssetBase
-
-
-
-
-
-
-
-
- - TextureImage.TextureImage(AssetBase)
- - a
- - aBase
-
-
-
-
- - 'aBase'
- - TextureImage.TextureImage(AssetBase)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Sim
- - OpenSim.CAPS.SimCAPSHTTPServer
-
-
-
-
- - SimCAPSHTTPServer
-
-
-
-
- - OpenSim.CAPS.SimCAPSHTTPServer
- - System.Net.HttpListener
-
-
-
-
-
-
-
-
- - SimCAPSHTTPServer.HandleRequest(Object):Void
- - stateinfo
- - stateinfo
-
-
-
-
-
-
-
-
- - HTTPD
-
-
-
-
-
-
-
-
- - Listener
-
-
-
-
-
-
-
-
- - SimCAPSHTTPServer.LoadAdminPage():Void
- - System.Exception
-
-
-
-
-
-
-
-
- - SimCAPSHTTPServer.ParseLLSDXML(String):String
-
-
-
-
- - requestBody
- - SimCAPSHTTPServer.ParseLLSDXML(String):String
-
-
-
-
-
-
-
-
- - SimCAPSHTTPServer.ParseREST(String, String, String):String
- - System.Exception
-
-
-
-
- - SimCAPSHTTPServer.ParseREST(String, String, String):String
- - System.String.Format(System.String,System.Object[])
- - System.String.Format(System.IFormatProvider,System.String,System.Object[])
-
-
-
-
-
-
-
-
- - SimCAPSHTTPServer.ParseXMLRPC(String):String
- - System.Exception
-
-
-
-
- - SimCAPSHTTPServer.ParseXMLRPC(String):String
-
-
-
-
- - SimCAPSHTTPServer.ParseXMLRPC(String):String
- - System.Convert.ToUInt32(System.Object)
- - System.Convert.ToUInt32(System.Object,System.IFormatProvider)
-
-
-
-
-
-
-
-
- - SimCAPSHTTPServer.StartHTTP():Void
- - System.Exception
-
-
-
-
- - SimCAPSHTTPServer.StartHTTP():Void
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - mesh
-
-
-
-
- - System.Collections.Generic.List`1<OpenSim.types.Triangle>
- - Mesh.mesh
-
-
-
-
-
-
-
-
- - Mesh.op_Addition(Mesh, Mesh):Mesh
- - a
-
-
-
-
- - Mesh.op_Addition(Mesh, Mesh):Mesh
- - b
-
-
-
-
- - Add
- - Mesh.op_Addition(Mesh, Mesh):Mesh
-
-
-
-
- - Mesh
- - Mesh.op_Addition(Mesh, Mesh):Mesh
-
-
-
-
-
-
-
-
-
-
-
-
- - A
-
-
-
-
- - B
-
-
-
-
- - C
-
-
-
-
- - Triangle.Triangle(Vector3, Vector3, Vector3)
- - A
-
-
-
-
- - Triangle.Triangle(Vector3, Vector3, Vector3)
- - B
-
-
-
-
- - Triangle.Triangle(Vector3, Vector3, Vector3)
- - C
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - LocalUserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
- - System.Int32.ToString
- - System.Int32.ToString(System.IFormatProvider)
-
-
- - LocalUserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
- - System.Int32.ToString
- - System.Int32.ToString(System.IFormatProvider)
-
-
-
-
- - LocalUserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
- - System.Single.ToString
- - System.Single.ToString(System.IFormatProvider)
-
-
- - LocalUserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
- - System.Single.ToString
- - System.Single.ToString(System.IFormatProvider)
-
-
- - LocalUserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
- - System.Single.ToString
- - System.Single.ToString(System.IFormatProvider)
-
-
- - LocalUserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
- - System.Single.ToString
- - System.Single.ToString(System.IFormatProvider)
-
-
- - LocalUserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
- - System.Single.ToString
- - System.Single.ToString(System.IFormatProvider)
-
-
- - LocalUserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
- - System.Single.ToString
- - System.Single.ToString(System.IFormatProvider)
-
-
-
-
-
-
-
-
-
-
- - OpenSim.UserServer.LoginServer
- - OpenSim.Framework.Grid.LoginService
-
-
-
-
- - OpenSim.UserServer.LoginServer
- - System.Net.Sockets.Socket
-
-
-
-
- - Login
- - LoginServer
- - LogOn
-
-
-
-
-
-
-
-
- - LoginServer.LoginServer(IGridServer)
- - _needPasswd
- - System.Boolean
- - false
-
-
- - LoginServer.LoginServer(IGridServer)
- - userAccounts
- - System.Boolean
- - false
-
-
-
-
-
-
-
-
- - LoginServer.Authenticate(String, String, String):Boolean
- - passwd
- - passwd
-
-
-
-
-
-
-
-
- - clientAddress
-
-
-
-
-
-
-
-
- - Customise
- - LoginServer.CustomiseLoginResponse(Hashtable, String, String):Void
-
-
-
-
- - Login
- - CustomiseLoginResponse
- - LogOn
-
-
-
-
-
-
-
-
- - LoginServer.EncodePassword(String):String
- - System.String.ToLower
- - System.String.ToLower(System.Globalization.CultureInfo)
-
-
-
-
-
-
-
-
- - LoginServer.GetAgentId(String, String):LLUUID
- - System.Int32.ToString(System.String)
- - System.Int32.ToString(System.String,System.IFormatProvider)
-
-
-
-
-
-
-
-
- - LoginServer.InitializeLogin():Void
- - 4
- - UserProfileManager.SetKeys(String, String, String, String):Void
- - Welcome to OpenSim
-
-
-
-
- - Sim
- - OpenSim
-
-
-
-
-
-
-
-
- - LoginServer.LoginRequest(StreamReader, StreamWriter):Void
- - System.Exception
-
-
-
-
- - LoginServer.LoginRequest(StreamReader, StreamWriter):Void
- - System.Convert.ToInt32(System.String)
- - System.Convert.ToInt32(System.String,System.IFormatProvider)
-
-
-
-
- - op_Inequality
- - ""
- - LoginServer.LoginRequest(StreamReader, StreamWriter):Void
-
-
-
-
-
-
-
-
- - writer
- - LoginServer.ProcessXmlRequest(XmlRpcRequest, StreamWriter):Boolean
- - System.IO.StreamWriter
- - System.IO.TextWriter
-
-
-
-
- - LoginServer.ProcessXmlRequest(XmlRpcRequest, StreamWriter):Boolean
- - System.Int32.ToString
- - System.Int32.ToString(System.IFormatProvider)
-
-
-
-
- - LoginServer.ProcessXmlRequest(XmlRpcRequest, StreamWriter):Boolean
- - System.Int32.ToString(System.String)
- - System.Int32.ToString(System.String,System.IFormatProvider)
-
-
-
-
- - 'request'
- - LoginServer.ProcessXmlRequest(XmlRpcRequest, StreamWriter):Boolean
-
-
- - 'writer'
- - LoginServer.ProcessXmlRequest(XmlRpcRequest, StreamWriter):Boolean
-
-
- - 'writer'
- - LoginServer.ProcessXmlRequest(XmlRpcRequest, StreamWriter):Boolean
-
-
-
-
-
-
-
-
- - remoteAddress
-
-
-
-
-
-
-
-
- - LoginServer.RunLogin():Void
- - System.Exception
-
-
- - LoginServer.RunLogin():Void
- - System.Exception
-
-
-
-
- - LoginServer.RunLogin():Void
- - clientEndPoint
- - System.Net.IPEndPoint
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Avatar.Avatar()
- - PhysicsEngineFlying
- - System.Boolean
- - false
-
-
-
-
-
-
-
-
- - Avatar.Avatar(SimClient)
- - _updateCount
- - System.Int16
- - 0
-
-
- - Avatar.Avatar(SimClient)
- - avatarAppearanceTexture
- - libsecondlife.LLObject+TextureEntry
- - null
-
-
- - Avatar.Avatar(SimClient)
- - movementflag
- - System.Byte
- - 0
-
-
- - Avatar.Avatar(SimClient)
- - updateflag
- - System.Boolean
- - false
-
-
-
-
- - TheClient
-
-
-
-
-
-
-
-
- - anim_seq
-
-
-
-
- - anim
- - Avatar.anim_seq
-
-
-
-
- - anim_seq
-
-
-
-
-
-
-
-
- - Animations
-
-
-
-
-
-
-
-
- - RegionInfo
-
-
-
-
- - RegionInfo
- - Avatar.CompleteMovement(World):Void
-
-
-
-
-
-
-
-
- - ControllingClient
-
-
-
-
-
-
-
-
- - current_anim
-
-
-
-
- - anim
- - Avatar.current_anim
-
-
-
-
- - current_anim
-
-
-
-
-
-
-
-
- - firstname
-
-
-
-
- - firstname
- - Avatar.firstname
-
-
-
-
-
-
-
-
- - lastname
-
-
-
-
- - lastname
- - Avatar.lastname
-
-
-
-
-
-
-
-
- - Anims
- - Avatar.LoadAnims():Void
-
-
-
-
-
-
-
-
- - PhysActor
-
-
-
-
-
-
-
-
- - PhysicsEngineFlying
-
-
-
-
-
-
-
-
- - Anim
- - Avatar.SendAnimPack():Void
-
-
-
-
-
-
-
-
- - 'userInfo'
- - Avatar.SendAppearanceToOtherAgent(SimClient):Void
-
-
-
-
-
-
-
-
- - RegionInfo
-
-
-
-
- - RegionInfo
- - Avatar.SendRegionHandshake(World):Void
-
-
-
-
-
-
-
-
-
-
-
-
- - AnimsLLUUID
-
-
-
-
- - Anims
- - AvatarAnimations.AnimsLLUUID
-
-
-
-
-
-
-
-
- - AnimsNames
-
-
-
-
- - Anims
- - AvatarAnimations.AnimsNames
-
-
-
-
-
-
-
-
- - Anims
- - AvatarAnimations.LoadAnims():Void
-
-
-
-
-
-
-
-
-
-
-
-
- - Entity.Entity()
- - localid
- - System.UInt32
- - 0
-
-
-
-
-
-
-
-
- - addForces
-
-
-
-
-
-
-
-
- - BackUp
- - method
- - BackUp
- - Backup
-
-
-
-
-
-
-
-
- - children
-
-
-
-
- - System.Collections.Generic.List`1<OpenSim.world.Entity>
- - Entity.children
-
-
-
-
-
-
-
-
- - getMesh
-
-
-
-
-
-
-
-
- - getName
-
-
-
-
-
-
-
-
- - localid
-
-
-
-
- - localid
- - Entity.localid
-
-
-
-
-
-
-
-
- - name
-
-
-
-
-
-
-
-
- - position
-
-
-
-
-
-
-
-
- - rotation
-
-
-
-
-
-
-
-
- - update
-
-
-
-
-
-
-
-
- - uuid
-
-
-
-
- - uuid
- - Entity.uuid
-
-
-
-
-
-
-
-
- - velocity
-
-
-
-
-
-
-
-
-
-
-
-
- - X
-
-
-
-
- - X
- - NewForce.X
-
-
-
-
-
-
-
-
- - Y
-
-
-
-
- - Y
- - NewForce.Y
-
-
-
-
-
-
-
-
- - Z
-
-
-
-
- - Z
- - NewForce.Z
-
-
-
-
-
-
-
-
-
-
- - 'UpdateFlag'
- - updateFlag
-
-
-
-
-
-
-
-
- - Primitive.Primitive()
- - dirtyFlag
- - System.Boolean
- - false
-
-
- - Primitive.Primitive()
- - mesh_cutbegin
- - System.Single
- - 0.0
-
-
- - Primitive.Primitive()
- - newPrimFlag
- - System.Boolean
- - false
-
-
- - Primitive.Primitive()
- - physicsEnabled
- - System.Boolean
- - false
-
-
- - Primitive.Primitive()
- - physicstest
- - System.Boolean
- - false
-
-
- - Primitive.Primitive()
- - updateFlag
- - System.Boolean
- - false
-
-
-
-
-
-
-
-
- - localID-702000
- - Primitive.CreateFromPacket(ObjectAddPacket, LLUUID, UInt32):Void
-
-
-
-
- - ID
- - agentID
- - Id
-
-
-
-
- - ID
- - localID
- - Id
-
-
-
-
- - Primitive.CreateFromPacket(ObjectAddPacket, LLUUID, UInt32):Void
- - System.UInt32.ToString(System.String)
- - System.UInt32.ToString(System.String,System.IFormatProvider)
-
-
-
-
- - 'addPacket'
- - Primitive.CreateFromPacket(ObjectAddPacket, LLUUID, UInt32):Void
-
-
-
-
-
-
-
-
- - 'store'
- - Primitive.CreateFromStorage(PrimData):Void
-
-
-
-
-
-
-
-
- - dirtyFlag
-
-
-
-
-
-
-
-
- - mesh_cutbegin
-
-
-
-
- - cutbegin
- - Primitive.mesh_cutbegin
-
-
-
-
- - mesh_cutbegin
-
-
-
-
-
-
-
-
- - mesh_cutend
-
-
-
-
- - cutend
- - Primitive.mesh_cutend
-
-
-
-
- - mesh_cutend
-
-
-
-
-
-
-
-
- - newPrimFlag
-
-
-
-
-
-
-
-
- - PhysActor
-
-
-
-
-
-
-
-
- - primData
-
-
-
-
-
-
-
-
- - RemoteClient
-
-
-
-
- - 'RemoteClient'
- - Primitive.UpdateClient(SimClient):Void
-
-
-
-
-
-
-
-
- - updateFlag
-
-
-
-
-
-
-
-
- - 'pack'
- - Primitive.UpdateObjectFlags(ObjectFlagUpdatePacket):Void
-
-
-
-
-
-
-
-
- - 'addPacket'
- - Primitive.UpdateShape(ObjectDataBlock):Void
-
-
-
-
-
-
-
-
-
-
-
-
- - ScriptEngine.ScriptEngine(World)
- - env
- - env
-
-
-
-
- - env
- - ScriptEngine.ScriptEngine(World)
-
-
-
-
-
-
-
-
- - ScriptEngine.LoadScript():Void
-
-
-
-
-
-
-
-
-
-
-
-
- - HeightMap
-
-
-
-
-
-
-
-
-
-
- - World
- - OpenSim.world
-
-
-
-
-
-
-
-
- - World.World()
- - _localNumber
- - System.UInt32
- - 0
-
-
-
-
-
-
-
-
- - _localNumber
-
-
-
-
- - _localNumber
-
-
-
-
-
-
-
-
- - AgentClient
-
-
-
-
-
-
-
-
- - AgentClient
-
-
-
-
-
-
-
-
- - DeRezPacket
-
-
-
-
- - AgentClient
-
-
-
-
- - World.DeRezObject(DeRezObjectPacket, SimClient):Void
- - Rez
- - DeRezPacket
-
-
-
-
- - Rez
- - World.DeRezObject(DeRezObjectPacket, SimClient):Void
-
-
-
-
- - AgentClient
- - World.DeRezObject(DeRezObjectPacket, SimClient):Void
-
-
-
-
- - De
- - World.DeRezObject(DeRezObjectPacket, SimClient):Void
-
-
-
-
-
-
-
-
- - Entities
-
-
-
-
-
-
-
-
- - RemoteClient
-
-
-
-
- - Prims
- - World.GetInitialPrims(SimClient):Void
-
-
-
-
-
-
-
-
- - LandMap
-
-
-
-
-
-
-
-
- - Prims
- - World.LoadPrimsFromStorage():Void
-
-
-
-
-
-
-
-
- - World.LoadStorageDLL(String):Boolean
-
-
-
-
-
-
-
-
- - localStorage
-
-
-
-
-
-
-
-
- - World.Rand
-
-
-
-
-
-
-
-
- - Scripts
-
-
-
-
-
-
-
-
- - RemoteClient
-
-
-
-
- - 'RemoteClient'
- - World.SendLayerData(SimClient):Void
-
-
- - 'RemoteClient'
- - World.SendLayerData(SimClient):Void
-
-
- - 'RemoteClient'
- - World.SendLayerData(SimClient):Void
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - IScriptHost.Register(IScript):Boolean
- - iscript
- - iscript
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - OpenSim.Storage.LocalStorageDb4o
-
-
-
-
- - OpenSim.Storage.LocalStorageDb4o
-
-
-
-
- - OpenSim.Storage.LocalStorageDb4o
-
-
-
-
-
-
-
-
-
-
-
-
- - Db4LocalStorage.Db4LocalStorage()
- - System.Exception
-
-
-
-
-
-
-
-
- - 'receiver'
- - Db4LocalStorage.LoadPrimitives(ILocalStorageReceiver):Void
-
-
-
-
-
-
-
-
- - 'prim'
- - Db4LocalStorage.StorePrim(PrimData):Void
-
-
-
-
-
-
-
-
-
-
- - UUIDQuery
-
-
-
-
-
-
-
-
- - 'prim'
- - UUIDQuery.Match(PrimData):Boolean
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - OpenSim.Physics.BasicPhysicsPlugin
-
-
-
-
-
-
-
-
-
- - OpenSim.Physics.BasicPhysicsPlugin
-
-
-
-
-
-
-
-
-
- - OpenSim.Physics.BasicPhysicsPlugin
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - BasicActor.flying
-
-
-
-
-
-
-
-
- - BasicActor.SetAcceleration(PhysicsVector):Void
- - accel
- - accel
-
-
-
-
-
-
-
-
-
-
- - Plugin
- - OpenSim.Physics.BasicPhysicsPlugin.BasicPhysicsPlugin
-
-
-
-
- - BasicPhysicsPlugin
- - OpenSim.Physics.BasicPhysicsPlugin
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - OpenSim.Physics.OdePlugin
-
-
-
-
- - OpenSim.Physics.OdePlugin
-
-
-
-
- - OpenSim.Physics.OdePlugin
-
-
-
-
-
-
-
-
-
-
- - OdeCharacter
-
-
-
-
-
-
-
-
- - parent_scene
- - OdeCharacter.OdeCharacter(OdeScene, PhysicsVector)
-
-
-
-
- - 'pos'
- - OdeCharacter.OdeCharacter(OdeScene, PhysicsVector)
-
-
-
-
-
-
-
-
- - OdeCharacter.capsule_geom
-
-
-
-
-
-
-
-
- - OdeCharacter.gravityAccel
-
-
-
-
-
-
-
-
- - OdeCharacter.SetAcceleration(PhysicsVector):Void
- - accel
- - accel
-
-
-
-
-
-
-
-
-
-
- - Plugin
- - OpenSim.Physics.OdePlugin.OdePlugin
-
-
-
-
- - OdePlugin
- - OpenSim.Physics.OdePlugin
-
-
-
-
-
-
-
-
-
-
- - OdePrim._position
-
-
-
-
-
-
-
-
- - OdePrim.SetAcceleration(PhysicsVector):Void
- - accel
- - accel
-
-
-
-
-
-
-
-
-
-
-
-
- - 'position'
- - OdeScene.AddPrim(PhysicsVector, PhysicsVector):PhysicsActor
-
-
- - 'size'
- - OdeScene.AddPrim(PhysicsVector, PhysicsVector):PhysicsActor
-
-
-
-
-
-
-
-
- - OdeScene.Land
-
-
-
-
-
-
-
-
- - OdeScene.LandGeom
-
-
-
-
-
-
-
-
- - 'heightMap'
- - OdeScene.SetTerrain(Single[]):Void
-
-
- - 'heightMap'
- - OdeScene.SetTerrain(Single[]):Void
-
-
-
-
-
-
-
-
- - space
-
-
-
-
- - space
-
-
-
-
-
-
-
-
- - world
-
-
-
-
- - world
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - OpenSim.Physics.PhysXPlugin
-
-
-
-
- - OpenSim.Physics.PhysXPlugin
-
-
-
-
- - OpenSim.Physics.PhysXPlugin
-
-
-
-
-
-
-
-
-
-
-
-
- - PhysXCharacter.SetAcceleration(PhysicsVector):Void
- - accel
- - accel
-
-
-
-
-
-
-
-
-
-
- - Plugin
- - OpenSim.Physics.PhysXPlugin.PhysXPlugin
-
-
-
-
- - PhysXPlugin
- - OpenSim.Physics.PhysXPlugin
-
-
-
-
-
-
-
-
-
-
- - PhysXPrim._position
-
-
-
-
-
-
-
-
- - PhysXPrim.SetAcceleration(PhysicsVector):Void
- - accel
- - accel
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Save it for a rainy day.
- Save it for a rainy day.
- Save it for a rainy day.
-
-
-
-
- No valid permission requests were found for assembly '{0}'. You should always specify the minimum security permissions using SecurityAction.RequestMinimum.
-
-
- Sign '{0}' with a strong name key.
-
-
- Consider merging the types defined in '{0}' with another namespace.
-
-
- It appears that field '{0}' is never used or is only ever assigned to. Use this field or remove it.
-
-
- Change '{0}' to be read-only by removing the property setter.
-
-
- The compound word '{0}' in {1} '{2}' exists as a discrete term. If your usage is intended to be single word, case it as '{3}'.
-
-
- '{0}' is marked ComVisible(true) but has the following ComVisible(false) types in its object hierarchy: {1}
-
-
- Consider changing the type of parameter '{0}' in {1} from {2} to its base type {3}. This method appears to only require base class members in its implementation. Suppress this violation if there is a compelling reason to require the more derived type in the method signature.
-
-
- '{0}' contains a call chain that results in a call to a virtual method defined by the class. Review the following call stack for unintended consequences: {1}
-
-
- Modify '{0}' to catch a more specific exception than '{1}' or rethrow the exception.
-
-
- Remove the readonly declaration from '{0}' or change the field to one that is an immutable reference type. If the reference type '{1}' is, in fact, immutable, exclude this message.
-
-
- Make '{0}' private or internal (Friend in VB, public private in C++) and provide a public or protected property to access it.
-
-
- Change '{0}' in {1} to use Collection<T>, ReadOnlyCollection<T> or KeyedCollection<K,V>
-
-
- {0} initializes field {1} of type {2} to {3}. Remove this initialization as it will be done automatically by the runtime.
-
-
- {0} passes a literal as parameter {1} of a call to {2}. Retrieve the following string argument from a resource table instead: '{3}'
-
-
- Consider a design that does not require that '{0}' be a reference parameter.
-
-
- {0} creates an exception of type '{1}', an exception type that is not sufficiently specific and should never be raised by user code. If this exception instance might be thrown, use a different exception type.
-
-
- Modify the call to {0} in method {1} to set the timer interval to a value that's greater than or equal to one second.
-
-
- Correct the casing of member name '{0}'.
- Correct the casing of namespace name '{0}'.
- Correct the casing of parameter name '{0}'.
- Correct the casing of type name '{0}'.
-
-
- Correct the spelling of the unrecognized token '{0}' in member name '{1}'.
- Consider providing a more meaningful name than the one-letter token '{0}' in member name '{1}'.
- Correct the spelling of the unrecognized token '{0}' in namespace '{1}'.
- In method {0}, correct the spelling of the unrecognized token '{1}' in parameter name '{2}' or strip it entirely if it represents any sort of hungarian notation.
- In method {0}, consider providing a more meaningful name than the one-letter parameter name '{1}'.
- Correct the spelling of the unrecognized token '{0}' in type name '{1}'.
-
-
- Change member names {0} and '{1}' so that they differ by more than case.
-
-
- Remove all underscores from member '{0}'.
- Remove all underscores from parameter '{0}'.
- Remove all underscores from type '{0}'.
-
-
- Rename '{0}' so that it does not end in '{1}'.
-
-
- Correct the spelling of the unrecognized token '{0}' in the literal '{1}'.
-
-
- Correct the capitalization of member name '{0}'.
- Correct the capitalization of namespace name '{0}'.
- Correct the capitalization of parameter name '{0}'.
- Correct the capitalization of type name '{0}'.
-
-
- Add an AssemblyVersion attribute to '{0}'.
-
-
- '{0}' should be marked with CLSCompliantAttribute and its value should be true.
-
-
- Mark '{0}' as ComVisible(false) at the assembly level, then mark all types within the assembly that should be exposed to Com clients as ComVisible(true).
-
-
- The 'this' parameter (or 'Me' in VB) of {0} is never used. Mark the member as static (or Shared in VB) or use 'this'/'Me' in the method body or at least one property accessor, if appropriate.
-
-
- Consider making '{0}' non-public or a constant.
-
-
- Correct the potential overflow in the operation '{0}' in '{1}'.
-
-
- Provide a method named '{0}' as a friendly alternate for operator {1}.
-
-
- Consider adding an overload of the equality operator for '{0}' that takes the same parameters as {1}.
-
-
- '{0}' should override Equals.
- '{0}' should override the equality (==) and inequality (!=) operators.
-
-
- Change parameter name '{0}' of method {1} to '{2}' in order to match the identifier as it has been declared in {3}.
-
-
- Modify {0} to call {1} instead of {2}.
-
-
- Make '{0}' private.
-
-
- Add a property getter to '{0}'.
-
-
- {0} declares a local, '{1}', of type {2}, which is never used or is only assigned to. Use this local or remove it.
-
-
- Parameter '{0}' of {1} is never used. Remove the parameter or use it in the method body.
-
-
- Correct the capitalization of '{0}' in member name '{1}'.
- 'Id' is an abbreviation and therefore is not subject to acronym casing guidelines. Correct the capitalization of 'ID' in member name '{0}' by changing it to 'Id'.
- 'Id' is an abbreviation and therefore is not subject to acronym casing guidelines. Correct the capitalization of '{0}' in parameter name '{1}' by changing it to '{2}'.
- Correct the capitalization of '{0}' in type name '{1}'.
-
-
- {0} makes a call to {1} that does not explicitly provide a CultureInfo. This should be replaced with a call to {2}.
-
-
- {0} makes a call to {1} that does not explicitly provide an IFormatProvider. This should be replaced with a call to {2}.
-
-
- Remove the public constructors from '{0}'.
-
-
- Replace the call to String.{0}({1}) in '{2}' with a call to String.IsNullOrEmpty.
-
-
- The type name '{0}' conflicts in whole or in part with the namespace name '{1}'. Change either name to eliminate the conflict.
-
-
- Implement IDisposable on '{0}' as it instantiates members of the following IDisposable types: {1}
-
-
- Implement IDisposable on '{0}'.
-
-
- Change the type of parameter '{0}' of method {1} from string to System.Uri, or provide an overload of {1}, that allows '{0}' to be passed as a System.Uri object.
-
-
- Replace the term '{0}' in member name '{1}' with the preferred alternate '{2}'.
- Replace the term '{0}' in type name '{1}' with the preferred alternate '{2}'.
-
-
- Change '{0}' to a property if appropriate.
-
-
- Validate parameter {0} passed to externally visible method {1}.
-
-
-
-
+
+
+
+ True
+ http://www.gotdotnet.com/team/fxcop//xsl/1.35/FxCopReport.xsl
+
+
+
+
+
+ True
+ True
+ True
+ 10
+ 1
+
+ False
+ False
+
+ False
+ 120
+
+
+
+ $(ProjectDir)/lib/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Sim
+ - OpenSim
+
+
+
+
+
+
+
+
+ - Sim
+ - OpenSim.Assets
+
+
+
+
+
+
+
+
+ - OpenSim.CAPS
+
+
+
+
+ - Sim
+ - OpenSim.CAPS
+
+
+
+
+ - OpenSim.CAPS
+
+
+
+
+
+
+
+
+ - Sim
+ - OpenSim.Config.SimConfigDb4o
+
+
+ - Sim
+ - OpenSim.Config.SimConfigDb4o
+
+
+
+
+
+
+
+
+ - OpenSim.Framework.Assets
+
+
+
+
+ - Sim
+ - OpenSim.Framework.Assets
+
+
+
+
+
+
+
+
+ - Sim
+ - OpenSim.Framework.Console
+
+
+
+
+
+
+
+
+ - OpenSim.Framework.Grid
+
+
+
+
+ - Sim
+ - OpenSim.Framework.Grid
+
+
+
+
+
+
+
+
+ - Sim
+ - OpenSim.Framework.Interfaces
+
+
+
+
+
+
+
+
+ - OpenSim.Framework.Inventory
+
+
+
+
+ - Sim
+ - OpenSim.Framework.Inventory
+
+
+
+
+
+
+
+
+ - OpenSim.Framework.Sims
+
+
+
+
+ - Sim
+ - OpenSim.Framework.Sims
+
+
+
+
+
+
+
+
+ - OpenSim.Framework.Terrain
+
+
+
+
+ - Sim
+ - OpenSim.Framework.Terrain
+
+
+
+
+
+
+
+
+ - OpenSim.Framework.User
+
+
+
+
+ - Sim
+ - OpenSim.Framework.User
+
+
+
+
+
+
+
+
+ - OpenSim.Framework.Utilities
+
+
+
+
+ - Sim
+ - OpenSim.Framework.Utilities
+
+
+
+
+
+
+
+
+ - Sim
+ - OpenSim.GridInterfaces.Local
+
+
+
+
+
+
+
+
+ - OpenSim.GridInterfaces.Remote
+
+
+
+
+ - Sim
+ - OpenSim.GridInterfaces.Remote
+
+
+
+
+
+
+
+
+ - Plugin
+ - OpenSim.Physics.BasicPhysicsPlugin
+
+
+
+
+ - Sim
+ - OpenSim.Physics.BasicPhysicsPlugin
+
+
+
+
+
+
+
+
+ - Sim
+ - OpenSim.Physics.Manager
+
+
+
+
+
+
+
+
+ - OpenSim.Physics.OdePlugin
+
+
+
+
+ - Plugin
+ - OpenSim.Physics.OdePlugin
+
+
+
+
+ - Sim
+ - OpenSim.Physics.OdePlugin
+
+
+
+
+
+
+
+
+ - OpenSim.Physics.PhysXPlugin
+
+
+
+
+ - Plugin
+ - OpenSim.Physics.PhysXPlugin
+
+
+
+
+ - Sim
+ - OpenSim.Physics.PhysXPlugin
+
+
+
+
+
+
+
+
+ - Sim
+ - OpenSim.Storage.LocalStorageDb4o
+
+
+
+
+
+
+
+
+ - OpenSim.types
+
+
+
+
+ - OpenSim.types
+
+
+
+
+ - Sim
+ - OpenSim.types
+
+
+
+
+
+
+
+
+ - OpenSim.UserServer
+
+
+
+
+ - Sim
+ - OpenSim.UserServer
+
+
+
+
+
+
+
+
+ - OpenSim.world
+
+
+
+
+ - Sim
+ - OpenSim.world
+
+
+
+
+
+
+
+
+ - OpenSim.world.scripting
+
+
+
+
+ - OpenSim.world.scripting
+
+
+ - OpenSim.world.scripting
+
+
+
+
+ - Sim
+ - OpenSim.world.scripting
+
+
+
+
+
+
+
+
+
+
+
+
+ - OpenGridServices.ServerConsole
+
+
+
+
+ - OpenGridServices.ServerConsole
+
+
+
+
+ - OpenGridServices.ServerConsole
+
+
+
+
+
+
+
+
+
+
+ - conscmd_callback
+
+
+
+
+ - conscmd
+ - ServerConsole.conscmd_callback
+
+
+
+
+ - conscmd_callback
+
+
+
+
+
+
+
+
+ - conscmd_callback.RunCmd(String, String[]):Void
+ - cmdparams
+ - cmdparams
+
+
+
+
+
+
+
+
+ - ShowWhat
+
+
+
+
+
+
+
+
+
+
+
+
+ - ConsoleBase.CmdPrompt(String, String):String
+ - defaultresponse
+ - defaultresponse
+
+
+
+
+
+
+
+
+ - OptionA
+
+
+
+
+ - OptionB
+
+
+
+
+ - ConsoleBase.CmdPrompt(String, String, String, String):String
+ - defaultresponse
+ - defaultresponse
+
+
+
+
+
+
+
+
+ - Passwd
+ - ConsoleBase.PasswdPrompt(String):String
+
+
+
+
+
+
+
+
+ - Cmd
+
+
+
+
+ - ConsoleBase.RunCmd(String, String[]):Object
+ - cmdparams
+ - cmdparams
+
+
+
+
+
+
+
+
+ - ShowWhat
+
+
+
+
+
+
+
+
+ - Line
+
+
+
+
+
+
+
+
+ - Line
+
+
+
+
+
+
+
+
+
+
+
+
+ - Sim
+ - ConsoleType.SimChat
+
+
+
+
+
+
+
+
+ - ConsoleType.TCP
+
+
+
+
+
+
+
+
+
+
+ - MainConsole
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - OpenSim.Config.SimConfigDb4o
+
+
+
+
+ - OpenSim.Config.SimConfigDb4o
+
+
+
+
+ - OpenSim.Config.SimConfigDb4o
+
+
+
+
+
+
+
+
+
+
+ - Plugin
+ - OpenSim.Config.SimConfigDb4o.Db40ConfigPlugin
+
+
+
+
+
+
+
+
+ - Sim
+ - OpenSim.Config.SimConfigDb4o.DbSimConfig
+
+
+
+
+ - Db
+ - OpenSim.Config.SimConfigDb4o.DbSimConfig
+
+
+
+
+
+
+
+
+ - DbSimConfig.InitConfig(Boolean):Void
+ - System.Exception
+
+
+
+
+ - DbSimConfig.InitConfig(Boolean):Void
+ - System.UInt32.ToString
+ - System.UInt32.ToString(System.IFormatProvider)
+
+
+
+
+ - DbSimConfig.InitConfig(Boolean):Void
+ - System.UInt64.ToString
+ - System.UInt64.ToString(System.IFormatProvider)
+
+
+
+
+
+
+
+
+ - DbSimConfig.LoadDefaults():Void
+ - System.Convert.ToInt32(System.String)
+ - System.Convert.ToInt32(System.String,System.IFormatProvider)
+
+
+ - DbSimConfig.LoadDefaults():Void
+ - System.Convert.ToInt32(System.String)
+ - System.Convert.ToInt32(System.String,System.IFormatProvider)
+
+
+ - DbSimConfig.LoadDefaults():Void
+ - System.Convert.ToInt32(System.String)
+ - System.Convert.ToInt32(System.String,System.IFormatProvider)
+
+
+
+
+
+
+
+
+
+
+
+
+ - Map
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - OpenSim
+
+
+
+
+ - OpenSim
+
+
+
+
+ - OpenSim
+
+
+
+
+ - OpenSim
+
+
+
+
+ - OpenSim
+
+
+
+
+
+
+
+
+
+
+
+
+ - 'args'
+ - RegionServer.Main(String[]):Void
+
+
+ - 'args'
+ - RegionServer.Main(String[]):Void
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - OpenSim.Framework.Console
+
+
+
+
+ - OpenSim.Framework.Console
+
+
+
+
+ - OpenSim.Framework.Console
+
+
+
+
+
+
+
+
+
+
+
+
+ - ConsoleBase.CmdPrompt(String, String):String
+ - defaultresponse
+ - defaultresponse
+
+
+
+
+
+
+
+
+ - OptionA
+
+
+
+
+ - OptionB
+
+
+
+
+ - ConsoleBase.CmdPrompt(String, String, String, String):String
+ - defaultresponse
+ - defaultresponse
+
+
+
+
+
+
+
+
+ - Cmd
+
+
+
+
+ - ConsoleBase.RunCmd(String, String[]):Object
+ - cmdparams
+ - cmdparams
+
+
+
+
+
+
+
+
+ - ShowWhat
+
+
+
+
+
+
+
+
+
+
+
+
+ - Sim
+ - ConsoleType.SimChat
+
+
+
+
+
+
+
+
+ - ConsoleType.TCP
+
+
+
+
+
+
+
+
+
+
+ - MainConsole
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - OpenSim.Framework
+
+
+
+
+ - OpenSim.Framework
+
+
+
+
+ - OpenSim.Framework
+
+
+
+
+
+
+
+
+
+
+
+
+ - Data
+
+
+
+
+
+
+
+
+ - Description
+
+
+
+
+
+
+
+
+ - FullID
+
+
+
+
+
+
+
+
+ - InvType
+
+
+
+
+
+
+
+
+ - Name
+
+
+
+
+
+
+
+
+ - Type
+
+
+
+
+
+
+
+
+
+
+
+
+ - PrimData.PrimData()
+ - ParentID
+ - System.UInt32
+ - 0
+
+
+
+
+
+
+
+
+ - FullID
+
+
+
+
+
+
+
+
+ - LocalID
+
+
+
+
+
+
+
+
+ - OwnerID
+
+
+
+
+
+
+
+
+ - ParentID
+
+
+
+
+
+
+
+
+ - PathBegin
+
+
+
+
+
+
+
+
+ - PathCurve
+
+
+
+
+
+
+
+
+ - PathEnd
+
+
+
+
+
+
+
+
+ - PathRadiusOffset
+
+
+
+
+
+
+
+
+ - PathRevolutions
+
+
+
+
+
+
+
+
+ - PathScaleX
+
+
+
+
+
+
+
+
+ - PathScaleY
+
+
+
+
+
+
+
+
+ - PathShearX
+
+
+
+
+
+
+
+
+ - PathShearY
+
+
+
+
+
+
+
+
+ - PathSkew
+
+
+
+
+
+
+
+
+ - PathTaperX
+
+
+
+
+
+
+
+
+ - PathTaperY
+
+
+
+
+
+
+
+
+ - PathTwist
+
+
+
+
+
+
+
+
+ - PathTwistBegin
+
+
+
+
+
+
+
+
+ - PCode
+
+
+
+
+
+
+
+
+ - Position
+
+
+
+
+
+
+
+
+ - ProfileBegin
+
+
+
+
+
+
+
+
+ - ProfileCurve
+
+
+
+
+
+
+
+
+ - ProfileEnd
+
+
+
+
+
+
+
+
+ - ProfileHollow
+
+
+
+
+
+
+
+
+ - Rotation
+
+
+
+
+
+
+
+
+ - Scale
+
+
+
+
+
+
+
+
+ - Texture
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Login
+ - LoginService
+ - LogOn
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - AgentID
+
+
+
+
+
+
+
+
+ - circuitcode
+
+
+
+
+ - circuitcode
+ - AgentCircuitData.circuitcode
+
+
+
+
+
+
+
+
+ - firstname
+
+
+
+
+ - firstname
+ - AgentCircuitData.firstname
+
+
+
+
+
+
+
+
+ - lastname
+
+
+
+
+ - lastname
+ - AgentCircuitData.lastname
+
+
+
+
+
+
+
+
+ - SecureSessionID
+
+
+
+
+
+
+
+
+ - SessionID
+
+
+
+
+
+
+
+
+
+
+ - OpenSim.Framework.Interfaces.ARequest
+
+
+ - OpenSim.Framework.Interfaces.ARequest
+
+
+
+
+
+
+
+
+ - AssetID
+
+
+
+
+
+
+
+
+ - IsTexture
+
+
+
+
+
+
+
+
+
+
+
+
+ - Authorised
+
+
+
+
+ - Authorised
+ - AuthenticateResponse.Authorised
+
+
+
+
+
+
+
+
+ - LoginInfo
+
+
+
+
+ - Login
+ - LoginInfo
+ - LogOn
+
+
+
+
+
+
+
+
+
+
+ - Plugin
+ - OpenSim.Framework.Interfaces.IAssetPlugin
+
+
+
+
+
+
+
+
+ - GetAssetServer
+
+
+
+
+
+
+
+
+
+
+
+
+ - IsTexture
+
+
+
+
+
+
+
+
+
+
+
+
+ - ID
+ - assetID
+ - Id
+
+
+
+
+
+
+
+
+ - ServerUrl
+
+
+
+
+ - ServerKey
+
+
+
+
+ - ServerUrl
+ - IAssetServer.SetServerInfo(String, String):Void
+
+
+
+
+
+
+
+
+
+
+ - Plugin
+ - OpenSim.Framework.Interfaces.IGridPlugin
+
+
+
+
+
+
+
+
+ - GetGridServer
+
+
+
+
+
+
+
+
+
+
+
+
+ - ID
+ - sessionID
+ - Id
+
+
+
+
+ - ID
+ - agentID
+ - Id
+
+
+
+
+
+
+
+
+ - GetName
+
+
+
+
+
+
+
+
+ - ID
+ - sessionID
+ - Id
+
+
+
+
+ - ID
+ - agentID
+ - Id
+
+
+
+
+ - Logout
+ - LogoutSession
+ - LogOff
+
+
+
+
+
+
+
+
+ - Neighbours
+ - IGridServer.RequestNeighbours():NeighbourInfo[]
+
+
+
+
+
+
+
+
+ - IGridServer.RequestUUIDBlock():UUIDBlock
+
+
+
+
+
+
+
+
+ - ServerUrl
+
+
+
+
+ - SendKey
+
+
+
+
+ - RecvKey
+
+
+
+
+ - IGridServer.SetServerInfo(String, String, String):Void
+ - Recv
+ - RecvKey
+
+
+
+
+ - ServerUrl
+ - IGridServer.SetServerInfo(String, String, String):Void
+
+
+
+
+
+
+
+
+
+
+
+
+ - ID
+ - primID
+ - Id
+
+
+
+
+
+
+
+
+ - ShutDown
+ - method
+ - ShutDown
+ - Shutdown
+
+
+
+
+
+
+
+
+
+
+ - Sim
+ - OpenSim.Framework.Interfaces.ISimConfig
+
+
+
+
+
+
+
+
+ - GetConfigObject
+
+
+
+
+
+
+
+
+
+
+
+
+ - ID
+ - agentID
+ - Id
+
+
+
+
+
+
+
+
+ - ServerUrl
+
+
+
+
+ - SendKey
+
+
+
+
+ - RecvKey
+
+
+
+
+ - IUserServer.SetServerInfo(String, String, String):Void
+ - Recv
+ - RecvKey
+
+
+
+
+ - ServerUrl
+ - IUserServer.SetServerInfo(String, String, String):Void
+
+
+
+
+
+
+
+
+
+
+
+
+ - Logout
+ - LogoutSession
+ - LogOff
+
+
+
+
+
+
+
+
+
+
+ - Login
+ - Login
+ - LogOn
+
+
+
+
+
+
+
+
+ - Agent
+
+
+
+
+
+
+
+
+ - BaseFolder
+
+
+
+
+
+
+
+
+ - First
+
+
+
+
+
+
+
+
+ - InventoryFolder
+
+
+
+
+
+
+
+
+ - Last
+
+
+
+
+
+
+
+
+ - SecureSession
+
+
+
+
+
+
+
+
+ - Session
+
+
+
+
+
+
+
+
+
+
+ - Neighbour
+ - OpenSim.Framework.Interfaces.NeighbourInfo
+
+
+
+
+
+
+
+
+ - regionhandle
+
+
+
+
+ - regionhandle
+ - NeighbourInfo.regionhandle
+
+
+
+
+
+
+
+
+ - RegionLocX
+
+
+
+
+
+
+
+
+ - RegionLocY
+
+
+
+
+
+
+
+
+ - sim_ip
+
+
+
+
+ - sim
+ - NeighbourInfo.sim_ip
+
+
+
+
+ - sim_ip
+
+
+
+
+
+
+
+
+ - sim_port
+
+
+
+
+ - sim
+ - NeighbourInfo.sim_port
+
+
+
+
+ - sim_port
+
+
+
+
+
+
+
+
+
+
+
+
+ - agentcircuits
+
+
+
+
+ - agentcircuits
+
+
+
+
+ - agentcircuits
+ - RemoteGridBase.agentcircuits:Dictionary`2<System.UInt32,OpenSim.Framework.Interfaces.AgentCircuitData>
+
+
+
+
+
+
+
+
+ - Logout
+ - LogoutSession
+ - LogOff
+
+
+
+
+
+
+
+
+
+
+ - Sim
+ - OpenSim.Framework.Interfaces.SimConfig
+
+
+
+
+
+
+
+
+ - AssetSendKey
+
+
+
+
+
+
+
+
+ - AssetURL
+
+
+
+
+
+
+
+
+ - GridRecvKey
+
+
+
+
+ - Recv
+ - SimConfig.GridRecvKey
+
+
+
+
+
+
+
+
+ - GridSendKey
+
+
+
+
+
+
+
+
+ - GridURL
+
+
+
+
+
+
+
+
+ - IPListenAddr
+
+
+
+
+ - Addr
+ - SimConfig.IPListenAddr
+
+
+
+
+
+
+
+
+ - IPListenPort
+
+
+
+
+
+
+
+
+ - RegionHandle
+
+
+
+
+
+
+
+
+ - RegionLocX
+
+
+
+
+
+
+
+
+ - RegionLocY
+
+
+
+
+
+
+
+
+ - RegionName
+
+
+
+
+
+
+
+
+ - SimConfig.SaveMap(Single[]):Void
+ - heightmap
+ - heightmap
+
+
+
+
+
+
+
+
+ - UserRecvKey
+
+
+
+
+ - Recv
+ - SimConfig.UserRecvKey
+
+
+
+
+
+
+
+
+ - UserSendKey
+
+
+
+
+
+
+
+
+ - UserURL
+
+
+
+
+
+
+
+
+
+
+ - UUIDBlock
+
+
+
+
+ - OpenSim.Framework.Interfaces.UUIDBlock
+
+
+ - OpenSim.Framework.Interfaces.UUIDBlock
+
+
+
+
+
+
+
+
+ - BlockEnd
+
+
+
+
+
+
+
+
+ - BlockStart
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - AgentInventory.AgentInventory()
+ -
AgentInventory.AgentInventory()
AgentInventory.Initialise():Void
+
+
+
+
+
+
+
+
+ - ID
+ - folderID
+ - Id
+
+
+
+
+
+
+
+
+ - AgentID
+
+
+
+
+
+
+
+
+ - ID
+ - folderID
+ - Id
+
+
+
+
+
+
+
+
+ - Initialise
+ - AgentInventory.Initialise():Void
+
+
+
+
+
+
+
+
+ - InventoryFolders
+
+
+
+
+
+
+
+
+ - InventoryItems
+
+
+
+
+
+
+
+
+ - InventoryRoot
+
+
+
+
+
+
+
+
+ - LastCached
+
+
+
+
+
+
+
+
+ - ID
+ - itemID
+ - Id
+
+
+
+
+
+
+
+
+ - Wearables
+
+
+
+
+ - Wearables
+ - AgentInventory.Wearables
+
+
+
+
+
+
+
+
+
+
+
+
+ - AssetID
+
+
+
+
+
+
+
+
+ - ItemID
+
+
+
+
+
+
+
+
+
+
+
+
+ - DefaultType
+
+
+
+
+
+
+
+
+ - FolderID
+
+
+
+
+
+
+
+
+ - FolderName
+
+
+
+
+
+
+
+
+ - Items
+
+
+
+
+ - System.Collections.Generic.List`1<OpenSim.Framework.Inventory.InventoryItem>
+ - InventoryFolder.Items
+
+
+
+
+
+
+
+
+ - OwnerID
+
+
+
+
+
+
+
+
+ - ParentID
+
+
+
+
+
+
+
+
+ - Version
+
+
+
+
+
+
+
+
+
+
+
+
+ - AssetID
+
+
+
+
+
+
+
+
+ - CreatorID
+
+
+
+
+
+
+
+
+ - Description
+
+
+
+
+
+
+
+
+ - FolderID
+
+
+
+
+
+
+
+
+ - InvType
+
+
+
+
+
+
+
+
+ - ItemID
+
+
+
+
+
+
+
+
+ - Name
+
+
+
+
+
+
+
+
+ - OwnerID
+
+
+
+
+
+
+
+
+ - Type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Sim
+ - OpenSim.Framework.Sims.SimProfile
+
+
+
+
+
+
+
+
+ - SimProfile.LoadFromGrid(UInt64, String, String, String):SimProfile
+ - System.Exception
+
+
+
+
+ - GridURL
+
+
+
+
+ - SendKey
+
+
+
+
+ - RecvKey
+
+
+
+
+ - SimProfile.LoadFromGrid(UInt64, String, String, String):SimProfile
+ - Recv
+ - RecvKey
+
+
+
+
+ - region_handle
+
+
+
+
+ - GridURL
+
+
+
+
+ - RecvKey
+ - SimProfile.LoadFromGrid(UInt64, String, String, String):SimProfile
+
+
+
+
+ - SimProfile.LoadFromGrid(UInt64, String, String, String):SimProfile
+ - System.Convert.ToUInt16(System.Object)
+ - System.Convert.ToUInt16(System.Object,System.IFormatProvider)
+
+
+
+
+ - SimProfile.LoadFromGrid(UInt64, String, String, String):SimProfile
+ - System.Convert.ToUInt32(System.Object)
+ - System.Convert.ToUInt32(System.Object,System.IFormatProvider)
+
+
+ - SimProfile.LoadFromGrid(UInt64, String, String, String):SimProfile
+ - System.Convert.ToUInt32(System.Object)
+ - System.Convert.ToUInt32(System.Object,System.IFormatProvider)
+
+
+
+
+ - SimProfile.LoadFromGrid(UInt64, String, String, String):SimProfile
+ - System.Convert.ToUInt64(System.Object)
+ - System.Convert.ToUInt64(System.Object,System.IFormatProvider)
+
+
+
+
+ - SimProfile.LoadFromGrid(UInt64, String, String, String):SimProfile
+ - System.UInt64.ToString
+ - System.UInt64.ToString(System.IFormatProvider)
+
+
+
+
+
+
+
+
+
+
+ - Sim
+ - OpenSim.Framework.Sims.SimProfileBase
+
+
+
+
+
+
+
+
+ - caps_url
+
+
+
+
+ - caps_url
+
+
+
+
+
+
+
+
+ - recvkey
+
+
+
+
+ - recvkey
+ - SimProfileBase.recvkey
+
+
+
+
+
+
+
+
+ - regionhandle
+
+
+
+
+ - regionhandle
+ - SimProfileBase.regionhandle
+
+
+
+
+
+
+
+
+ - RegionLocX
+
+
+
+
+
+
+
+
+ - RegionLocY
+
+
+
+
+
+
+
+
+ - regionname
+
+
+
+
+ - regionname
+ - SimProfileBase.regionname
+
+
+
+
+
+
+
+
+ - sendkey
+
+
+
+
+ - sendkey
+ - SimProfileBase.sendkey
+
+
+
+
+
+
+
+
+ - sim_ip
+
+
+
+
+ - sim
+ - SimProfileBase.sim_ip
+
+
+
+
+ - sim_ip
+
+
+
+
+
+
+
+
+ - sim_port
+
+
+
+
+ - sim
+ - SimProfileBase.sim_port
+
+
+
+
+ - sim_port
+
+
+
+
+
+
+
+
+ - UUID
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Heightmap
+ - OpenSim.Framework.Terrain.HeightmapGenHills
+
+
+
+
+
+
+
+
+ - HeightmapGenHills.GenerateHeightmap(Int32, Single, Single, Boolean):Single[]
+ - num
+ - numHills
+
+
+
+
+ - Heightmap
+ - HeightmapGenHills.GenerateHeightmap(Int32, Single, Single, Boolean):Single[]
+
+
+
+
+
+
+
+
+ - HeightmapGenHills.NumHills
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - UserProfile.UserProfile()
+ - IsGridGod
+ - System.Boolean
+ - false
+
+
+
+
+
+
+
+
+ - Sim
+ - UserProfile.AddSimCircuit(UInt32, LLUUID):Void
+
+
+
+
+ - regionUUID
+
+
+
+
+
+
+
+
+ - AssetURL
+
+
+
+
+
+
+
+
+ - Circuits
+
+
+
+
+
+
+
+
+ - CurrentSecureSessionID
+
+
+
+
+
+
+
+
+ - CurrentSessionID
+
+
+
+
+
+
+
+
+ - firstname
+
+
+
+
+ - firstname
+ - UserProfile.firstname
+
+
+
+
+
+
+
+
+ - homelookat
+
+
+
+
+ - homelookat
+ - UserProfile.homelookat
+
+
+
+
+
+
+
+
+ - homepos
+
+
+
+
+ - homepos
+ - UserProfile.homepos
+
+
+
+
+
+
+
+
+ - homeregionhandle
+
+
+
+
+ - homeregionhandle
+ - UserProfile.homeregionhandle
+
+
+
+
+
+
+
+
+ - Inventory
+
+
+
+
+
+
+
+
+ - IsGridGod
+
+
+
+
+
+
+
+
+ - IsLocal
+
+
+
+
+
+
+
+
+ - lastname
+
+
+
+
+ - lastname
+ - UserProfile.lastname
+
+
+
+
+
+
+
+
+ - MD5passwd
+
+
+
+
+
+
+
+
+ - UUID
+
+
+
+
+
+
+
+
+
+
+
+
+ - response
+
+
+
+
+ - Customise
+ - UserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
+
+
+
+
+ - UserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
+ - GridResp
+ - Nwc.XmlRpc.XmlRpcResponse
+
+
+
+
+ - UserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
+ - System.Single.ToString
+ - System.Single.ToString(System.IFormatProvider)
+
+
+ - UserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
+ - System.Single.ToString
+ - System.Single.ToString(System.IFormatProvider)
+
+
+ - UserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
+ - System.Single.ToString
+ - System.Single.ToString(System.IFormatProvider)
+
+
+ - UserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
+ - System.Single.ToString
+ - System.Single.ToString(System.IFormatProvider)
+
+
+ - UserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
+ - System.Single.ToString
+ - System.Single.ToString(System.IFormatProvider)
+
+
+ - UserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
+ - System.Single.ToString
+ - System.Single.ToString(System.IFormatProvider)
+
+
+
+
+ - UserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
+ - System.UInt32.ToString
+ - System.UInt32.ToString(System.IFormatProvider)
+
+
+ - UserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
+ - System.UInt32.ToString
+ - System.UInt32.ToString(System.IFormatProvider)
+
+
+
+
+
+
+
+
+ - DefaultStartupMsg
+
+
+
+
+
+
+
+
+ - GridRecvKey
+
+
+
+
+ - Recv
+ - UserProfileManager.GridRecvKey
+
+
+
+
+
+
+
+
+ - GridSendKey
+
+
+
+
+
+
+
+
+ - GridURL
+
+
+
+
+
+
+
+
+ - UserProfileManager.ParseXMLRPC(String):String
+ - System.Exception
+
+
+
+
+ - UserProfileManager.ParseXMLRPC(String):String
+
+
+
+
+ - UserProfileManager.ParseXMLRPC(String):String
+ - System.Int32.ToString
+ - System.Int32.ToString(System.IFormatProvider)
+
+
+ - UserProfileManager.ParseXMLRPC(String):String
+ - System.Int32.ToString
+ - System.Int32.ToString(System.IFormatProvider)
+
+
+
+
+ - UserProfileManager.ParseXMLRPC(String):String
+ - System.Single.ToString
+ - System.Single.ToString(System.IFormatProvider)
+
+
+ - UserProfileManager.ParseXMLRPC(String):String
+ - System.Single.ToString
+ - System.Single.ToString(System.IFormatProvider)
+
+
+ - UserProfileManager.ParseXMLRPC(String):String
+ - System.Single.ToString
+ - System.Single.ToString(System.IFormatProvider)
+
+
+ - UserProfileManager.ParseXMLRPC(String):String
+ - System.Single.ToString
+ - System.Single.ToString(System.IFormatProvider)
+
+
+ - UserProfileManager.ParseXMLRPC(String):String
+ - System.Single.ToString
+ - System.Single.ToString(System.IFormatProvider)
+
+
+ - UserProfileManager.ParseXMLRPC(String):String
+ - System.Single.ToString
+ - System.Single.ToString(System.IFormatProvider)
+
+
+ - UserProfileManager.ParseXMLRPC(String):String
+ - System.Single.ToString
+ - System.Single.ToString(System.IFormatProvider)
+
+
+ - UserProfileManager.ParseXMLRPC(String):String
+ - System.Single.ToString
+ - System.Single.ToString(System.IFormatProvider)
+
+
+ - UserProfileManager.ParseXMLRPC(String):String
+ - System.Single.ToString
+ - System.Single.ToString(System.IFormatProvider)
+
+
+
+
+
+
+
+
+ - UserProfileManager.SetKeys(String, String, String, String):Void
+ - recv
+ - recvKey
+
+
+
+
+ - url
+ - UserProfileManager.SetKeys(String, String, String, String):Void
+
+
+
+
+
+
+
+
+
+
+
+
+ - UserProfileManagerBase.AuthenticateUser(String, String, String):Boolean
+ - firstname
+ - firstname
+
+
+
+
+ - UserProfileManagerBase.AuthenticateUser(String, String, String):Boolean
+ - lastname
+ - lastname
+
+
+
+
+ - UserProfileManagerBase.AuthenticateUser(String, String, String):Boolean
+ - passwd
+ - passwd
+
+
+
+
+
+
+
+
+ - MD5passwd
+
+
+
+
+ - UserProfileManagerBase.CreateNewProfile(String, String, String):UserProfile
+ - firstname
+ - firstname
+
+
+
+
+ - UserProfileManagerBase.CreateNewProfile(String, String, String):UserProfile
+ - lastname
+ - lastname
+
+
+
+
+ - UserProfileManagerBase.CreateNewProfile(String, String, String):UserProfile
+ - M
+ - MD5passwd
+
+
+
+
+
+
+
+
+ - ProfileLLUUID
+
+
+
+
+ - ProfileLLUUID
+
+
+
+
+ - UserProfileManagerBase.GetProfileByLLUUID(LLUUID):UserProfile
+
+
+
+
+
+
+
+
+ - UserProfileManagerBase.GetProfileByName(String, String):UserProfile
+ - firstname
+ - firstname
+
+
+
+
+ - UserProfileManagerBase.GetProfileByName(String, String):UserProfile
+ - lastname
+ - lastname
+
+
+
+
+
+
+
+
+ - ID
+ - agentID
+ - Id
+
+
+
+
+
+
+
+
+ - GodID
+
+
+
+
+ - ID
+ - GodID
+ - Id
+
+
+
+
+
+
+
+
+ - UserProfiles
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - OpenSim.Framework.Utilities.BlockingQueue`1
+ - Queue
+
+
+
+
+
+
+
+
+ - Util
+ - OpenSim.Framework.Utilities.Util
+
+
+
+
+ - Util
+
+
+
+
+ - Util
+ - System.Web.Util
+
+
+
+
+
+
+
+
+ - Xfer
+ - Util.GetNextXferID():UInt32
+
+
+
+
+ - Util.GetNextXferID():UInt32
+
+
+
+
+ - GetNextXferID
+
+
+
+
+
+
+
+
+ - X
+
+
+
+
+ - Y
+
+
+
+
+ - Util.UIntsToLong(UInt32, UInt32):UInt64
+ - X
+
+
+
+
+ - Util.UIntsToLong(UInt32, UInt32):UInt64
+ - Y
+
+
+
+
+ - Ints
+ - Util.UIntsToLong(UInt32, UInt32):UInt64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - OpenSim.GridInterfaces.Local
+
+
+
+
+ - OpenSim.GridInterfaces.Local
+
+
+
+
+ - OpenSim.GridInterfaces.Local
+
+
+
+
+
+
+
+
+
+
+
+
+ - Data
+
+
+
+
+
+
+
+
+ - Name
+
+
+
+
+
+
+
+
+ - Type
+
+
+
+
+
+
+
+
+ - UUID
+
+
+
+
+
+
+
+
+
+
+ - AssetUUIDQuery
+
+
+
+
+
+
+
+
+ - 'asset'
+ - AssetUUIDQuery.Match(AssetStorage):Boolean
+
+
+
+
+
+
+
+
+
+
+ - Plugin
+ - OpenSim.GridInterfaces.Local.LocalAssetPlugin
+
+
+
+
+
+
+
+
+
+
+ - LocalAssetServer.LocalAssetServer()
+ - System.Exception
+
+
+
+
+
+
+
+
+ - LocalAssetServer.LoadAsset(AssetBase, Boolean, String):Void
+
+
+
+
+ - image
+ - LocalAssetServer.LoadAsset(AssetBase, Boolean, String):Void
+
+
+
+
+
+
+
+
+ - 'asset'
+ - LocalAssetServer.UploadNewAsset(AssetBase):Void
+
+
+
+
+
+
+
+
+
+
+ - Plugin
+ - OpenSim.GridInterfaces.Local.LocalGridPlugin
+
+
+
+
+
+
+
+
+
+
+ - Logout
+ - LogoutSession
+ - LogOff
+
+
+
+
+
+
+
+
+ - Sessions
+
+
+
+
+ - System.Collections.Generic.List`1<OpenSim.Framework.Interfaces.Login>
+ - LocalGridServer.Sessions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - OpenSim.GridInterfaces.Remote
+
+
+
+
+ - OpenSim.GridInterfaces.Remote
+
+
+
+
+ - OpenSim.GridInterfaces.Remote
+
+
+
+
+
+
+
+
+
+
+ - Plugin
+ - OpenSim.GridInterfaces.Remote.RemoteAssetPlugin
+
+
+
+
+
+
+
+
+ - Plugin
+ - OpenSim.GridInterfaces.Remote.RemoteGridPlugin
+
+
+
+
+
+
+
+
+
+
+ - agentcircuits
+
+
+
+
+
+
+
+
+ - circuitcode
+ - RemoteGridServer.AuthenticateSession(LLUUID, LLUUID, UInt32):AuthenticateResponse
+ - circuitCode
+ - IGridServer.AuthenticateSession(LLUUID, LLUUID, UInt32):AuthenticateResponse
+
+
+
+
+
+
+
+
+ - RemoteGridServer.GridRecvKey
+
+
+
+
+
+
+
+
+ - RemoteGridServer.GridSendKey
+
+
+
+
+
+
+
+
+ - RemoteGridServer.LogoutSession(LLUUID, LLUUID, UInt32):Boolean
+ - WebRequest.Create(Uri):WebRequest
+ - WebRequest.Create(String):WebRequest
+
+
+
+
+ - RemoteGridServer.LogoutSession(LLUUID, LLUUID, UInt32):Boolean
+ - GridResponse
+ - System.String
+
+
+
+
+ - Logout
+ - LogoutSession
+ - LogOff
+
+
+
+
+ - 'sessionID'
+ - RemoteGridServer.LogoutSession(LLUUID, LLUUID, UInt32):Boolean
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - OpenSim.Physics.Manager
+
+
+
+
+ - OpenSim.Physics.Manager
+
+
+
+
+ - OpenSim.Physics.Manager
+
+
+
+
+
+
+
+
+
+
+ - Plugin
+ - OpenSim.Physics.Manager.IPhysicsPlugin
+
+
+
+
+
+
+
+
+ - GetName
+
+
+
+
+
+
+
+
+ - GetScene
+
+
+
+
+
+
+
+
+
+
+
+
+ - 'heightMap'
+ - NullPhysicsScene.SetTerrain(Single[]):Void
+
+
+
+
+
+
+
+
+ - NullPhysicsScene.Simulate(Single):Void
+ - System.Int32.ToString
+ - System.Int32.ToString(System.IFormatProvider)
+
+
+
+
+
+
+
+
+
+
+
+
+ - Kinematic
+ - PhysicsActor.Kinematic:Boolean
+
+
+
+
+
+
+
+
+
+
+
+
+ - PhysicsManager.GetPhysicsScene(String):PhysicsScene
+ - System.String.Format(System.String,System.Object)
+ - System.String.Format(System.IFormatProvider,System.String,System.Object[])
+
+
+
+
+
+
+
+
+ - Plugins
+ - PhysicsManager.LoadPlugins():Void
+
+
+
+
+
+
+
+
+
+
+
+
+ - PhysicsVector.PhysicsVector(Single, Single, Single)
+ - x
+
+
+
+
+ - PhysicsVector.PhysicsVector(Single, Single, Single)
+ - y
+
+
+
+
+ - PhysicsVector.PhysicsVector(Single, Single, Single)
+ - z
+
+
+
+
+
+
+
+
+ - X
+
+
+
+
+ - X
+ - PhysicsVector.X
+
+
+
+
+
+
+
+
+ - Y
+
+
+
+
+ - Y
+ - PhysicsVector.Y
+
+
+
+
+
+
+
+
+ - Z
+
+
+
+
+ - Z
+ - PhysicsVector.Z
+
+
+
+
+
+
+
+
+ - PhysicsVector.Zero
+ - OpenSim.Physics.Manager.PhysicsVector
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - OpenSim.RegionServer
+
+
+
+
+ - OpenSim.RegionServer
+
+
+
+
+ - OpenSim.RegionServer
+
+
+
+
+ - OpenSim.RegionServer
+
+
+
+
+ - OpenSim.RegionServer
+
+
+
+
+
+
+
+
+
+
+
+
+ - ID
+ - transactionID
+ - Id
+
+
+
+
+
+
+
+
+ - ID
+ - transactionID
+ - Id
+
+
+
+
+
+
+
+
+ - ID
+ - transactionID
+ - Id
+
+
+
+
+
+
+
+
+ - ID
+ - assetID
+ - Id
+
+
+
+
+ - AgentAssetUpload.HandleUploadPacket(AssetUploadRequestPacket, LLUUID):Void
+ - System.Int32.ToString(System.String)
+ - System.Int32.ToString(System.String,System.IFormatProvider)
+
+
+ - AgentAssetUpload.HandleUploadPacket(AssetUploadRequestPacket, LLUUID):Void
+ - System.Int32.ToString(System.String)
+ - System.Int32.ToString(System.String,System.IFormatProvider)
+
+
+
+
+ - 'assetID'
+ - AgentAssetUpload.HandleUploadPacket(AssetUploadRequestPacket, LLUUID):Void
+
+
+ - 'pack'
+ - AgentAssetUpload.HandleUploadPacket(AssetUploadRequestPacket, LLUUID):Void
+
+
+
+
+
+
+
+
+ - AgentAssetUpload.HandleXferPacket(SendXferPacketPacket):Void
+ - xfer
+ - xferPacket
+
+
+
+
+ - Xfer
+ - AgentAssetUpload.HandleXferPacket(SendXferPacketPacket):Void
+
+
+
+
+
+
+
+
+
+
+
+
+ - AssetTransaction.AssetTransaction()
+ - UploadComplete
+ - System.Boolean
+ - false
+
+
+
+
+
+
+
+
+ - AddToInventory
+
+
+
+
+
+
+
+
+ - Asset
+
+
+
+
+
+
+
+
+ - InventFolder
+
+
+
+
+
+
+
+
+ - TransactionID
+
+
+
+
+
+
+
+
+ - UploadComplete
+
+
+
+
+
+
+
+
+ - XferID
+
+
+
+
+ - Xfer
+ - AssetTransaction.XferID
+
+
+
+
+
+
+
+
+
+
+ - Grid
+ - OpenSim.Framework.Grid
+
+
+
+
+
+
+
+
+ - AssetDll
+
+
+
+
+
+
+
+
+ - AssetServer
+
+
+
+
+
+
+
+
+ - GridDll
+
+
+
+
+
+
+
+
+ - GridServer
+
+
+
+
+
+
+
+
+ - Initialise
+ - Grid.Initialise():Void
+
+
+
+
+
+
+
+
+ - Grid.LoadAssetDll(String):IAssetServer
+
+
+
+
+
+
+
+
+ - Grid.LoadGridDll(String):IGridServer
+
+
+
+
+
+
+
+
+
+
+ - Sim
+ - OpenSim.OpenSimApplication
+
+
+
+
+
+
+
+
+ - OpenSimApplication.RemoveClientCircuit(UInt32):Void
+ - circuitcode
+ - circuitcode
+
+
+
+
+
+
+
+
+ - OpenSimApplication.SendPacketTo(Byte[], Int32, SocketFlags, UInt32):Void
+ - circuitcode
+ - circuitcode
+
+
+
+
+
+
+
+
+ - StartUp
+ - method
+ - StartUp
+ - Startup
+
+
+
+
+
+
+
+
+
+
+ - Sim
+ - OpenSim.OpenSimMain
+
+
+
+
+ - OpenSim.OpenSimMain
+ - System.Timers.Timer, System.Net.Sockets.Socket
+
+
+
+
+
+
+
+
+ - OpenSimMain.OpenSimMain()
+ - loginserver
+ - System.Boolean
+ - false
+
+
+ - OpenSimMain.OpenSimMain()
+ - sandbox
+ - System.Boolean
+ - false
+
+
+
+
+
+
+
+
+ - _physicsEngine
+
+
+
+
+ - _physicsEngine
+
+
+
+
+
+
+
+
+ - OpenSimMain.LoadConfigDll(String):SimConfig
+
+
+
+
+
+
+
+
+ - loginserver
+
+
+
+
+ - loginserver
+ - OpenSimMain.loginserver
+
+
+
+
+
+
+
+
+ - sandbox
+
+
+
+
+
+
+
+
+ - Server
+
+
+
+
+
+
+
+
+ - Timer.set_Interval(Double):Void
+ - OpenSimMain.StartUp():Void
+
+
+
+
+ - OpenSimMain.StartUp():Void
+ - System.UInt32.ToString
+ - System.UInt32.ToString(System.IFormatProvider)
+
+
+ - OpenSimMain.StartUp():Void
+ - System.UInt32.ToString
+ - System.UInt32.ToString(System.IFormatProvider)
+
+
+
+
+
+
+
+
+
+
+ - Sim
+ - OpenSim.OpenSimRoot
+
+
+
+
+
+
+
+
+ - OpenSimRoot.OpenSimRoot()
+ - Sandbox
+ - System.Boolean
+ - false
+
+
+
+
+
+
+
+
+ - Application
+
+
+
+
+
+
+
+
+ - AssetCache
+
+
+
+
+
+
+
+
+ - Cfg
+
+
+
+
+ - Cfg
+ - OpenSimRoot.Cfg
+
+
+
+
+
+
+
+
+ - ClientThreads
+
+
+
+
+
+
+
+
+ - GridServers
+
+
+
+
+
+
+
+
+ - HttpServer
+
+
+
+
+
+
+
+
+ - InventoryCache
+
+
+
+
+
+
+
+
+ - LocalWorld
+
+
+
+
+
+
+
+
+ - Sandbox
+
+
+
+
+
+
+
+
+ - StartUp
+ - method
+ - StartUp
+ - Startup
+
+
+
+
+
+
+
+
+ - startuptime
+
+
+
+
+ - startuptime
+ - OpenSimRoot.startuptime
+
+
+
+
+
+
+
+
+
+
+ - Que
+ - OpenSim.QueItem
+
+
+
+
+
+
+
+
+ - Incoming
+
+
+
+
+
+
+
+
+ - Packet
+
+
+
+
+
+
+
+
+
+
+ - Sim
+ - OpenSim.SimClient
+
+
+
+
+ - OpenSim.SimClient
+ - System.Timers.Timer
+
+
+
+
+
+
+
+
+ - SimClient.SimClient(EndPoint, UseCircuitCodePacket)
+ - Sequence
+ - System.UInt32
+ - 0
+
+
+ - SimClient.SimClient(EndPoint, UseCircuitCodePacket)
+ - debug
+ - System.Boolean
+ - false
+
+
+
+
+ - Timer.Timer(Double)
+ - SimClient.SimClient(EndPoint, UseCircuitCodePacket)
+
+
+
+
+ - SimClient.SimClient(EndPoint, UseCircuitCodePacket)
+ - initialcirpack
+ - initialcirpack
+
+
+
+
+
+
+
+
+ - AgentID
+
+
+
+
+
+
+
+
+ - CircuitCode
+
+
+
+
+
+
+
+
+ - ClientAvatar
+
+
+
+
+
+
+
+
+ - NewPack
+
+
+
+
+
+
+
+
+ - SimClient.newAssetFolder
+
+
+
+
+
+
+
+
+ - NewPack
+
+
+
+
+
+
+
+
+ - Pack
+
+
+
+
+ - SimClient.ProcessInPacket(Packet):Void
+ - wear
+ - libsecondlife.Packets.AgentIsNowWearingPacket
+
+
+
+
+ - op_Equality
+ - ""
+ - SimClient.ProcessInPacket(Packet):Void
+
+
+
+
+
+
+
+
+ - SimClient.ProcessOutPacket(Packet):Void
+ - System.Exception
+
+
+
+
+ - Pack
+
+
+
+
+
+
+
+
+ - SecureSessionID
+
+
+
+
+
+
+
+
+ - SessionID
+
+
+
+
+
+
+
+
+ - userEP
+
+
+
+
+
+
+
+
+
+
+ - OpenSim.SimConsole
+ - OpenSim.Framework.Console.ConsoleBase
+
+
+
+
+ - Sim
+ - OpenSim.SimConsole
+
+
+
+
+
+
+
+
+ - SimConsole.SimConsole(ConsoleType, String, Int32)
+ - constype
+ - constype
+
+
+
+
+ - SimConsole.SimConsole(ConsoleType, String, Int32)
+ - sparam
+ - sparam
+
+
+
+
+ - SimConsole.SimConsole(ConsoleType, String, Int32)
+ - iparam
+ - iparam
+
+
+
+
+ - iparam
+ - SimConsole.SimConsole(ConsoleType, String, Int32)
+
+
+
+
+ - sparam
+ - SimConsole.SimConsole(ConsoleType, String, Int32)
+
+
+
+
+
+
+
+
+ - op_Equality
+ - ""
+ - SimConsole.CmdPrompt(String, String):String
+
+
+
+
+
+
+
+
+ - SimConsole.ConsType
+
+
+
+
+
+
+
+
+ - SimConsole.MainConsolePrompt():Void
+ - System.UInt64.ToString
+ - System.UInt64.ToString(System.IFormatProvider)
+
+
+
+
+
+
+
+
+ - 'cmdparams'
+ - SimConsole.RunCmd(String, String[]):Object
+
+
+
+
+
+
+
+
+ - SimConsole.ShowCommands(String):Void
+ - System.String.Format(System.String,System.Object[])
+ - System.String.Format(System.IFormatProvider,System.String,System.Object[])
+
+
+ - SimConsole.ShowCommands(String):Void
+ - System.String.Format(System.String,System.Object[])
+ - System.String.Format(System.IFormatProvider,System.String,System.Object[])
+
+
+
+
+
+
+
+
+
+
+
+
+ - Version
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - ID
+ - imageID
+ - Id
+
+
+
+
+
+
+
+
+ - AssetRequests
+
+
+
+
+ - System.Collections.Generic.List`1<OpenSim.Assets.AssetRequest>
+ - AssetCache.AssetRequests
+
+
+
+
+
+
+
+
+ - Assets
+
+
+
+
+
+
+
+
+ - sourceAsset
+ - AssetCache.CloneAsset(LLUUID, AssetInfo):AssetInfo
+ - OpenSim.Assets.AssetInfo
+ - OpenSim.Framework.Assets.AssetBase
+
+
+
+
+ - AssetCache.CloneAsset(LLUUID, AssetInfo):AssetInfo
+
+
+
+
+ - newOwner
+ - AssetCache.CloneAsset(LLUUID, AssetInfo):AssetInfo
+
+
+
+
+ - 'sourceAsset'
+ - AssetCache.CloneAsset(LLUUID, AssetInfo):AssetInfo
+
+
+
+
+
+
+
+
+ - source
+ - AssetCache.CloneImage(LLUUID, TextureImage):TextureImage
+ - OpenSim.Assets.TextureImage
+ - OpenSim.Framework.Assets.AssetBase
+
+
+
+
+ - AssetCache.CloneImage(LLUUID, TextureImage):TextureImage
+
+
+
+
+ - newOwner
+ - AssetCache.CloneImage(LLUUID, TextureImage):TextureImage
+
+
+
+
+ - 'source'
+ - AssetCache.CloneImage(LLUUID, TextureImage):TextureImage
+
+
+
+
+
+
+
+
+ - ID
+ - agentID
+ - Id
+
+
+
+
+
+
+
+
+ - ID
+ - assetID
+ - Id
+
+
+
+
+
+
+
+
+ - RequestedAssets
+
+
+
+
+
+
+
+
+ - RequestedTextures
+
+
+
+
+
+
+
+
+ - AssetCache.RunAssetManager():Void
+ - System.Exception
+
+
+
+
+
+
+
+
+ - TextureRequests
+
+
+
+
+ - System.Collections.Generic.List`1<OpenSim.Assets.AssetRequest>
+ - AssetCache.TextureRequests
+
+
+
+
+
+
+
+
+ - Textures
+
+
+
+
+
+
+
+
+
+
+ - OpenSim.Assets.AssetInfo
+ - OpenSim.Framework.Assets.AssetBase
+
+
+
+
+
+
+
+
+ - AssetInfo.AssetInfo(AssetBase)
+ - a
+ - aBase
+
+
+
+
+ - 'aBase'
+ - AssetInfo.AssetInfo(AssetBase)
+
+
+
+
+
+
+
+
+
+
+
+
+ - AssetRequest.AssetRequest()
+ - DataPointer
+ - System.Int64
+ - 0
+
+
+ - AssetRequest.AssetRequest()
+ - NumPackets
+ - System.Int32
+ - 0
+
+
+ - AssetRequest.AssetRequest()
+ - PacketCounter
+ - System.Int32
+ - 0
+
+
+
+
+
+
+
+
+ - AssetInf
+
+
+
+
+
+
+
+
+ - DataPointer
+
+
+
+
+
+
+
+
+ - ImageInfo
+
+
+
+
+
+
+
+
+ - IsTextureRequest
+
+
+
+
+
+
+
+
+ - NumPackets
+
+
+
+
+ - Num
+ - AssetRequest.NumPackets
+
+
+
+
+
+
+
+
+ - PacketCounter
+
+
+
+
+
+
+
+
+ - RequestAssetID
+
+
+
+
+
+
+
+
+ - RequestUser
+
+
+
+
+
+
+
+
+ - TransferRequestID
+
+
+
+
+
+
+
+
+
+
+
+
+ - ID
+ - folderID
+ - Id
+
+
+
+
+
+
+
+
+ - ID
+ - clientID
+ - Id
+
+
+
+
+
+
+
+
+ - ID
+ - folderID
+ - Id
+
+
+
+
+
+
+
+
+ - ID
+ - folderID
+ - Id
+
+
+
+
+
+
+
+
+ - FetchItems
+
+
+
+
+
+
+
+
+ - FetchDescend
+
+
+
+
+
+
+
+
+ - ID
+ - agentID
+ - Id
+
+
+
+
+
+
+
+
+ - ID
+ - itemID
+ - Id
+
+
+
+
+
+
+
+
+
+
+ - OpenSim.Assets.TextureImage
+ - OpenSim.Framework.Assets.AssetBase
+
+
+
+
+
+
+
+
+ - TextureImage.TextureImage(AssetBase)
+ - a
+ - aBase
+
+
+
+
+ - 'aBase'
+ - TextureImage.TextureImage(AssetBase)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Sim
+ - OpenSim.CAPS.SimCAPSHTTPServer
+
+
+
+
+ - SimCAPSHTTPServer
+
+
+
+
+ - OpenSim.CAPS.SimCAPSHTTPServer
+ - System.Net.HttpListener
+
+
+
+
+
+
+
+
+ - SimCAPSHTTPServer.HandleRequest(Object):Void
+ - stateinfo
+ - stateinfo
+
+
+
+
+
+
+
+
+ - HTTPD
+
+
+
+
+
+
+
+
+ - Listener
+
+
+
+
+
+
+
+
+ - SimCAPSHTTPServer.LoadAdminPage():Void
+ - System.Exception
+
+
+
+
+
+
+
+
+ - SimCAPSHTTPServer.ParseLLSDXML(String):String
+
+
+
+
+ - requestBody
+ - SimCAPSHTTPServer.ParseLLSDXML(String):String
+
+
+
+
+
+
+
+
+ - SimCAPSHTTPServer.ParseREST(String, String, String):String
+ - System.Exception
+
+
+
+
+ - SimCAPSHTTPServer.ParseREST(String, String, String):String
+ - System.String.Format(System.String,System.Object[])
+ - System.String.Format(System.IFormatProvider,System.String,System.Object[])
+
+
+
+
+
+
+
+
+ - SimCAPSHTTPServer.ParseXMLRPC(String):String
+ - System.Exception
+
+
+
+
+ - SimCAPSHTTPServer.ParseXMLRPC(String):String
+
+
+
+
+ - SimCAPSHTTPServer.ParseXMLRPC(String):String
+ - System.Convert.ToUInt32(System.Object)
+ - System.Convert.ToUInt32(System.Object,System.IFormatProvider)
+
+
+
+
+
+
+
+
+ - SimCAPSHTTPServer.StartHTTP():Void
+ - System.Exception
+
+
+
+
+ - SimCAPSHTTPServer.StartHTTP():Void
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - mesh
+
+
+
+
+ - System.Collections.Generic.List`1<OpenSim.types.Triangle>
+ - Mesh.mesh
+
+
+
+
+
+
+
+
+ - Mesh.op_Addition(Mesh, Mesh):Mesh
+ - a
+
+
+
+
+ - Mesh.op_Addition(Mesh, Mesh):Mesh
+ - b
+
+
+
+
+ - Add
+ - Mesh.op_Addition(Mesh, Mesh):Mesh
+
+
+
+
+ - Mesh
+ - Mesh.op_Addition(Mesh, Mesh):Mesh
+
+
+
+
+
+
+
+
+
+
+
+
+ - A
+
+
+
+
+ - B
+
+
+
+
+ - C
+
+
+
+
+ - Triangle.Triangle(Vector3, Vector3, Vector3)
+ - A
+
+
+
+
+ - Triangle.Triangle(Vector3, Vector3, Vector3)
+ - B
+
+
+
+
+ - Triangle.Triangle(Vector3, Vector3, Vector3)
+ - C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - LocalUserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
+ - System.Int32.ToString
+ - System.Int32.ToString(System.IFormatProvider)
+
+
+ - LocalUserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
+ - System.Int32.ToString
+ - System.Int32.ToString(System.IFormatProvider)
+
+
+
+
+ - LocalUserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
+ - System.Single.ToString
+ - System.Single.ToString(System.IFormatProvider)
+
+
+ - LocalUserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
+ - System.Single.ToString
+ - System.Single.ToString(System.IFormatProvider)
+
+
+ - LocalUserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
+ - System.Single.ToString
+ - System.Single.ToString(System.IFormatProvider)
+
+
+ - LocalUserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
+ - System.Single.ToString
+ - System.Single.ToString(System.IFormatProvider)
+
+
+ - LocalUserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
+ - System.Single.ToString
+ - System.Single.ToString(System.IFormatProvider)
+
+
+ - LocalUserProfileManager.CustomiseResponse(Hashtable&, UserProfile):Void
+ - System.Single.ToString
+ - System.Single.ToString(System.IFormatProvider)
+
+
+
+
+
+
+
+
+
+
+ - OpenSim.UserServer.LoginServer
+ - OpenSim.Framework.Grid.LoginService
+
+
+
+
+ - OpenSim.UserServer.LoginServer
+ - System.Net.Sockets.Socket
+
+
+
+
+ - Login
+ - LoginServer
+ - LogOn
+
+
+
+
+
+
+
+
+ - LoginServer.LoginServer(IGridServer)
+ - _needPasswd
+ - System.Boolean
+ - false
+
+
+ - LoginServer.LoginServer(IGridServer)
+ - userAccounts
+ - System.Boolean
+ - false
+
+
+
+
+
+
+
+
+ - LoginServer.Authenticate(String, String, String):Boolean
+ - passwd
+ - passwd
+
+
+
+
+
+
+
+
+ - clientAddress
+
+
+
+
+
+
+
+
+ - Customise
+ - LoginServer.CustomiseLoginResponse(Hashtable, String, String):Void
+
+
+
+
+ - Login
+ - CustomiseLoginResponse
+ - LogOn
+
+
+
+
+
+
+
+
+ - LoginServer.EncodePassword(String):String
+ - System.String.ToLower
+ - System.String.ToLower(System.Globalization.CultureInfo)
+
+
+
+
+
+
+
+
+ - LoginServer.GetAgentId(String, String):LLUUID
+ - System.Int32.ToString(System.String)
+ - System.Int32.ToString(System.String,System.IFormatProvider)
+
+
+
+
+
+
+
+
+ - LoginServer.InitializeLogin():Void
+ - 4
+ - UserProfileManager.SetKeys(String, String, String, String):Void
+ - Welcome to OpenSim
+
+
+
+
+ - Sim
+ - OpenSim
+
+
+
+
+
+
+
+
+ - LoginServer.LoginRequest(StreamReader, StreamWriter):Void
+ - System.Exception
+
+
+
+
+ - LoginServer.LoginRequest(StreamReader, StreamWriter):Void
+ - System.Convert.ToInt32(System.String)
+ - System.Convert.ToInt32(System.String,System.IFormatProvider)
+
+
+
+
+ - op_Inequality
+ - ""
+ - LoginServer.LoginRequest(StreamReader, StreamWriter):Void
+
+
+
+
+
+
+
+
+ - writer
+ - LoginServer.ProcessXmlRequest(XmlRpcRequest, StreamWriter):Boolean
+ - System.IO.StreamWriter
+ - System.IO.TextWriter
+
+
+
+
+ - LoginServer.ProcessXmlRequest(XmlRpcRequest, StreamWriter):Boolean
+ - System.Int32.ToString
+ - System.Int32.ToString(System.IFormatProvider)
+
+
+
+
+ - LoginServer.ProcessXmlRequest(XmlRpcRequest, StreamWriter):Boolean
+ - System.Int32.ToString(System.String)
+ - System.Int32.ToString(System.String,System.IFormatProvider)
+
+
+
+
+ - 'request'
+ - LoginServer.ProcessXmlRequest(XmlRpcRequest, StreamWriter):Boolean
+
+
+ - 'writer'
+ - LoginServer.ProcessXmlRequest(XmlRpcRequest, StreamWriter):Boolean
+
+
+ - 'writer'
+ - LoginServer.ProcessXmlRequest(XmlRpcRequest, StreamWriter):Boolean
+
+
+
+
+
+
+
+
+ - remoteAddress
+
+
+
+
+
+
+
+
+ - LoginServer.RunLogin():Void
+ - System.Exception
+
+
+ - LoginServer.RunLogin():Void
+ - System.Exception
+
+
+
+
+ - LoginServer.RunLogin():Void
+ - clientEndPoint
+ - System.Net.IPEndPoint
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Avatar.Avatar()
+ - PhysicsEngineFlying
+ - System.Boolean
+ - false
+
+
+
+
+
+
+
+
+ - Avatar.Avatar(SimClient)
+ - _updateCount
+ - System.Int16
+ - 0
+
+
+ - Avatar.Avatar(SimClient)
+ - avatarAppearanceTexture
+ - libsecondlife.LLObject+TextureEntry
+ - null
+
+
+ - Avatar.Avatar(SimClient)
+ - movementflag
+ - System.Byte
+ - 0
+
+
+ - Avatar.Avatar(SimClient)
+ - updateflag
+ - System.Boolean
+ - false
+
+
+
+
+ - TheClient
+
+
+
+
+
+
+
+
+ - anim_seq
+
+
+
+
+ - anim
+ - Avatar.anim_seq
+
+
+
+
+ - anim_seq
+
+
+
+
+
+
+
+
+ - Animations
+
+
+
+
+
+
+
+
+ - RegionInfo
+
+
+
+
+ - RegionInfo
+ - Avatar.CompleteMovement(World):Void
+
+
+
+
+
+
+
+
+ - ControllingClient
+
+
+
+
+
+
+
+
+ - current_anim
+
+
+
+
+ - anim
+ - Avatar.current_anim
+
+
+
+
+ - current_anim
+
+
+
+
+
+
+
+
+ - firstname
+
+
+
+
+ - firstname
+ - Avatar.firstname
+
+
+
+
+
+
+
+
+ - lastname
+
+
+
+
+ - lastname
+ - Avatar.lastname
+
+
+
+
+
+
+
+
+ - Anims
+ - Avatar.LoadAnims():Void
+
+
+
+
+
+
+
+
+ - PhysActor
+
+
+
+
+
+
+
+
+ - PhysicsEngineFlying
+
+
+
+
+
+
+
+
+ - Anim
+ - Avatar.SendAnimPack():Void
+
+
+
+
+
+
+
+
+ - 'userInfo'
+ - Avatar.SendAppearanceToOtherAgent(SimClient):Void
+
+
+
+
+
+
+
+
+ - RegionInfo
+
+
+
+
+ - RegionInfo
+ - Avatar.SendRegionHandshake(World):Void
+
+
+
+
+
+
+
+
+
+
+
+
+ - AnimsLLUUID
+
+
+
+
+ - Anims
+ - AvatarAnimations.AnimsLLUUID
+
+
+
+
+
+
+
+
+ - AnimsNames
+
+
+
+
+ - Anims
+ - AvatarAnimations.AnimsNames
+
+
+
+
+
+
+
+
+ - Anims
+ - AvatarAnimations.LoadAnims():Void
+
+
+
+
+
+
+
+
+
+
+
+
+ - Entity.Entity()
+ - localid
+ - System.UInt32
+ - 0
+
+
+
+
+
+
+
+
+ - addForces
+
+
+
+
+
+
+
+
+ - BackUp
+ - method
+ - BackUp
+ - Backup
+
+
+
+
+
+
+
+
+ - children
+
+
+
+
+ - System.Collections.Generic.List`1<OpenSim.world.Entity>
+ - Entity.children
+
+
+
+
+
+
+
+
+ - getMesh
+
+
+
+
+
+
+
+
+ - getName
+
+
+
+
+
+
+
+
+ - localid
+
+
+
+
+ - localid
+ - Entity.localid
+
+
+
+
+
+
+
+
+ - name
+
+
+
+
+
+
+
+
+ - position
+
+
+
+
+
+
+
+
+ - rotation
+
+
+
+
+
+
+
+
+ - update
+
+
+
+
+
+
+
+
+ - uuid
+
+
+
+
+ - uuid
+ - Entity.uuid
+
+
+
+
+
+
+
+
+ - velocity
+
+
+
+
+
+
+
+
+
+
+
+
+ - X
+
+
+
+
+ - X
+ - NewForce.X
+
+
+
+
+
+
+
+
+ - Y
+
+
+
+
+ - Y
+ - NewForce.Y
+
+
+
+
+
+
+
+
+ - Z
+
+
+
+
+ - Z
+ - NewForce.Z
+
+
+
+
+
+
+
+
+
+
+ - 'UpdateFlag'
+ - updateFlag
+
+
+
+
+
+
+
+
+ - Primitive.Primitive()
+ - dirtyFlag
+ - System.Boolean
+ - false
+
+
+ - Primitive.Primitive()
+ - mesh_cutbegin
+ - System.Single
+ - 0.0
+
+
+ - Primitive.Primitive()
+ - newPrimFlag
+ - System.Boolean
+ - false
+
+
+ - Primitive.Primitive()
+ - physicsEnabled
+ - System.Boolean
+ - false
+
+
+ - Primitive.Primitive()
+ - physicstest
+ - System.Boolean
+ - false
+
+
+ - Primitive.Primitive()
+ - updateFlag
+ - System.Boolean
+ - false
+
+
+
+
+
+
+
+
+ - localID-702000
+ - Primitive.CreateFromPacket(ObjectAddPacket, LLUUID, UInt32):Void
+
+
+
+
+ - ID
+ - agentID
+ - Id
+
+
+
+
+ - ID
+ - localID
+ - Id
+
+
+
+
+ - Primitive.CreateFromPacket(ObjectAddPacket, LLUUID, UInt32):Void
+ - System.UInt32.ToString(System.String)
+ - System.UInt32.ToString(System.String,System.IFormatProvider)
+
+
+
+
+ - 'addPacket'
+ - Primitive.CreateFromPacket(ObjectAddPacket, LLUUID, UInt32):Void
+
+
+
+
+
+
+
+
+ - 'store'
+ - Primitive.CreateFromStorage(PrimData):Void
+
+
+
+
+
+
+
+
+ - dirtyFlag
+
+
+
+
+
+
+
+
+ - mesh_cutbegin
+
+
+
+
+ - cutbegin
+ - Primitive.mesh_cutbegin
+
+
+
+
+ - mesh_cutbegin
+
+
+
+
+
+
+
+
+ - mesh_cutend
+
+
+
+
+ - cutend
+ - Primitive.mesh_cutend
+
+
+
+
+ - mesh_cutend
+
+
+
+
+
+
+
+
+ - newPrimFlag
+
+
+
+
+
+
+
+
+ - PhysActor
+
+
+
+
+
+
+
+
+ - primData
+
+
+
+
+
+
+
+
+ - RemoteClient
+
+
+
+
+ - 'RemoteClient'
+ - Primitive.UpdateClient(SimClient):Void
+
+
+
+
+
+
+
+
+ - updateFlag
+
+
+
+
+
+
+
+
+ - 'pack'
+ - Primitive.UpdateObjectFlags(ObjectFlagUpdatePacket):Void
+
+
+
+
+
+
+
+
+ - 'addPacket'
+ - Primitive.UpdateShape(ObjectDataBlock):Void
+
+
+
+
+
+
+
+
+
+
+
+
+ - ScriptEngine.ScriptEngine(World)
+ - env
+ - env
+
+
+
+
+ - env
+ - ScriptEngine.ScriptEngine(World)
+
+
+
+
+
+
+
+
+ - ScriptEngine.LoadScript():Void
+
+
+
+
+
+
+
+
+
+
+
+
+ - HeightMap
+
+
+
+
+
+
+
+
+
+
+ - World
+ - OpenSim.world
+
+
+
+
+
+
+
+
+ - World.World()
+ - _localNumber
+ - System.UInt32
+ - 0
+
+
+
+
+
+
+
+
+ - _localNumber
+
+
+
+
+ - _localNumber
+
+
+
+
+
+
+
+
+ - AgentClient
+
+
+
+
+
+
+
+
+ - AgentClient
+
+
+
+
+
+
+
+
+ - DeRezPacket
+
+
+
+
+ - AgentClient
+
+
+
+
+ - World.DeRezObject(DeRezObjectPacket, SimClient):Void
+ - Rez
+ - DeRezPacket
+
+
+
+
+ - Rez
+ - World.DeRezObject(DeRezObjectPacket, SimClient):Void
+
+
+
+
+ - AgentClient
+ - World.DeRezObject(DeRezObjectPacket, SimClient):Void
+
+
+
+
+ - De
+ - World.DeRezObject(DeRezObjectPacket, SimClient):Void
+
+
+
+
+
+
+
+
+ - Entities
+
+
+
+
+
+
+
+
+ - RemoteClient
+
+
+
+
+ - Prims
+ - World.GetInitialPrims(SimClient):Void
+
+
+
+
+
+
+
+
+ - LandMap
+
+
+
+
+
+
+
+
+ - Prims
+ - World.LoadPrimsFromStorage():Void
+
+
+
+
+
+
+
+
+ - World.LoadStorageDLL(String):Boolean
+
+
+
+
+
+
+
+
+ - localStorage
+
+
+
+
+
+
+
+
+ - World.Rand
+
+
+
+
+
+
+
+
+ - Scripts
+
+
+
+
+
+
+
+
+ - RemoteClient
+
+
+
+
+ - 'RemoteClient'
+ - World.SendLayerData(SimClient):Void
+
+
+ - 'RemoteClient'
+ - World.SendLayerData(SimClient):Void
+
+
+ - 'RemoteClient'
+ - World.SendLayerData(SimClient):Void
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - IScriptHost.Register(IScript):Boolean
+ - iscript
+ - iscript
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - OpenSim.Storage.LocalStorageDb4o
+
+
+
+
+ - OpenSim.Storage.LocalStorageDb4o
+
+
+
+
+ - OpenSim.Storage.LocalStorageDb4o
+
+
+
+
+
+
+
+
+
+
+
+
+ - Db4LocalStorage.Db4LocalStorage()
+ - System.Exception
+
+
+
+
+
+
+
+
+ - 'receiver'
+ - Db4LocalStorage.LoadPrimitives(ILocalStorageReceiver):Void
+
+
+
+
+
+
+
+
+ - 'prim'
+ - Db4LocalStorage.StorePrim(PrimData):Void
+
+
+
+
+
+
+
+
+
+
+ - UUIDQuery
+
+
+
+
+
+
+
+
+ - 'prim'
+ - UUIDQuery.Match(PrimData):Boolean
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - OpenSim.Physics.BasicPhysicsPlugin
+
+
+
+
+
+
+
+
+
+ - OpenSim.Physics.BasicPhysicsPlugin
+
+
+
+
+
+
+
+
+
+ - OpenSim.Physics.BasicPhysicsPlugin
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - BasicActor.flying
+
+
+
+
+
+
+
+
+ - BasicActor.SetAcceleration(PhysicsVector):Void
+ - accel
+ - accel
+
+
+
+
+
+
+
+
+
+
+ - Plugin
+ - OpenSim.Physics.BasicPhysicsPlugin.BasicPhysicsPlugin
+
+
+
+
+ - BasicPhysicsPlugin
+ - OpenSim.Physics.BasicPhysicsPlugin
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - OpenSim.Physics.OdePlugin
+
+
+
+
+ - OpenSim.Physics.OdePlugin
+
+
+
+
+ - OpenSim.Physics.OdePlugin
+
+
+
+
+
+
+
+
+
+
+ - OdeCharacter
+
+
+
+
+
+
+
+
+ - parent_scene
+ - OdeCharacter.OdeCharacter(OdeScene, PhysicsVector)
+
+
+
+
+ - 'pos'
+ - OdeCharacter.OdeCharacter(OdeScene, PhysicsVector)
+
+
+
+
+
+
+
+
+ - OdeCharacter.capsule_geom
+
+
+
+
+
+
+
+
+ - OdeCharacter.gravityAccel
+
+
+
+
+
+
+
+
+ - OdeCharacter.SetAcceleration(PhysicsVector):Void
+ - accel
+ - accel
+
+
+
+
+
+
+
+
+
+
+ - Plugin
+ - OpenSim.Physics.OdePlugin.OdePlugin
+
+
+
+
+ - OdePlugin
+ - OpenSim.Physics.OdePlugin
+
+
+
+
+
+
+
+
+
+
+ - OdePrim._position
+
+
+
+
+
+
+
+
+ - OdePrim.SetAcceleration(PhysicsVector):Void
+ - accel
+ - accel
+
+
+
+
+
+
+
+
+
+
+
+
+ - 'position'
+ - OdeScene.AddPrim(PhysicsVector, PhysicsVector):PhysicsActor
+
+
+ - 'size'
+ - OdeScene.AddPrim(PhysicsVector, PhysicsVector):PhysicsActor
+
+
+
+
+
+
+
+
+ - OdeScene.Land
+
+
+
+
+
+
+
+
+ - OdeScene.LandGeom
+
+
+
+
+
+
+
+
+ - 'heightMap'
+ - OdeScene.SetTerrain(Single[]):Void
+
+
+ - 'heightMap'
+ - OdeScene.SetTerrain(Single[]):Void
+
+
+
+
+
+
+
+
+ - space
+
+
+
+
+ - space
+
+
+
+
+
+
+
+
+ - world
+
+
+
+
+ - world
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - OpenSim.Physics.PhysXPlugin
+
+
+
+
+ - OpenSim.Physics.PhysXPlugin
+
+
+
+
+ - OpenSim.Physics.PhysXPlugin
+
+
+
+
+
+
+
+
+
+
+
+
+ - PhysXCharacter.SetAcceleration(PhysicsVector):Void
+ - accel
+ - accel
+
+
+
+
+
+
+
+
+
+
+ - Plugin
+ - OpenSim.Physics.PhysXPlugin.PhysXPlugin
+
+
+
+
+ - PhysXPlugin
+ - OpenSim.Physics.PhysXPlugin
+
+
+
+
+
+
+
+
+
+
+ - PhysXPrim._position
+
+
+
+
+
+
+
+
+ - PhysXPrim.SetAcceleration(PhysicsVector):Void
+ - accel
+ - accel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Save it for a rainy day.
+ Save it for a rainy day.
+ Save it for a rainy day.
+
+
+
+
+ No valid permission requests were found for assembly '{0}'. You should always specify the minimum security permissions using SecurityAction.RequestMinimum.
+
+
+ Sign '{0}' with a strong name key.
+
+
+ Consider merging the types defined in '{0}' with another namespace.
+
+
+ It appears that field '{0}' is never used or is only ever assigned to. Use this field or remove it.
+
+
+ Change '{0}' to be read-only by removing the property setter.
+
+
+ The compound word '{0}' in {1} '{2}' exists as a discrete term. If your usage is intended to be single word, case it as '{3}'.
+
+
+ '{0}' is marked ComVisible(true) but has the following ComVisible(false) types in its object hierarchy: {1}
+
+
+ Consider changing the type of parameter '{0}' in {1} from {2} to its base type {3}. This method appears to only require base class members in its implementation. Suppress this violation if there is a compelling reason to require the more derived type in the method signature.
+
+
+ '{0}' contains a call chain that results in a call to a virtual method defined by the class. Review the following call stack for unintended consequences: {1}
+
+
+ Modify '{0}' to catch a more specific exception than '{1}' or rethrow the exception.
+
+
+ Remove the readonly declaration from '{0}' or change the field to one that is an immutable reference type. If the reference type '{1}' is, in fact, immutable, exclude this message.
+
+
+ Make '{0}' private or internal (Friend in VB, public private in C++) and provide a public or protected property to access it.
+
+
+ Change '{0}' in {1} to use Collection<T>, ReadOnlyCollection<T> or KeyedCollection<K,V>
+
+
+ {0} initializes field {1} of type {2} to {3}. Remove this initialization as it will be done automatically by the runtime.
+
+
+ {0} passes a literal as parameter {1} of a call to {2}. Retrieve the following string argument from a resource table instead: '{3}'
+
+
+ Consider a design that does not require that '{0}' be a reference parameter.
+
+
+ {0} creates an exception of type '{1}', an exception type that is not sufficiently specific and should never be raised by user code. If this exception instance might be thrown, use a different exception type.
+
+
+ Modify the call to {0} in method {1} to set the timer interval to a value that's greater than or equal to one second.
+
+
+ Correct the casing of member name '{0}'.
+ Correct the casing of namespace name '{0}'.
+ Correct the casing of parameter name '{0}'.
+ Correct the casing of type name '{0}'.
+
+
+ Correct the spelling of the unrecognized token '{0}' in member name '{1}'.
+ Consider providing a more meaningful name than the one-letter token '{0}' in member name '{1}'.
+ Correct the spelling of the unrecognized token '{0}' in namespace '{1}'.
+ In method {0}, correct the spelling of the unrecognized token '{1}' in parameter name '{2}' or strip it entirely if it represents any sort of hungarian notation.
+ In method {0}, consider providing a more meaningful name than the one-letter parameter name '{1}'.
+ Correct the spelling of the unrecognized token '{0}' in type name '{1}'.
+
+
+ Change member names {0} and '{1}' so that they differ by more than case.
+
+
+ Remove all underscores from member '{0}'.
+ Remove all underscores from parameter '{0}'.
+ Remove all underscores from type '{0}'.
+
+
+ Rename '{0}' so that it does not end in '{1}'.
+
+
+ Correct the spelling of the unrecognized token '{0}' in the literal '{1}'.
+
+
+ Correct the capitalization of member name '{0}'.
+ Correct the capitalization of namespace name '{0}'.
+ Correct the capitalization of parameter name '{0}'.
+ Correct the capitalization of type name '{0}'.
+
+
+ Add an AssemblyVersion attribute to '{0}'.
+
+
+ '{0}' should be marked with CLSCompliantAttribute and its value should be true.
+
+
+ Mark '{0}' as ComVisible(false) at the assembly level, then mark all types within the assembly that should be exposed to Com clients as ComVisible(true).
+
+
+ The 'this' parameter (or 'Me' in VB) of {0} is never used. Mark the member as static (or Shared in VB) or use 'this'/'Me' in the method body or at least one property accessor, if appropriate.
+
+
+ Consider making '{0}' non-public or a constant.
+
+
+ Correct the potential overflow in the operation '{0}' in '{1}'.
+
+
+ Provide a method named '{0}' as a friendly alternate for operator {1}.
+
+
+ Consider adding an overload of the equality operator for '{0}' that takes the same parameters as {1}.
+
+
+ '{0}' should override Equals.
+ '{0}' should override the equality (==) and inequality (!=) operators.
+
+
+ Change parameter name '{0}' of method {1} to '{2}' in order to match the identifier as it has been declared in {3}.
+
+
+ Modify {0} to call {1} instead of {2}.
+
+
+ Make '{0}' private.
+
+
+ Add a property getter to '{0}'.
+
+
+ {0} declares a local, '{1}', of type {2}, which is never used or is only assigned to. Use this local or remove it.
+
+
+ Parameter '{0}' of {1} is never used. Remove the parameter or use it in the method body.
+
+
+ Correct the capitalization of '{0}' in member name '{1}'.
+ 'Id' is an abbreviation and therefore is not subject to acronym casing guidelines. Correct the capitalization of 'ID' in member name '{0}' by changing it to 'Id'.
+ 'Id' is an abbreviation and therefore is not subject to acronym casing guidelines. Correct the capitalization of '{0}' in parameter name '{1}' by changing it to '{2}'.
+ Correct the capitalization of '{0}' in type name '{1}'.
+
+
+ {0} makes a call to {1} that does not explicitly provide a CultureInfo. This should be replaced with a call to {2}.
+
+
+ {0} makes a call to {1} that does not explicitly provide an IFormatProvider. This should be replaced with a call to {2}.
+
+
+ Remove the public constructors from '{0}'.
+
+
+ Replace the call to String.{0}({1}) in '{2}' with a call to String.IsNullOrEmpty.
+
+
+ The type name '{0}' conflicts in whole or in part with the namespace name '{1}'. Change either name to eliminate the conflict.
+
+
+ Implement IDisposable on '{0}' as it instantiates members of the following IDisposable types: {1}
+
+
+ Implement IDisposable on '{0}'.
+
+
+ Change the type of parameter '{0}' of method {1} from string to System.Uri, or provide an overload of {1}, that allows '{0}' to be passed as a System.Uri object.
+
+
+ Replace the term '{0}' in member name '{1}' with the preferred alternate '{2}'.
+ Replace the term '{0}' in type name '{1}' with the preferred alternate '{2}'.
+
+
+ Change '{0}' to a property if appropriate.
+
+
+ Validate parameter {0} passed to externally visible method {1}.
+
+
+
+
diff --git a/OpenSim/Framework/Communications/CommunicationsManager.cs b/OpenSim/Framework/Communications/CommunicationsManager.cs
index 550372f..db34d1b 100644
--- a/OpenSim/Framework/Communications/CommunicationsManager.cs
+++ b/OpenSim/Framework/Communications/CommunicationsManager.cs
@@ -1,71 +1,71 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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;
-using libsecondlife.Packets;
-using OpenSim.Framework.Data;
-using OpenSim.Framework.Interfaces;
-using OpenSim.Framework.Types;
-using OpenSim.Framework.Servers;
-using OpenSim.Framework.Communications.Caches;
-
-namespace OpenSim.Framework.Communications
-{
-
- public class CommunicationsManager
- {
- public IUserServices UserServer;
- public IGridServices GridServer;
- public IInventoryServices InventoryServer;
- public IInterRegionCommunications InterRegion;
- public UserProfileCache UserProfilesCache;
-
- public NetworkServersInfo ServersInfo;
- public CommunicationsManager(NetworkServersInfo serversInfo, BaseHttpServer httpServer)
- {
- ServersInfo = serversInfo;
- UserProfilesCache = new UserProfileCache(this);
- }
-
- #region Packet Handlers
- public void HandleUUIDNameRequest(LLUUID uuid, IClientAPI remote_client)
- {
- UserProfileData profileData = this.UserServer.GetUserProfile(uuid);
- if (profileData != null)
- {
- LLUUID profileId = profileData.UUID;
- string firstname = profileData.username;
- string lastname = profileData.surname;
-
- remote_client.SendNameReply(profileId, firstname, lastname);
- }
- }
-
- #endregion
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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;
+using libsecondlife.Packets;
+using OpenSim.Framework.Data;
+using OpenSim.Framework.Interfaces;
+using OpenSim.Framework.Types;
+using OpenSim.Framework.Servers;
+using OpenSim.Framework.Communications.Caches;
+
+namespace OpenSim.Framework.Communications
+{
+
+ public class CommunicationsManager
+ {
+ public IUserServices UserServer;
+ public IGridServices GridServer;
+ public IInventoryServices InventoryServer;
+ public IInterRegionCommunications InterRegion;
+ public UserProfileCache UserProfilesCache;
+
+ public NetworkServersInfo ServersInfo;
+ public CommunicationsManager(NetworkServersInfo serversInfo, BaseHttpServer httpServer)
+ {
+ ServersInfo = serversInfo;
+ UserProfilesCache = new UserProfileCache(this);
+ }
+
+ #region Packet Handlers
+ public void HandleUUIDNameRequest(LLUUID uuid, IClientAPI remote_client)
+ {
+ UserProfileData profileData = this.UserServer.GetUserProfile(uuid);
+ if (profileData != null)
+ {
+ LLUUID profileId = profileData.UUID;
+ string firstname = profileData.username;
+ string lastname = profileData.surname;
+
+ remote_client.SendNameReply(profileId, firstname, lastname);
+ }
+ }
+
+ #endregion
+ }
+}
diff --git a/OpenSim/Framework/Communications/IGridServices.cs b/OpenSim/Framework/Communications/IGridServices.cs
index d2e5ab6..1cfe2b6 100644
--- a/OpenSim/Framework/Communications/IGridServices.cs
+++ b/OpenSim/Framework/Communications/IGridServices.cs
@@ -1,41 +1,41 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Collections.Generic;
-using OpenSim.Framework.Types;
-
-namespace OpenSim.Framework.Communications
-{
- public interface IGridServices
- {
- RegionCommsListener RegisterRegion(RegionInfo regionInfos);
- List RequestNeighbours(RegionInfo regionInfo);
- RegionInfo RequestNeighbourInfo(ulong regionHandle);
- List RequestNeighbourMapBlocks(int minX, int minY, int maxX, int maxY);
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Collections.Generic;
+using OpenSim.Framework.Types;
+
+namespace OpenSim.Framework.Communications
+{
+ public interface IGridServices
+ {
+ RegionCommsListener RegisterRegion(RegionInfo regionInfos);
+ List RequestNeighbours(RegionInfo regionInfo);
+ RegionInfo RequestNeighbourInfo(ulong regionHandle);
+ List RequestNeighbourMapBlocks(int minX, int minY, int maxX, int maxY);
+ }
+}
diff --git a/OpenSim/Framework/Communications/IInterRegionCommunications.cs b/OpenSim/Framework/Communications/IInterRegionCommunications.cs
index 55f12ac..7758f2b 100644
--- a/OpenSim/Framework/Communications/IInterRegionCommunications.cs
+++ b/OpenSim/Framework/Communications/IInterRegionCommunications.cs
@@ -1,38 +1,38 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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;
-using OpenSim.Framework.Types;
-
-namespace OpenSim.Framework.Communications
-{
- public interface IInterRegionCommunications
- {
- bool InformRegionOfChildAgent(ulong regionHandle, AgentCircuitData agentData);
- bool ExpectAvatarCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position);
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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;
+using OpenSim.Framework.Types;
+
+namespace OpenSim.Framework.Communications
+{
+ public interface IInterRegionCommunications
+ {
+ bool InformRegionOfChildAgent(ulong regionHandle, AgentCircuitData agentData);
+ bool ExpectAvatarCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position);
+ }
+}
diff --git a/OpenSim/Framework/Communications/IInventoryServices.cs b/OpenSim/Framework/Communications/IInventoryServices.cs
index 0b05834..807952c 100644
--- a/OpenSim/Framework/Communications/IInventoryServices.cs
+++ b/OpenSim/Framework/Communications/IInventoryServices.cs
@@ -1,17 +1,17 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using OpenSim.Framework.Data;
-using libsecondlife;
-using OpenSim.Framework.Communications.Caches;
-
-namespace OpenSim.Framework.Communications
-{
- public delegate void InventoryFolderInfo(LLUUID userID, InventoryFolder folderInfo);
- public delegate void InventoryItemInfo(LLUUID userID, InventoryItemBase itemInfo);
-
- public interface IInventoryServices
- {
- void RequestInventoryForUser(LLUUID userID, InventoryFolderInfo folderCallBack, InventoryItemInfo itemCallBack);
- }
-}
+using System;
+using System.Collections.Generic;
+using System.Text;
+using OpenSim.Framework.Data;
+using libsecondlife;
+using OpenSim.Framework.Communications.Caches;
+
+namespace OpenSim.Framework.Communications
+{
+ public delegate void InventoryFolderInfo(LLUUID userID, InventoryFolder folderInfo);
+ public delegate void InventoryItemInfo(LLUUID userID, InventoryItemBase itemInfo);
+
+ public interface IInventoryServices
+ {
+ void RequestInventoryForUser(LLUUID userID, InventoryFolderInfo folderCallBack, InventoryItemInfo itemCallBack);
+ }
+}
diff --git a/OpenSim/Framework/Communications/IUserServices.cs b/OpenSim/Framework/Communications/IUserServices.cs
index 0b1f86c..cd97b52 100644
--- a/OpenSim/Framework/Communications/IUserServices.cs
+++ b/OpenSim/Framework/Communications/IUserServices.cs
@@ -1,43 +1,43 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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;
-using OpenSim.Framework.Data;
-
-namespace OpenSim.Framework.Communications
-{
- public interface IUserServices
- {
- UserProfileData GetUserProfile(string firstName, string lastName);
- UserProfileData GetUserProfile(string name);
- UserProfileData GetUserProfile(LLUUID avatarID);
-
- UserProfileData SetupMasterUser(string firstName, string lastName);
- UserProfileData SetupMasterUser(string firstName, string lastName, string password);
-
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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;
+using OpenSim.Framework.Data;
+
+namespace OpenSim.Framework.Communications
+{
+ public interface IUserServices
+ {
+ UserProfileData GetUserProfile(string firstName, string lastName);
+ UserProfileData GetUserProfile(string name);
+ UserProfileData GetUserProfile(LLUUID avatarID);
+
+ UserProfileData SetupMasterUser(string firstName, string lastName);
+ UserProfileData SetupMasterUser(string firstName, string lastName, string password);
+
+ }
+}
diff --git a/OpenSim/Framework/Communications/Properties/AssemblyInfo.cs b/OpenSim/Framework/Communications/Properties/AssemblyInfo.cs
index 09f6473..79f3e30 100644
--- a/OpenSim/Framework/Communications/Properties/AssemblyInfo.cs
+++ b/OpenSim/Framework/Communications/Properties/AssemblyInfo.cs
@@ -1,60 +1,60 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Reflection;
-using System.Runtime.InteropServices;
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("OpenGrid.Framework.Communications")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("OpenGrid.Framework.Communications")]
-[assembly: AssemblyCopyright("Copyright © 2007")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("13e7c396-78a9-4a5c-baf2-6f980ea75d95")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Revision and Build Numbers
-// by using the '*' as shown below:
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Reflection;
+using System.Runtime.InteropServices;
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("OpenGrid.Framework.Communications")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("OpenGrid.Framework.Communications")]
+[assembly: AssemblyCopyright("Copyright © 2007")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("13e7c396-78a9-4a5c-baf2-6f980ea75d95")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers
+// by using the '*' as shown below:
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/OpenSim/Framework/Communications/caches/CachedUserInfo.cs b/OpenSim/Framework/Communications/caches/CachedUserInfo.cs
index 1c779e9..b8d8847 100644
--- a/OpenSim/Framework/Communications/caches/CachedUserInfo.cs
+++ b/OpenSim/Framework/Communications/caches/CachedUserInfo.cs
@@ -1,77 +1,77 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using OpenSim.Framework.Data;
-using libsecondlife;
-
-namespace OpenSim.Framework.Communications.Caches
-{
- public class CachedUserInfo
- {
- public UserProfileData UserProfile;
- //public Dictionary Folders = new Dictionary();
- public InventoryFolder RootFolder;
-
- public CachedUserInfo()
- {
-
- }
-
- ///
- ///
- ///
- ///
- ///
- public void FolderReceive(LLUUID userID, InventoryFolder folderInfo)
- {
- if (userID == UserProfile.UUID)
- {
- if (this.RootFolder == null)
- {
- if (folderInfo.parentID == LLUUID.Zero)
- {
- this.RootFolder = folderInfo;
- }
- }
- else
- {
- if (this.RootFolder.folderID == folderInfo.parentID)
- {
- this.RootFolder.SubFolders.Add(folderInfo.folderID, folderInfo);
- }
- else
- {
- InventoryFolder pFolder = this.RootFolder.HasSubFolder(folderInfo.parentID);
- if (pFolder != null)
- {
- pFolder.SubFolders.Add(folderInfo.folderID, folderInfo);
- }
- }
- }
- }
- }
-
- public void ItemReceive(LLUUID userID, InventoryItemBase itemInfo)
- {
- if (userID == UserProfile.UUID)
- {
- if (this.RootFolder != null)
- {
- if (itemInfo.parentFolderID == this.RootFolder.folderID)
- {
- this.RootFolder.Items.Add(itemInfo.inventoryID, itemInfo);
- }
- else
- {
- InventoryFolder pFolder = this.RootFolder.HasSubFolder(itemInfo.parentFolderID);
- if (pFolder != null)
- {
- pFolder.Items.Add(itemInfo.inventoryID, itemInfo);
- }
- }
- }
-
- }
- }
- }
-}
+using System;
+using System.Collections.Generic;
+using System.Text;
+using OpenSim.Framework.Data;
+using libsecondlife;
+
+namespace OpenSim.Framework.Communications.Caches
+{
+ public class CachedUserInfo
+ {
+ public UserProfileData UserProfile;
+ //public Dictionary Folders = new Dictionary();
+ public InventoryFolder RootFolder;
+
+ public CachedUserInfo()
+ {
+
+ }
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ public void FolderReceive(LLUUID userID, InventoryFolder folderInfo)
+ {
+ if (userID == UserProfile.UUID)
+ {
+ if (this.RootFolder == null)
+ {
+ if (folderInfo.parentID == LLUUID.Zero)
+ {
+ this.RootFolder = folderInfo;
+ }
+ }
+ else
+ {
+ if (this.RootFolder.folderID == folderInfo.parentID)
+ {
+ this.RootFolder.SubFolders.Add(folderInfo.folderID, folderInfo);
+ }
+ else
+ {
+ InventoryFolder pFolder = this.RootFolder.HasSubFolder(folderInfo.parentID);
+ if (pFolder != null)
+ {
+ pFolder.SubFolders.Add(folderInfo.folderID, folderInfo);
+ }
+ }
+ }
+ }
+ }
+
+ public void ItemReceive(LLUUID userID, InventoryItemBase itemInfo)
+ {
+ if (userID == UserProfile.UUID)
+ {
+ if (this.RootFolder != null)
+ {
+ if (itemInfo.parentFolderID == this.RootFolder.folderID)
+ {
+ this.RootFolder.Items.Add(itemInfo.inventoryID, itemInfo);
+ }
+ else
+ {
+ InventoryFolder pFolder = this.RootFolder.HasSubFolder(itemInfo.parentFolderID);
+ if (pFolder != null)
+ {
+ pFolder.Items.Add(itemInfo.inventoryID, itemInfo);
+ }
+ }
+ }
+
+ }
+ }
+ }
+}
diff --git a/OpenSim/Framework/Communications/caches/InventoryFolder.cs b/OpenSim/Framework/Communications/caches/InventoryFolder.cs
index eaddf19..af38b12 100644
--- a/OpenSim/Framework/Communications/caches/InventoryFolder.cs
+++ b/OpenSim/Framework/Communications/caches/InventoryFolder.cs
@@ -1,51 +1,51 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using libsecondlife;
-using OpenSim.Framework.Data;
-
-namespace OpenSim.Framework.Communications.Caches
-{
- public class InventoryFolder : InventoryFolderBase
- {
- public Dictionary SubFolders = new Dictionary();
- public Dictionary Items = new Dictionary();
-
- public InventoryFolder()
- {
- }
-
- public InventoryFolder HasSubFolder(LLUUID folderID)
- {
- InventoryFolder returnFolder = null;
- if (this.SubFolders.ContainsKey(folderID))
- {
- returnFolder = this.SubFolders[folderID];
- }
- else
- {
- foreach (InventoryFolder folder in this.SubFolders.Values)
- {
- returnFolder = folder.HasSubFolder(folderID);
- if (returnFolder != null)
- {
- break;
- }
- }
- }
- return returnFolder;
- }
-
- public InventoryFolder CreateNewSubFolder(LLUUID folderID, string folderName, ushort type)
- {
- InventoryFolder subFold = new InventoryFolder();
- subFold.name = folderName;
- subFold.folderID = folderID;
- subFold.type = type;
- subFold.parentID = this.folderID;
- subFold.agentID = this.agentID;
- this.SubFolders.Add(subFold.folderID, subFold);
- return subFold;
- }
- }
-}
+using System;
+using System.Collections.Generic;
+using System.Text;
+using libsecondlife;
+using OpenSim.Framework.Data;
+
+namespace OpenSim.Framework.Communications.Caches
+{
+ public class InventoryFolder : InventoryFolderBase
+ {
+ public Dictionary SubFolders = new Dictionary();
+ public Dictionary Items = new Dictionary();
+
+ public InventoryFolder()
+ {
+ }
+
+ public InventoryFolder HasSubFolder(LLUUID folderID)
+ {
+ InventoryFolder returnFolder = null;
+ if (this.SubFolders.ContainsKey(folderID))
+ {
+ returnFolder = this.SubFolders[folderID];
+ }
+ else
+ {
+ foreach (InventoryFolder folder in this.SubFolders.Values)
+ {
+ returnFolder = folder.HasSubFolder(folderID);
+ if (returnFolder != null)
+ {
+ break;
+ }
+ }
+ }
+ return returnFolder;
+ }
+
+ public InventoryFolder CreateNewSubFolder(LLUUID folderID, string folderName, ushort type)
+ {
+ InventoryFolder subFold = new InventoryFolder();
+ subFold.name = folderName;
+ subFold.folderID = folderID;
+ subFold.type = type;
+ subFold.parentID = this.folderID;
+ subFold.agentID = this.agentID;
+ this.SubFolders.Add(subFold.folderID, subFold);
+ return subFold;
+ }
+ }
+}
diff --git a/OpenSim/Framework/Communications/caches/UserProfileCache.cs b/OpenSim/Framework/Communications/caches/UserProfileCache.cs
index 0ee63ba..f651b8a 100644
--- a/OpenSim/Framework/Communications/caches/UserProfileCache.cs
+++ b/OpenSim/Framework/Communications/caches/UserProfileCache.cs
@@ -1,107 +1,107 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using libsecondlife;
-using OpenSim.Framework.Data;
-using OpenSim.Framework.Communications;
-
-namespace OpenSim.Framework.Communications.Caches
-{
- public class UserProfileCache
- {
- public Dictionary UserProfiles = new Dictionary();
-
- private CommunicationsManager m_parent;
-
- public UserProfileCache(CommunicationsManager parent)
- {
- m_parent = parent;
- }
-
- ///
- /// A new user has moved into a region in this instance
- /// so get info from servers
- ///
- ///
- public void AddNewUser(LLUUID userID)
- {
- if (!this.UserProfiles.ContainsKey(userID))
- {
- CachedUserInfo userInfo = new CachedUserInfo();
- userInfo.UserProfile = this.RequestUserProfileForUser(userID);
- this.m_parent.InventoryServer.RequestInventoryForUser(userID, userInfo.FolderReceive, userInfo.ItemReceive);
- if (userInfo.UserProfile != null)
- {
- this.UserProfiles.Add(userID, userInfo);
- }
- else
- {
- //no profile for this user, what do we do now?
- }
- }
- else
- {
- //already have a cached profile for this user
- //we should make sure its upto date with the user server version
- }
- }
-
- ///
- /// A new user has moved into a region in this instance
- /// so get info from servers
- ///
- ///
- ///
- public void AddNewUser(string firstName, string lastName)
- {
-
- }
-
- ///
- /// A user has left this instance
- /// so make sure servers have been updated
- /// Then remove cached info
- ///
- ///
- public void UserLogOut(LLUUID userID)
- {
-
- }
-
- ///
- /// Request the user profile from User server
- ///
- ///
- private UserProfileData RequestUserProfileForUser(LLUUID userID)
- {
- return this.m_parent.UserServer.GetUserProfile(userID);
- }
-
- ///
- /// Request Iventory Info from Inventory server
- ///
- ///
- private void RequestInventoryForUser(LLUUID userID)
- {
-
- }
-
- ///
- /// Make sure UserProfile is updated on user server
- ///
- ///
- private void UpdateUserProfileToServer(LLUUID userID)
- {
-
- }
-
- ///
- /// Update Inventory data to Inventory server
- ///
- ///
- private void UpdateInventoryToServer(LLUUID userID)
- {
-
- }
- }
-}
+using System;
+using System.Collections.Generic;
+using System.Text;
+using libsecondlife;
+using OpenSim.Framework.Data;
+using OpenSim.Framework.Communications;
+
+namespace OpenSim.Framework.Communications.Caches
+{
+ public class UserProfileCache
+ {
+ public Dictionary UserProfiles = new Dictionary();
+
+ private CommunicationsManager m_parent;
+
+ public UserProfileCache(CommunicationsManager parent)
+ {
+ m_parent = parent;
+ }
+
+ ///
+ /// A new user has moved into a region in this instance
+ /// so get info from servers
+ ///
+ ///
+ public void AddNewUser(LLUUID userID)
+ {
+ if (!this.UserProfiles.ContainsKey(userID))
+ {
+ CachedUserInfo userInfo = new CachedUserInfo();
+ userInfo.UserProfile = this.RequestUserProfileForUser(userID);
+ this.m_parent.InventoryServer.RequestInventoryForUser(userID, userInfo.FolderReceive, userInfo.ItemReceive);
+ if (userInfo.UserProfile != null)
+ {
+ this.UserProfiles.Add(userID, userInfo);
+ }
+ else
+ {
+ //no profile for this user, what do we do now?
+ }
+ }
+ else
+ {
+ //already have a cached profile for this user
+ //we should make sure its upto date with the user server version
+ }
+ }
+
+ ///
+ /// A new user has moved into a region in this instance
+ /// so get info from servers
+ ///
+ ///
+ ///
+ public void AddNewUser(string firstName, string lastName)
+ {
+
+ }
+
+ ///
+ /// A user has left this instance
+ /// so make sure servers have been updated
+ /// Then remove cached info
+ ///
+ ///
+ public void UserLogOut(LLUUID userID)
+ {
+
+ }
+
+ ///
+ /// Request the user profile from User server
+ ///
+ ///
+ private UserProfileData RequestUserProfileForUser(LLUUID userID)
+ {
+ return this.m_parent.UserServer.GetUserProfile(userID);
+ }
+
+ ///
+ /// Request Iventory Info from Inventory server
+ ///
+ ///
+ private void RequestInventoryForUser(LLUUID userID)
+ {
+
+ }
+
+ ///
+ /// Make sure UserProfile is updated on user server
+ ///
+ ///
+ private void UpdateUserProfileToServer(LLUUID userID)
+ {
+
+ }
+
+ ///
+ /// Update Inventory data to Inventory server
+ ///
+ ///
+ private void UpdateInventoryToServer(LLUUID userID)
+ {
+
+ }
+ }
+}
diff --git a/OpenSim/Framework/Console/AssemblyInfo.cs b/OpenSim/Framework/Console/AssemblyInfo.cs
index 30f6167..61bd423 100644
--- a/OpenSim/Framework/Console/AssemblyInfo.cs
+++ b/OpenSim/Framework/Console/AssemblyInfo.cs
@@ -1,56 +1,56 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Reflection;
-using System.Runtime.InteropServices;
-// Information about this assembly is defined by the following
-// attributes.
-//
-// change them to the information which is associated with the assembly
-// you compile.
-
-[assembly: AssemblyTitle("ServerConsole")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("ServerConsole")]
-[assembly: AssemblyCopyright("")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// This sets the default COM visibility of types in the assembly to invisible.
-// If you need to expose a type to COM, use [ComVisible(true)] on that type.
-[assembly: ComVisible(false)]
-
-// The assembly version has following format :
-//
-// Major.Minor.Build.Revision
-//
-// You can specify all values by your own or you can build default build and revision
-// numbers with the '*' character (the default):
-
-[assembly: AssemblyVersion("1.0.*")]
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Reflection;
+using System.Runtime.InteropServices;
+// Information about this assembly is defined by the following
+// attributes.
+//
+// change them to the information which is associated with the assembly
+// you compile.
+
+[assembly: AssemblyTitle("ServerConsole")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("ServerConsole")]
+[assembly: AssemblyCopyright("")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// This sets the default COM visibility of types in the assembly to invisible.
+// If you need to expose a type to COM, use [ComVisible(true)] on that type.
+[assembly: ComVisible(false)]
+
+// The assembly version has following format :
+//
+// Major.Minor.Build.Revision
+//
+// You can specify all values by your own or you can build default build and revision
+// numbers with the '*' character (the default):
+
+[assembly: AssemblyVersion("1.0.*")]
diff --git a/OpenSim/Framework/Console/ConsoleCallbacksBase.cs b/OpenSim/Framework/Console/ConsoleCallbacksBase.cs
index 346cfe6..1dea251 100644
--- a/OpenSim/Framework/Console/ConsoleCallbacksBase.cs
+++ b/OpenSim/Framework/Console/ConsoleCallbacksBase.cs
@@ -1,35 +1,35 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Console
-{
- public interface conscmd_callback
- {
- void RunCmd(string cmd, string[] cmdparams);
- void Show(string ShowWhat);
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Console
+{
+ public interface conscmd_callback
+ {
+ void RunCmd(string cmd, string[] cmdparams);
+ void Show(string ShowWhat);
+ }
+}
diff --git a/OpenSim/Framework/Console/LogBase.cs b/OpenSim/Framework/Console/LogBase.cs
index f73e15e..1eb6ff0 100644
--- a/OpenSim/Framework/Console/LogBase.cs
+++ b/OpenSim/Framework/Console/LogBase.cs
@@ -1,282 +1,282 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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 System.Net;
-
-namespace OpenSim.Framework.Console
-{
- public enum LogPriority : int
- {
- CRITICAL,
- HIGH,
- MEDIUM,
- NORMAL,
- LOW,
- VERBOSE,
- EXTRAVERBOSE
- }
-
- public class LogBase
- {
- StreamWriter Log;
- public conscmd_callback cmdparser;
- public string componentname;
- private bool m_silent;
-
- public LogBase(string LogFile, string componentname, conscmd_callback cmdparser, bool silent)
- {
- this.componentname = componentname;
- this.cmdparser = cmdparser;
- this.m_silent = silent;
- System.Console.WriteLine("ServerConsole.cs - creating new local console");
-
- if (String.IsNullOrEmpty(LogFile))
- {
- LogFile = componentname + ".log";
- }
-
- System.Console.WriteLine("Logs will be saved to current directory in " + LogFile);
- Log = File.AppendText(LogFile);
- Log.WriteLine("========================================================================");
- Log.WriteLine(componentname + " Started at " + DateTime.Now.ToString());
- }
-
- public void Close()
- {
- Log.WriteLine("Shutdown at " + DateTime.Now.ToString());
- Log.Close();
- }
-
- public void Write(string format, params object[] args)
- {
- Notice(format, args);
- return;
- }
-
- public void WriteLine(LogPriority importance, string format, params object[] args)
- {
- Log.WriteLine(format, args);
- Log.Flush();
- if (!m_silent)
- {
- System.Console.WriteLine(format, args);
- }
- return;
- }
-
- public void Warn(string format, params object[] args)
- {
- WriteNewLine(ConsoleColor.Yellow, format, args);
- return;
- }
-
- public void Notice(string format, params object[] args)
- {
- WriteNewLine(ConsoleColor.White, format, args);
- return;
- }
-
- public void Error(string format, params object[] args)
- {
- WriteNewLine(ConsoleColor.Red, format, args);
- return;
- }
-
- public void Verbose(string format, params object[] args)
- {
- WriteNewLine(ConsoleColor.Gray, format, args);
- return;
- }
-
- public void Status(string format, params object[] args)
- {
- WriteNewLine(ConsoleColor.Blue, format, args);
- return;
- }
-
- private void WriteNewLine(ConsoleColor color, string format, params object[] args)
- {
- Log.WriteLine(format, args);
- Log.Flush();
- if (!m_silent)
- {
- try
- {
- System.Console.ForegroundColor = color;
- System.Console.WriteLine(format, args);
- System.Console.ResetColor();
- }
- catch (ArgumentNullException)
- {
- // Some older systems dont support coloured text.
- System.Console.WriteLine(format, args);
- }
- }
- return;
- }
-
- public string ReadLine()
- {
- string TempStr = System.Console.ReadLine();
- Log.WriteLine(TempStr);
- return TempStr;
- }
-
- public int Read()
- {
- int TempInt = System.Console.Read();
- Log.Write((char)TempInt);
- return TempInt;
- }
-
- public IPAddress CmdPromptIPAddress(string prompt, string defaultvalue)
- {
- IPAddress address;
- string addressStr;
-
- while (true)
- {
- addressStr = MainLog.Instance.CmdPrompt(prompt, defaultvalue);
- if (IPAddress.TryParse(addressStr, out address))
- {
- break;
- }
- else
- {
- MainLog.Instance.Error("Illegal address. Please re-enter.");
- }
- }
-
- return address;
- }
-
- public int CmdPromptIPPort(string prompt, string defaultvalue)
- {
- int port;
- string portStr;
-
- while (true)
- {
- portStr = MainLog.Instance.CmdPrompt(prompt, defaultvalue);
- if (int.TryParse(portStr, out port))
- {
- if (port >= IPEndPoint.MinPort && port <= IPEndPoint.MaxPort)
- {
- break;
- }
- }
-
- MainLog.Instance.Error("Illegal address. Please re-enter.");
- }
-
- return port;
- }
-
- // Displays a prompt and waits for the user to enter a string, then returns that string
- // Done with no echo and suitable for passwords
- public string PasswdPrompt(string prompt)
- {
- // FIXME: Needs to be better abstracted
- Log.WriteLine(prompt);
- this.Write(prompt);
- ConsoleColor oldfg = System.Console.ForegroundColor;
- System.Console.ForegroundColor = System.Console.BackgroundColor;
- string temp = System.Console.ReadLine();
- System.Console.ForegroundColor = oldfg;
- return temp;
- }
-
- // Displays a command prompt and waits for the user to enter a string, then returns that string
- public string CmdPrompt(string prompt)
- {
- this.Write(String.Format("{0}: ", prompt));
- return this.ReadLine();
- }
-
- // Displays a command prompt and returns a default value if the user simply presses enter
- public string CmdPrompt(string prompt, string defaultresponse)
- {
- string temp = CmdPrompt(String.Format("{0} [{1}]", prompt, defaultresponse));
- if (temp == "")
- {
- return defaultresponse;
- }
- else
- {
- return temp;
- }
- }
-
- // Displays a command prompt and returns a default value, user may only enter 1 of 2 options
- public string CmdPrompt(string prompt, string defaultresponse, string OptionA, string OptionB)
- {
- bool itisdone = false;
- string temp = CmdPrompt(prompt, defaultresponse);
- while (itisdone == false)
- {
- if ((temp == OptionA) || (temp == OptionB))
- {
- itisdone = true;
- }
- else
- {
- Notice("Valid options are " + OptionA + " or " + OptionB);
- temp = CmdPrompt(prompt, defaultresponse);
- }
- }
- return temp;
- }
-
- // Runs a command with a number of parameters
- public Object RunCmd(string Cmd, string[] cmdparams)
- {
- cmdparser.RunCmd(Cmd, cmdparams);
- return null;
- }
-
- // Shows data about something
- public void ShowCommands(string ShowWhat)
- {
- cmdparser.Show(ShowWhat);
- }
-
- public void MainLogPrompt()
- {
- string[] tempstrarray;
- string tempstr = this.CmdPrompt(this.componentname + "# ");
- tempstrarray = tempstr.Split(' ');
- string cmd = tempstrarray[0];
- Array.Reverse(tempstrarray);
- Array.Resize(ref tempstrarray, tempstrarray.Length - 1);
- Array.Reverse(tempstrarray);
- string[] cmdparams = (string[])tempstrarray;
- RunCmd(cmd, cmdparams);
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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 System.Net;
+
+namespace OpenSim.Framework.Console
+{
+ public enum LogPriority : int
+ {
+ CRITICAL,
+ HIGH,
+ MEDIUM,
+ NORMAL,
+ LOW,
+ VERBOSE,
+ EXTRAVERBOSE
+ }
+
+ public class LogBase
+ {
+ StreamWriter Log;
+ public conscmd_callback cmdparser;
+ public string componentname;
+ private bool m_silent;
+
+ public LogBase(string LogFile, string componentname, conscmd_callback cmdparser, bool silent)
+ {
+ this.componentname = componentname;
+ this.cmdparser = cmdparser;
+ this.m_silent = silent;
+ System.Console.WriteLine("ServerConsole.cs - creating new local console");
+
+ if (String.IsNullOrEmpty(LogFile))
+ {
+ LogFile = componentname + ".log";
+ }
+
+ System.Console.WriteLine("Logs will be saved to current directory in " + LogFile);
+ Log = File.AppendText(LogFile);
+ Log.WriteLine("========================================================================");
+ Log.WriteLine(componentname + " Started at " + DateTime.Now.ToString());
+ }
+
+ public void Close()
+ {
+ Log.WriteLine("Shutdown at " + DateTime.Now.ToString());
+ Log.Close();
+ }
+
+ public void Write(string format, params object[] args)
+ {
+ Notice(format, args);
+ return;
+ }
+
+ public void WriteLine(LogPriority importance, string format, params object[] args)
+ {
+ Log.WriteLine(format, args);
+ Log.Flush();
+ if (!m_silent)
+ {
+ System.Console.WriteLine(format, args);
+ }
+ return;
+ }
+
+ public void Warn(string format, params object[] args)
+ {
+ WriteNewLine(ConsoleColor.Yellow, format, args);
+ return;
+ }
+
+ public void Notice(string format, params object[] args)
+ {
+ WriteNewLine(ConsoleColor.White, format, args);
+ return;
+ }
+
+ public void Error(string format, params object[] args)
+ {
+ WriteNewLine(ConsoleColor.Red, format, args);
+ return;
+ }
+
+ public void Verbose(string format, params object[] args)
+ {
+ WriteNewLine(ConsoleColor.Gray, format, args);
+ return;
+ }
+
+ public void Status(string format, params object[] args)
+ {
+ WriteNewLine(ConsoleColor.Blue, format, args);
+ return;
+ }
+
+ private void WriteNewLine(ConsoleColor color, string format, params object[] args)
+ {
+ Log.WriteLine(format, args);
+ Log.Flush();
+ if (!m_silent)
+ {
+ try
+ {
+ System.Console.ForegroundColor = color;
+ System.Console.WriteLine(format, args);
+ System.Console.ResetColor();
+ }
+ catch (ArgumentNullException)
+ {
+ // Some older systems dont support coloured text.
+ System.Console.WriteLine(format, args);
+ }
+ }
+ return;
+ }
+
+ public string ReadLine()
+ {
+ string TempStr = System.Console.ReadLine();
+ Log.WriteLine(TempStr);
+ return TempStr;
+ }
+
+ public int Read()
+ {
+ int TempInt = System.Console.Read();
+ Log.Write((char)TempInt);
+ return TempInt;
+ }
+
+ public IPAddress CmdPromptIPAddress(string prompt, string defaultvalue)
+ {
+ IPAddress address;
+ string addressStr;
+
+ while (true)
+ {
+ addressStr = MainLog.Instance.CmdPrompt(prompt, defaultvalue);
+ if (IPAddress.TryParse(addressStr, out address))
+ {
+ break;
+ }
+ else
+ {
+ MainLog.Instance.Error("Illegal address. Please re-enter.");
+ }
+ }
+
+ return address;
+ }
+
+ public int CmdPromptIPPort(string prompt, string defaultvalue)
+ {
+ int port;
+ string portStr;
+
+ while (true)
+ {
+ portStr = MainLog.Instance.CmdPrompt(prompt, defaultvalue);
+ if (int.TryParse(portStr, out port))
+ {
+ if (port >= IPEndPoint.MinPort && port <= IPEndPoint.MaxPort)
+ {
+ break;
+ }
+ }
+
+ MainLog.Instance.Error("Illegal address. Please re-enter.");
+ }
+
+ return port;
+ }
+
+ // Displays a prompt and waits for the user to enter a string, then returns that string
+ // Done with no echo and suitable for passwords
+ public string PasswdPrompt(string prompt)
+ {
+ // FIXME: Needs to be better abstracted
+ Log.WriteLine(prompt);
+ this.Write(prompt);
+ ConsoleColor oldfg = System.Console.ForegroundColor;
+ System.Console.ForegroundColor = System.Console.BackgroundColor;
+ string temp = System.Console.ReadLine();
+ System.Console.ForegroundColor = oldfg;
+ return temp;
+ }
+
+ // Displays a command prompt and waits for the user to enter a string, then returns that string
+ public string CmdPrompt(string prompt)
+ {
+ this.Write(String.Format("{0}: ", prompt));
+ return this.ReadLine();
+ }
+
+ // Displays a command prompt and returns a default value if the user simply presses enter
+ public string CmdPrompt(string prompt, string defaultresponse)
+ {
+ string temp = CmdPrompt(String.Format("{0} [{1}]", prompt, defaultresponse));
+ if (temp == "")
+ {
+ return defaultresponse;
+ }
+ else
+ {
+ return temp;
+ }
+ }
+
+ // Displays a command prompt and returns a default value, user may only enter 1 of 2 options
+ public string CmdPrompt(string prompt, string defaultresponse, string OptionA, string OptionB)
+ {
+ bool itisdone = false;
+ string temp = CmdPrompt(prompt, defaultresponse);
+ while (itisdone == false)
+ {
+ if ((temp == OptionA) || (temp == OptionB))
+ {
+ itisdone = true;
+ }
+ else
+ {
+ Notice("Valid options are " + OptionA + " or " + OptionB);
+ temp = CmdPrompt(prompt, defaultresponse);
+ }
+ }
+ return temp;
+ }
+
+ // Runs a command with a number of parameters
+ public Object RunCmd(string Cmd, string[] cmdparams)
+ {
+ cmdparser.RunCmd(Cmd, cmdparams);
+ return null;
+ }
+
+ // Shows data about something
+ public void ShowCommands(string ShowWhat)
+ {
+ cmdparser.Show(ShowWhat);
+ }
+
+ public void MainLogPrompt()
+ {
+ string[] tempstrarray;
+ string tempstr = this.CmdPrompt(this.componentname + "# ");
+ tempstrarray = tempstr.Split(' ');
+ string cmd = tempstrarray[0];
+ Array.Reverse(tempstrarray);
+ Array.Resize(ref tempstrarray, tempstrarray.Length - 1);
+ Array.Reverse(tempstrarray);
+ string[] cmdparams = (string[])tempstrarray;
+ RunCmd(cmd, cmdparams);
+ }
+ }
+}
diff --git a/OpenSim/Framework/Console/MainLog.cs b/OpenSim/Framework/Console/MainLog.cs
index 7d52622..e6bf9d9 100644
--- a/OpenSim/Framework/Console/MainLog.cs
+++ b/OpenSim/Framework/Console/MainLog.cs
@@ -1,47 +1,47 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Console
-{
- public class MainLog {
-
- private static LogBase instance;
-
- public static LogBase Instance
- {
- get
- {
- return instance;
- }
- set
- {
- instance = value;
- }
- }
- }
-
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Console
+{
+ public class MainLog {
+
+ private static LogBase instance;
+
+ public static LogBase Instance
+ {
+ get
+ {
+ return instance;
+ }
+ set
+ {
+ instance = value;
+ }
+ }
+ }
+
+}
diff --git a/OpenSim/Framework/Data.DB4o/DB4oGridData.cs b/OpenSim/Framework/Data.DB4o/DB4oGridData.cs
index 5fec367..e57a3aa 100644
--- a/OpenSim/Framework/Data.DB4o/DB4oGridData.cs
+++ b/OpenSim/Framework/Data.DB4o/DB4oGridData.cs
@@ -1,162 +1,162 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Data.DB4o
-{
- ///
- /// A grid server storage mechanism employing the DB4o database system
- ///
- class DB4oGridData : IGridData
- {
- ///
- /// The database manager object
- ///
- DB4oGridManager manager;
-
- ///
- /// Called when the plugin is first loaded (as constructors are not called)
- ///
- public void Initialise() {
- manager = new DB4oGridManager("gridserver.yap");
- }
-
- ///
- /// Returns a list of regions within the specified ranges
- ///
- /// minimum X coordinate
- /// minimum Y coordinate
- /// maximum X coordinate
- /// maximum Y coordinate
- /// An array of region profiles
- public SimProfileData[] GetProfilesInRange(uint a, uint b, uint c, uint d)
- {
- return null;
- }
-
- ///
- /// Returns a region located at the specified regionHandle (warning multiple regions may occupy the one spot, first found is returned)
- ///
- /// The handle to search for
- /// A region profile
- public SimProfileData GetProfileByHandle(ulong handle) {
- lock (manager.simProfiles)
- {
- foreach (LLUUID UUID in manager.simProfiles.Keys)
- {
- if (manager.simProfiles[UUID].regionHandle == handle)
- {
- return manager.simProfiles[UUID];
- }
- }
- }
- throw new Exception("Unable to find profile with handle (" + handle.ToString() + ")");
- }
-
- ///
- /// Returns a specific region
- ///
- /// The region ID code
- /// A region profile
- public SimProfileData GetProfileByLLUUID(LLUUID uuid)
- {
- lock (manager.simProfiles)
- {
- if (manager.simProfiles.ContainsKey(uuid))
- return manager.simProfiles[uuid];
- }
- throw new Exception("Unable to find profile with UUID (" + uuid.ToStringHyphenated() + "). Total Registered Regions: " + manager.simProfiles.Count);
- }
-
- ///
- /// Adds a new specified region to the database
- ///
- /// The profile to add
- /// A dataresponse enum indicating success
- public DataResponse AddProfile(SimProfileData profile)
- {
- lock (manager.simProfiles)
- {
- if (manager.AddRow(profile))
- {
- return DataResponse.RESPONSE_OK;
- }
- else
- {
- return DataResponse.RESPONSE_ERROR;
- }
- }
- }
-
- ///
- /// Authenticates a new region using the shared secrets. NOT SECURE.
- ///
- /// The UUID the region is authenticating with
- /// The location the region is logging into (unused in Db4o)
- /// The shared secret
- /// Authenticated?
- public bool AuthenticateSim(LLUUID uuid, ulong handle, string key) {
- if (manager.simProfiles[uuid].regionRecvKey == key)
- return true;
- return false;
- }
-
- ///
- /// Shuts down the database
- ///
- public void Close()
- {
- manager = null;
- }
-
- ///
- /// Returns the providers name
- ///
- /// The name of the storage system
- public string getName()
- {
- return "DB4o Grid Provider";
- }
-
- ///
- /// Returns the providers version
- ///
- /// The version of the storage system
- public string getVersion()
- {
- return "0.1";
- }
-
- public ReservationData GetReservationAtPoint(uint x, uint y)
- {
- return null;
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Data.DB4o
+{
+ ///
+ /// A grid server storage mechanism employing the DB4o database system
+ ///
+ class DB4oGridData : IGridData
+ {
+ ///
+ /// The database manager object
+ ///
+ DB4oGridManager manager;
+
+ ///
+ /// Called when the plugin is first loaded (as constructors are not called)
+ ///
+ public void Initialise() {
+ manager = new DB4oGridManager("gridserver.yap");
+ }
+
+ ///
+ /// Returns a list of regions within the specified ranges
+ ///
+ /// minimum X coordinate
+ /// minimum Y coordinate
+ /// maximum X coordinate
+ /// maximum Y coordinate
+ /// An array of region profiles
+ public SimProfileData[] GetProfilesInRange(uint a, uint b, uint c, uint d)
+ {
+ return null;
+ }
+
+ ///
+ /// Returns a region located at the specified regionHandle (warning multiple regions may occupy the one spot, first found is returned)
+ ///
+ /// The handle to search for
+ /// A region profile
+ public SimProfileData GetProfileByHandle(ulong handle) {
+ lock (manager.simProfiles)
+ {
+ foreach (LLUUID UUID in manager.simProfiles.Keys)
+ {
+ if (manager.simProfiles[UUID].regionHandle == handle)
+ {
+ return manager.simProfiles[UUID];
+ }
+ }
+ }
+ throw new Exception("Unable to find profile with handle (" + handle.ToString() + ")");
+ }
+
+ ///
+ /// Returns a specific region
+ ///
+ /// The region ID code
+ /// A region profile
+ public SimProfileData GetProfileByLLUUID(LLUUID uuid)
+ {
+ lock (manager.simProfiles)
+ {
+ if (manager.simProfiles.ContainsKey(uuid))
+ return manager.simProfiles[uuid];
+ }
+ throw new Exception("Unable to find profile with UUID (" + uuid.ToStringHyphenated() + "). Total Registered Regions: " + manager.simProfiles.Count);
+ }
+
+ ///
+ /// Adds a new specified region to the database
+ ///
+ /// The profile to add
+ /// A dataresponse enum indicating success
+ public DataResponse AddProfile(SimProfileData profile)
+ {
+ lock (manager.simProfiles)
+ {
+ if (manager.AddRow(profile))
+ {
+ return DataResponse.RESPONSE_OK;
+ }
+ else
+ {
+ return DataResponse.RESPONSE_ERROR;
+ }
+ }
+ }
+
+ ///
+ /// Authenticates a new region using the shared secrets. NOT SECURE.
+ ///
+ /// The UUID the region is authenticating with
+ /// The location the region is logging into (unused in Db4o)
+ /// The shared secret
+ /// Authenticated?
+ public bool AuthenticateSim(LLUUID uuid, ulong handle, string key) {
+ if (manager.simProfiles[uuid].regionRecvKey == key)
+ return true;
+ return false;
+ }
+
+ ///
+ /// Shuts down the database
+ ///
+ public void Close()
+ {
+ manager = null;
+ }
+
+ ///
+ /// Returns the providers name
+ ///
+ /// The name of the storage system
+ public string getName()
+ {
+ return "DB4o Grid Provider";
+ }
+
+ ///
+ /// Returns the providers version
+ ///
+ /// The version of the storage system
+ public string getVersion()
+ {
+ return "0.1";
+ }
+
+ public ReservationData GetReservationAtPoint(uint x, uint y)
+ {
+ return null;
+ }
+ }
+}
diff --git a/OpenSim/Framework/Data.DB4o/DB4oManager.cs b/OpenSim/Framework/Data.DB4o/DB4oManager.cs
index 0df6350..43f9095 100644
--- a/OpenSim/Framework/Data.DB4o/DB4oManager.cs
+++ b/OpenSim/Framework/Data.DB4o/DB4oManager.cs
@@ -1,163 +1,163 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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 Db4objects.Db4o;
-using libsecondlife;
-
-namespace OpenSim.Framework.Data.DB4o
-{
- ///
- /// A Database manager for Db4o
- ///
- class DB4oGridManager
- {
- ///
- /// A list of the current regions connected (in-memory cache)
- ///
- public Dictionary simProfiles = new Dictionary();
- ///
- /// Database File Name
- ///
- string dbfl;
-
- ///
- /// Creates a new grid storage manager
- ///
- /// Filename to the database file
- public DB4oGridManager(string db4odb)
- {
- dbfl = db4odb;
- IObjectContainer database;
- database = Db4oFactory.OpenFile(dbfl);
- IObjectSet result = database.Get(typeof(SimProfileData));
- // Loads the file into the in-memory cache
- foreach(SimProfileData row in result) {
- simProfiles.Add(row.UUID, row);
- }
- database.Close();
- }
-
- ///
- /// Adds a new profile to the database (Warning: Probably slow.)
- ///
- /// The profile to add
- /// Successful?
- public bool AddRow(SimProfileData row)
- {
- if (simProfiles.ContainsKey(row.UUID))
- {
- simProfiles[row.UUID] = row;
- }
- else
- {
- simProfiles.Add(row.UUID, row);
- }
-
- try
- {
- IObjectContainer database;
- database = Db4oFactory.OpenFile(dbfl);
- database.Set(row);
- database.Close();
- return true;
- }
- catch (Exception)
- {
- return false;
- }
- }
-
-
- }
-
- ///
- /// A manager for the DB4o database (user profiles)
- ///
- class DB4oUserManager
- {
- ///
- /// A list of the user profiles (in memory cache)
- ///
- public Dictionary userProfiles = new Dictionary();
- ///
- /// Database filename
- ///
- string dbfl;
-
- ///
- /// Initialises a new DB manager
- ///
- /// The filename to the database
- public DB4oUserManager(string db4odb)
- {
- dbfl = db4odb;
- IObjectContainer database;
- database = Db4oFactory.OpenFile(dbfl);
- // Load to cache
- IObjectSet result = database.Get(typeof(UserProfileData));
- foreach (UserProfileData row in result)
- {
- userProfiles.Add(row.UUID, row);
- }
- database.Close();
- }
-
- ///
- /// Adds a new profile to the database (Warning: Probably slow.)
- ///
- /// The profile to add
- /// Successful?
- public bool AddRow(UserProfileData row)
- {
- if (userProfiles.ContainsKey(row.UUID))
- {
- userProfiles[row.UUID] = row;
- }
- else
- {
- userProfiles.Add(row.UUID, row);
- }
-
- try
- {
- IObjectContainer database;
- database = Db4oFactory.OpenFile(dbfl);
- database.Set(row);
- database.Close();
- return true;
- }
- catch (Exception)
- {
- return false;
- }
- }
-
-
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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 Db4objects.Db4o;
+using libsecondlife;
+
+namespace OpenSim.Framework.Data.DB4o
+{
+ ///
+ /// A Database manager for Db4o
+ ///
+ class DB4oGridManager
+ {
+ ///
+ /// A list of the current regions connected (in-memory cache)
+ ///
+ public Dictionary simProfiles = new Dictionary();
+ ///
+ /// Database File Name
+ ///
+ string dbfl;
+
+ ///
+ /// Creates a new grid storage manager
+ ///
+ /// Filename to the database file
+ public DB4oGridManager(string db4odb)
+ {
+ dbfl = db4odb;
+ IObjectContainer database;
+ database = Db4oFactory.OpenFile(dbfl);
+ IObjectSet result = database.Get(typeof(SimProfileData));
+ // Loads the file into the in-memory cache
+ foreach(SimProfileData row in result) {
+ simProfiles.Add(row.UUID, row);
+ }
+ database.Close();
+ }
+
+ ///
+ /// Adds a new profile to the database (Warning: Probably slow.)
+ ///
+ /// The profile to add
+ /// Successful?
+ public bool AddRow(SimProfileData row)
+ {
+ if (simProfiles.ContainsKey(row.UUID))
+ {
+ simProfiles[row.UUID] = row;
+ }
+ else
+ {
+ simProfiles.Add(row.UUID, row);
+ }
+
+ try
+ {
+ IObjectContainer database;
+ database = Db4oFactory.OpenFile(dbfl);
+ database.Set(row);
+ database.Close();
+ return true;
+ }
+ catch (Exception)
+ {
+ return false;
+ }
+ }
+
+
+ }
+
+ ///
+ /// A manager for the DB4o database (user profiles)
+ ///
+ class DB4oUserManager
+ {
+ ///
+ /// A list of the user profiles (in memory cache)
+ ///
+ public Dictionary userProfiles = new Dictionary();
+ ///
+ /// Database filename
+ ///
+ string dbfl;
+
+ ///
+ /// Initialises a new DB manager
+ ///
+ /// The filename to the database
+ public DB4oUserManager(string db4odb)
+ {
+ dbfl = db4odb;
+ IObjectContainer database;
+ database = Db4oFactory.OpenFile(dbfl);
+ // Load to cache
+ IObjectSet result = database.Get(typeof(UserProfileData));
+ foreach (UserProfileData row in result)
+ {
+ userProfiles.Add(row.UUID, row);
+ }
+ database.Close();
+ }
+
+ ///
+ /// Adds a new profile to the database (Warning: Probably slow.)
+ ///
+ /// The profile to add
+ /// Successful?
+ public bool AddRow(UserProfileData row)
+ {
+ if (userProfiles.ContainsKey(row.UUID))
+ {
+ userProfiles[row.UUID] = row;
+ }
+ else
+ {
+ userProfiles.Add(row.UUID, row);
+ }
+
+ try
+ {
+ IObjectContainer database;
+ database = Db4oFactory.OpenFile(dbfl);
+ database.Set(row);
+ database.Close();
+ return true;
+ }
+ catch (Exception)
+ {
+ return false;
+ }
+ }
+
+
+ }
+}
diff --git a/OpenSim/Framework/Data.DB4o/DB4oUserData.cs b/OpenSim/Framework/Data.DB4o/DB4oUserData.cs
index 2e33ab0..845b764 100644
--- a/OpenSim/Framework/Data.DB4o/DB4oUserData.cs
+++ b/OpenSim/Framework/Data.DB4o/DB4oUserData.cs
@@ -1,202 +1,202 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Data.DB4o
-{
- ///
- /// A User storage interface for the DB4o database system
- ///
- public class DB4oUserData : IUserData
- {
- ///
- /// The database manager
- ///
- DB4oUserManager manager;
-
- ///
- /// Artificial constructor called upon plugin load
- ///
- public void Initialise()
- {
- manager = new DB4oUserManager("userprofiles.yap");
- }
-
- ///
- /// Loads a specified user profile from a UUID
- ///
- /// The users UUID
- /// A user profile
- public UserProfileData getUserByUUID(LLUUID uuid)
- {
- if(manager.userProfiles.ContainsKey(uuid))
- return manager.userProfiles[uuid];
- return null;
- }
-
- ///
- /// Returns a user by searching for its name
- ///
- /// The users account name
- /// A matching users profile
- public UserProfileData getUserByName(string name)
- {
- return getUserByName(name.Split(' ')[0], name.Split(' ')[1]);
- }
-
- ///
- /// Returns a user by searching for its name
- ///
- /// The first part of the users account name
- /// The second part of the users account name
- /// A matching users profile
- public UserProfileData getUserByName(string fname, string lname)
- {
- foreach (UserProfileData profile in manager.userProfiles.Values)
- {
- if (profile.username == fname && profile.surname == lname)
- return profile;
- }
- return null;
- }
-
- ///
- /// Returns a user by UUID direct
- ///
- /// The users account ID
- /// A matching users profile
- public UserAgentData getAgentByUUID(LLUUID uuid)
- {
- try
- {
- return getUserByUUID(uuid).currentAgent;
- }
- catch (Exception)
- {
- return null;
- }
- }
-
- ///
- /// Returns a session by account name
- ///
- /// The account name
- /// The users session agent
- public UserAgentData getAgentByName(string name)
- {
- return getAgentByName(name.Split(' ')[0], name.Split(' ')[1]);
- }
-
- ///
- /// Returns a session by account name
- ///
- /// The first part of the users account name
- /// The second part of the users account name
- /// A user agent
- public UserAgentData getAgentByName(string fname, string lname)
- {
- try
- {
- return getUserByName(fname,lname).currentAgent;
- }
- catch (Exception)
- {
- return null;
- }
- }
-
- ///
- /// Creates a new user profile
- ///
- /// The profile to add to the database
- public void addNewUserProfile(UserProfileData user)
- {
- try
- {
- manager.AddRow(user);
- }
- catch (Exception e)
- {
- Console.WriteLine(e.ToString());
- }
- }
-
- ///
- /// Creates a new user agent
- ///
- /// The agent to add to the database
- public void addNewUserAgent(UserAgentData agent)
- {
- // Do nothing. yet.
- }
-
- ///
- /// Transfers money between two user accounts
- ///
- /// Starting account
- /// End account
- /// The amount to move
- /// Success?
- public bool moneyTransferRequest(LLUUID from, LLUUID to, uint amount)
- {
- return true;
- }
-
- ///
- /// Transfers inventory between two accounts
- ///
- /// Move to inventory server
- /// Senders account
- /// Recievers account
- /// Inventory item
- /// Success?
- public bool inventoryTransferRequest(LLUUID from, LLUUID to, LLUUID item)
- {
- return true;
- }
-
- ///
- /// Returns the name of the storage provider
- ///
- /// Storage provider name
- public string getName()
- {
- return "DB4o Userdata";
- }
-
- ///
- /// Returns the version of the storage provider
- ///
- /// Storage provider version
- public string getVersion()
- {
- return "0.1";
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Data.DB4o
+{
+ ///
+ /// A User storage interface for the DB4o database system
+ ///
+ public class DB4oUserData : IUserData
+ {
+ ///
+ /// The database manager
+ ///
+ DB4oUserManager manager;
+
+ ///
+ /// Artificial constructor called upon plugin load
+ ///
+ public void Initialise()
+ {
+ manager = new DB4oUserManager("userprofiles.yap");
+ }
+
+ ///
+ /// Loads a specified user profile from a UUID
+ ///
+ /// The users UUID
+ /// A user profile
+ public UserProfileData getUserByUUID(LLUUID uuid)
+ {
+ if(manager.userProfiles.ContainsKey(uuid))
+ return manager.userProfiles[uuid];
+ return null;
+ }
+
+ ///
+ /// Returns a user by searching for its name
+ ///
+ /// The users account name
+ /// A matching users profile
+ public UserProfileData getUserByName(string name)
+ {
+ return getUserByName(name.Split(' ')[0], name.Split(' ')[1]);
+ }
+
+ ///
+ /// Returns a user by searching for its name
+ ///
+ /// The first part of the users account name
+ /// The second part of the users account name
+ /// A matching users profile
+ public UserProfileData getUserByName(string fname, string lname)
+ {
+ foreach (UserProfileData profile in manager.userProfiles.Values)
+ {
+ if (profile.username == fname && profile.surname == lname)
+ return profile;
+ }
+ return null;
+ }
+
+ ///
+ /// Returns a user by UUID direct
+ ///
+ /// The users account ID
+ /// A matching users profile
+ public UserAgentData getAgentByUUID(LLUUID uuid)
+ {
+ try
+ {
+ return getUserByUUID(uuid).currentAgent;
+ }
+ catch (Exception)
+ {
+ return null;
+ }
+ }
+
+ ///
+ /// Returns a session by account name
+ ///
+ /// The account name
+ /// The users session agent
+ public UserAgentData getAgentByName(string name)
+ {
+ return getAgentByName(name.Split(' ')[0], name.Split(' ')[1]);
+ }
+
+ ///
+ /// Returns a session by account name
+ ///
+ /// The first part of the users account name
+ /// The second part of the users account name
+ /// A user agent
+ public UserAgentData getAgentByName(string fname, string lname)
+ {
+ try
+ {
+ return getUserByName(fname,lname).currentAgent;
+ }
+ catch (Exception)
+ {
+ return null;
+ }
+ }
+
+ ///
+ /// Creates a new user profile
+ ///
+ /// The profile to add to the database
+ public void addNewUserProfile(UserProfileData user)
+ {
+ try
+ {
+ manager.AddRow(user);
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine(e.ToString());
+ }
+ }
+
+ ///
+ /// Creates a new user agent
+ ///
+ /// The agent to add to the database
+ public void addNewUserAgent(UserAgentData agent)
+ {
+ // Do nothing. yet.
+ }
+
+ ///
+ /// Transfers money between two user accounts
+ ///
+ /// Starting account
+ /// End account
+ /// The amount to move
+ /// Success?
+ public bool moneyTransferRequest(LLUUID from, LLUUID to, uint amount)
+ {
+ return true;
+ }
+
+ ///
+ /// Transfers inventory between two accounts
+ ///
+ /// Move to inventory server
+ /// Senders account
+ /// Recievers account
+ /// Inventory item
+ /// Success?
+ public bool inventoryTransferRequest(LLUUID from, LLUUID to, LLUUID item)
+ {
+ return true;
+ }
+
+ ///
+ /// Returns the name of the storage provider
+ ///
+ /// Storage provider name
+ public string getName()
+ {
+ return "DB4o Userdata";
+ }
+
+ ///
+ /// Returns the version of the storage provider
+ ///
+ /// Storage provider version
+ public string getVersion()
+ {
+ return "0.1";
+ }
+ }
+}
diff --git a/OpenSim/Framework/Data.DB4o/Properties/AssemblyInfo.cs b/OpenSim/Framework/Data.DB4o/Properties/AssemblyInfo.cs
index 905cd9b..52d09fa 100644
--- a/OpenSim/Framework/Data.DB4o/Properties/AssemblyInfo.cs
+++ b/OpenSim/Framework/Data.DB4o/Properties/AssemblyInfo.cs
@@ -1,33 +1,33 @@
-using System.Reflection;
-using System.Runtime.InteropServices;
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("OpenSim.Framework.Data.DB4o")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("OpenSim.Framework.Data.DB4o")]
-[assembly: AssemblyCopyright("Copyright © 2007")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("57991e15-79da-41b7-aa06-2e6b49165a63")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Revision and Build Numbers
-// by using the '*' as shown below:
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+using System.Reflection;
+using System.Runtime.InteropServices;
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("OpenSim.Framework.Data.DB4o")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("OpenSim.Framework.Data.DB4o")]
+[assembly: AssemblyCopyright("Copyright © 2007")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("57991e15-79da-41b7-aa06-2e6b49165a63")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers
+// by using the '*' as shown below:
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/OpenSim/Framework/Data.MSSQL/MSSQLGridData.cs b/OpenSim/Framework/Data.MSSQL/MSSQLGridData.cs
index ca9196a5..dc60ca4 100644
--- a/OpenSim/Framework/Data.MSSQL/MSSQLGridData.cs
+++ b/OpenSim/Framework/Data.MSSQL/MSSQLGridData.cs
@@ -1,194 +1,194 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Data;
-using System.Security.Cryptography;
-using System.Text;
-using libsecondlife;
-
-namespace OpenSim.Framework.Data.MSSQL
-{
- ///
- /// A grid data interface for Microsoft SQL Server
- ///
- public class SqlGridData : IGridData
- {
- ///
- /// Database manager
- ///
- private MSSqlManager database;
-
- ///
- /// Initialises the Grid Interface
- ///
- public void Initialise()
- {
- database = new MSSqlManager("localhost", "db", "user", "password", "false");
- }
-
- ///
- /// Shuts down the grid interface
- ///
- public void Close()
- {
- database.Close();
- }
-
- ///
- /// Returns the storage system name
- ///
- /// A string containing the storage system name
- public string getName()
- {
- return "Sql OpenGridData";
- }
-
- ///
- /// Returns the storage system version
- ///
- /// A string containing the storage system version
- public string getVersion()
- {
- return "0.1";
- }
-
- ///
- /// Returns a list of regions within the specified ranges
- ///
- /// minimum X coordinate
- /// minimum Y coordinate
- /// maximum X coordinate
- /// maximum Y coordinate
- /// An array of region profiles
- public SimProfileData[] GetProfilesInRange(uint a, uint b, uint c, uint d)
- {
- return null;
- }
-
- ///
- /// Returns a sim profile from it's location
- ///
- /// Region location handle
- /// Sim profile
- public SimProfileData GetProfileByHandle(ulong handle)
- {
- Dictionary param = new Dictionary();
- param["handle"] = handle.ToString();
-
- IDbCommand result = database.Query("SELECT * FROM regions WHERE handle = @handle", param);
- IDataReader reader = result.ExecuteReader();
-
- SimProfileData row = database.getRow(reader);
- reader.Close();
- result.Dispose();
-
- return row;
- }
-
- ///
- /// Returns a sim profile from it's UUID
- ///
- /// The region UUID
- /// The sim profile
- public SimProfileData GetProfileByLLUUID(LLUUID uuid)
- {
- Dictionary param = new Dictionary();
- param["uuid"] = uuid.ToStringHyphenated();
-
- IDbCommand result = database.Query("SELECT * FROM regions WHERE uuid = @uuid", param);
- IDataReader reader = result.ExecuteReader();
-
- SimProfileData row = database.getRow(reader);
- reader.Close();
- result.Dispose();
-
- return row;
- }
-
- ///
- /// Adds a new specified region to the database
- ///
- /// The profile to add
- /// A dataresponse enum indicating success
- public DataResponse AddProfile(SimProfileData profile)
- {
- if (database.insertRow(profile))
- {
- return DataResponse.RESPONSE_OK;
- }
- else
- {
- return DataResponse.RESPONSE_ERROR;
- }
- }
-
- ///
- /// DEPRECIATED. Attempts to authenticate a region by comparing a shared secret.
- ///
- /// The UUID of the challenger
- /// The attempted regionHandle of the challenger
- /// The secret
- /// Whether the secret and regionhandle match the database entry for UUID
- public bool AuthenticateSim(LLUUID uuid, ulong handle, string authkey)
- {
- bool throwHissyFit = false; // Should be true by 1.0
-
- if (throwHissyFit)
- throw new Exception("CRYPTOWEAK AUTHENTICATE: Refusing to authenticate due to replay potential.");
-
- SimProfileData data = GetProfileByLLUUID(uuid);
-
- return (handle == data.regionHandle && authkey == data.regionSecret);
- }
-
- ///
- /// NOT YET FUNCTIONAL. Provides a cryptographic authentication of a region
- ///
- /// This requires a security audit.
- ///
- ///
- ///
- ///
- ///
- public bool AuthenticateSim(LLUUID uuid, ulong handle, string authhash, string challenge)
- {
- SHA512Managed HashProvider = new SHA512Managed();
- ASCIIEncoding TextProvider = new ASCIIEncoding();
-
- byte[] stream = TextProvider.GetBytes(uuid.ToStringHyphenated() + ":" + handle.ToString() + ":" + challenge);
- byte[] hash = HashProvider.ComputeHash(stream);
- return false;
- }
- public ReservationData GetReservationAtPoint(uint x, uint y)
- {
- return null;
- }
- }
-
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Data;
+using System.Security.Cryptography;
+using System.Text;
+using libsecondlife;
+
+namespace OpenSim.Framework.Data.MSSQL
+{
+ ///
+ /// A grid data interface for Microsoft SQL Server
+ ///
+ public class SqlGridData : IGridData
+ {
+ ///
+ /// Database manager
+ ///
+ private MSSqlManager database;
+
+ ///
+ /// Initialises the Grid Interface
+ ///
+ public void Initialise()
+ {
+ database = new MSSqlManager("localhost", "db", "user", "password", "false");
+ }
+
+ ///
+ /// Shuts down the grid interface
+ ///
+ public void Close()
+ {
+ database.Close();
+ }
+
+ ///
+ /// Returns the storage system name
+ ///
+ /// A string containing the storage system name
+ public string getName()
+ {
+ return "Sql OpenGridData";
+ }
+
+ ///
+ /// Returns the storage system version
+ ///
+ /// A string containing the storage system version
+ public string getVersion()
+ {
+ return "0.1";
+ }
+
+ ///
+ /// Returns a list of regions within the specified ranges
+ ///
+ /// minimum X coordinate
+ /// minimum Y coordinate
+ /// maximum X coordinate
+ /// maximum Y coordinate
+ /// An array of region profiles
+ public SimProfileData[] GetProfilesInRange(uint a, uint b, uint c, uint d)
+ {
+ return null;
+ }
+
+ ///
+ /// Returns a sim profile from it's location
+ ///
+ /// Region location handle
+ /// Sim profile
+ public SimProfileData GetProfileByHandle(ulong handle)
+ {
+ Dictionary param = new Dictionary();
+ param["handle"] = handle.ToString();
+
+ IDbCommand result = database.Query("SELECT * FROM regions WHERE handle = @handle", param);
+ IDataReader reader = result.ExecuteReader();
+
+ SimProfileData row = database.getRow(reader);
+ reader.Close();
+ result.Dispose();
+
+ return row;
+ }
+
+ ///
+ /// Returns a sim profile from it's UUID
+ ///
+ /// The region UUID
+ /// The sim profile
+ public SimProfileData GetProfileByLLUUID(LLUUID uuid)
+ {
+ Dictionary param = new Dictionary();
+ param["uuid"] = uuid.ToStringHyphenated();
+
+ IDbCommand result = database.Query("SELECT * FROM regions WHERE uuid = @uuid", param);
+ IDataReader reader = result.ExecuteReader();
+
+ SimProfileData row = database.getRow(reader);
+ reader.Close();
+ result.Dispose();
+
+ return row;
+ }
+
+ ///
+ /// Adds a new specified region to the database
+ ///
+ /// The profile to add
+ /// A dataresponse enum indicating success
+ public DataResponse AddProfile(SimProfileData profile)
+ {
+ if (database.insertRow(profile))
+ {
+ return DataResponse.RESPONSE_OK;
+ }
+ else
+ {
+ return DataResponse.RESPONSE_ERROR;
+ }
+ }
+
+ ///
+ /// DEPRECIATED. Attempts to authenticate a region by comparing a shared secret.
+ ///
+ /// The UUID of the challenger
+ /// The attempted regionHandle of the challenger
+ /// The secret
+ /// Whether the secret and regionhandle match the database entry for UUID
+ public bool AuthenticateSim(LLUUID uuid, ulong handle, string authkey)
+ {
+ bool throwHissyFit = false; // Should be true by 1.0
+
+ if (throwHissyFit)
+ throw new Exception("CRYPTOWEAK AUTHENTICATE: Refusing to authenticate due to replay potential.");
+
+ SimProfileData data = GetProfileByLLUUID(uuid);
+
+ return (handle == data.regionHandle && authkey == data.regionSecret);
+ }
+
+ ///
+ /// NOT YET FUNCTIONAL. Provides a cryptographic authentication of a region
+ ///
+ /// This requires a security audit.
+ ///
+ ///
+ ///
+ ///
+ ///
+ public bool AuthenticateSim(LLUUID uuid, ulong handle, string authhash, string challenge)
+ {
+ SHA512Managed HashProvider = new SHA512Managed();
+ ASCIIEncoding TextProvider = new ASCIIEncoding();
+
+ byte[] stream = TextProvider.GetBytes(uuid.ToStringHyphenated() + ":" + handle.ToString() + ":" + challenge);
+ byte[] hash = HashProvider.ComputeHash(stream);
+ return false;
+ }
+ public ReservationData GetReservationAtPoint(uint x, uint y)
+ {
+ return null;
+ }
+ }
+
+}
diff --git a/OpenSim/Framework/Data.MSSQL/MSSQLManager.cs b/OpenSim/Framework/Data.MSSQL/MSSQLManager.cs
index 49bf31c..26677a5 100644
--- a/OpenSim/Framework/Data.MSSQL/MSSQLManager.cs
+++ b/OpenSim/Framework/Data.MSSQL/MSSQLManager.cs
@@ -1,211 +1,211 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Data;
-using System.Data.SqlClient;
-using libsecondlife;
-
-namespace OpenSim.Framework.Data.MSSQL
-{
- ///
- /// A management class for the MS SQL Storage Engine
- ///
- class MSSqlManager
- {
- ///
- /// The database connection object
- ///
- IDbConnection dbcon;
-
- ///
- /// Initialises and creates a new Sql connection and maintains it.
- ///
- /// The Sql server being connected to
- /// The name of the Sql database being used
- /// The username logging into the database
- /// The password for the user logging in
- /// Whether to use connection pooling or not, can be one of the following: 'yes', 'true', 'no' or 'false', if unsure use 'false'.
- public MSSqlManager(string hostname, string database, string username, string password, string cpooling)
- {
- try
- {
- string connectionString = "Server=" + hostname + ";Database=" + database + ";User ID=" + username + ";Password=" + password + ";Pooling=" + cpooling + ";";
- dbcon = new SqlConnection(connectionString);
-
- dbcon.Open();
- }
- catch (Exception e)
- {
- throw new Exception("Error initialising Sql Database: " + e.ToString());
- }
- }
-
- ///
- /// Shuts down the database connection
- ///
- public void Close()
- {
- dbcon.Close();
- dbcon = null;
- }
-
- ///
- /// Runs a query with protection against SQL Injection by using parameterised input.
- ///
- /// The SQL string - replace any variables such as WHERE x = "y" with WHERE x = @y
- /// The parameters - index so that @y is indexed as 'y'
- /// A Sql DB Command
- public IDbCommand Query(string sql, Dictionary parameters)
- {
- SqlCommand dbcommand = (SqlCommand)dbcon.CreateCommand();
- dbcommand.CommandText = sql;
- foreach (KeyValuePair param in parameters)
- {
- dbcommand.Parameters.AddWithValue(param.Key, param.Value);
- }
-
- return (IDbCommand)dbcommand;
- }
-
- ///
- /// Runs a database reader object and returns a region row
- ///
- /// An active database reader
- /// A region row
- public SimProfileData getRow(IDataReader reader)
- {
- SimProfileData regionprofile = new SimProfileData();
-
- if (reader.Read())
- {
- // Region Main
- regionprofile.regionHandle = (ulong)reader["regionHandle"];
- regionprofile.regionName = (string)reader["regionName"];
- regionprofile.UUID = new LLUUID((string)reader["uuid"]);
-
- // Secrets
- regionprofile.regionRecvKey = (string)reader["regionRecvKey"];
- regionprofile.regionSecret = (string)reader["regionSecret"];
- regionprofile.regionSendKey = (string)reader["regionSendKey"];
-
- // Region Server
- regionprofile.regionDataURI = (string)reader["regionDataURI"];
- regionprofile.regionOnline = false; // Needs to be pinged before this can be set.
- regionprofile.serverIP = (string)reader["serverIP"];
- regionprofile.serverPort = (uint)reader["serverPort"];
- regionprofile.serverURI = (string)reader["serverURI"];
-
- // Location
- regionprofile.regionLocX = (uint)((int)reader["locX"]);
- regionprofile.regionLocY = (uint)((int)reader["locY"]);
- regionprofile.regionLocZ = (uint)((int)reader["locZ"]);
-
- // Neighbours - 0 = No Override
- regionprofile.regionEastOverrideHandle = (ulong)reader["eastOverrideHandle"];
- regionprofile.regionWestOverrideHandle = (ulong)reader["westOverrideHandle"];
- regionprofile.regionSouthOverrideHandle = (ulong)reader["southOverrideHandle"];
- regionprofile.regionNorthOverrideHandle = (ulong)reader["northOverrideHandle"];
-
- // Assets
- regionprofile.regionAssetURI = (string)reader["regionAssetURI"];
- regionprofile.regionAssetRecvKey = (string)reader["regionAssetRecvKey"];
- regionprofile.regionAssetSendKey = (string)reader["regionAssetSendKey"];
-
- // Userserver
- regionprofile.regionUserURI = (string)reader["regionUserURI"];
- regionprofile.regionUserRecvKey = (string)reader["regionUserRecvKey"];
- regionprofile.regionUserSendKey = (string)reader["regionUserSendKey"];
- }
- else
- {
- throw new Exception("No rows to return");
- }
- return regionprofile;
- }
-
- ///
- /// Creates a new region in the database
- ///
- /// The region profile to insert
- /// Successful?
- public bool insertRow(SimProfileData profile)
- {
- string sql = "REPLACE INTO regions VALUES (regionHandle, regionName, uuid, regionRecvKey, regionSecret, regionSendKey, regionDataURI, ";
- sql += "serverIP, serverPort, serverURI, locX, locY, locZ, eastOverrideHandle, westOverrideHandle, southOverrideHandle, northOverrideHandle, regionAssetURI, regionAssetRecvKey, ";
- sql += "regionAssetSendKey, regionUserURI, regionUserRecvKey, regionUserSendKey) VALUES ";
-
- sql += "(@regionHandle, @regionName, @uuid, @regionRecvKey, @regionSecret, @regionSendKey, @regionDataURI, ";
- sql += "@serverIP, @serverPort, @serverURI, @locX, @locY, @locZ, @eastOverrideHandle, @westOverrideHandle, @southOverrideHandle, @northOverrideHandle, @regionAssetURI, @regionAssetRecvKey, ";
- sql += "@regionAssetSendKey, @regionUserURI, @regionUserRecvKey, @regionUserSendKey);";
-
- Dictionary parameters = new Dictionary();
-
- parameters["regionHandle"] = profile.regionHandle.ToString();
- parameters["regionName"] = profile.regionName;
- parameters["uuid"] = profile.UUID.ToString();
- parameters["regionRecvKey"] = profile.regionRecvKey;
- parameters["regionSendKey"] = profile.regionSendKey;
- parameters["regionDataURI"] = profile.regionDataURI;
- parameters["serverIP"] = profile.serverIP;
- parameters["serverPort"] = profile.serverPort.ToString();
- parameters["serverURI"] = profile.serverURI;
- parameters["locX"] = profile.regionLocX.ToString();
- parameters["locY"] = profile.regionLocY.ToString();
- parameters["locZ"] = profile.regionLocZ.ToString();
- parameters["eastOverrideHandle"] = profile.regionEastOverrideHandle.ToString();
- parameters["westOverrideHandle"] = profile.regionWestOverrideHandle.ToString();
- parameters["northOverrideHandle"] = profile.regionNorthOverrideHandle.ToString();
- parameters["southOverrideHandle"] = profile.regionSouthOverrideHandle.ToString();
- parameters["regionAssetURI"] = profile.regionAssetURI;
- parameters["regionAssetRecvKey"] = profile.regionAssetRecvKey;
- parameters["regionAssetSendKey"] = profile.regionAssetSendKey;
- parameters["regionUserURI"] = profile.regionUserURI;
- parameters["regionUserRecvKey"] = profile.regionUserRecvKey;
- parameters["regionUserSendKey"] = profile.regionUserSendKey;
-
- bool returnval = false;
-
- try
- {
- IDbCommand result = Query(sql, parameters);
-
- if (result.ExecuteNonQuery() == 1)
- returnval = true;
-
- result.Dispose();
- }
- catch (Exception)
- {
- return false;
- }
-
- return returnval;
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Data;
+using System.Data.SqlClient;
+using libsecondlife;
+
+namespace OpenSim.Framework.Data.MSSQL
+{
+ ///
+ /// A management class for the MS SQL Storage Engine
+ ///
+ class MSSqlManager
+ {
+ ///
+ /// The database connection object
+ ///
+ IDbConnection dbcon;
+
+ ///
+ /// Initialises and creates a new Sql connection and maintains it.
+ ///
+ /// The Sql server being connected to
+ /// The name of the Sql database being used
+ /// The username logging into the database
+ /// The password for the user logging in
+ /// Whether to use connection pooling or not, can be one of the following: 'yes', 'true', 'no' or 'false', if unsure use 'false'.
+ public MSSqlManager(string hostname, string database, string username, string password, string cpooling)
+ {
+ try
+ {
+ string connectionString = "Server=" + hostname + ";Database=" + database + ";User ID=" + username + ";Password=" + password + ";Pooling=" + cpooling + ";";
+ dbcon = new SqlConnection(connectionString);
+
+ dbcon.Open();
+ }
+ catch (Exception e)
+ {
+ throw new Exception("Error initialising Sql Database: " + e.ToString());
+ }
+ }
+
+ ///
+ /// Shuts down the database connection
+ ///
+ public void Close()
+ {
+ dbcon.Close();
+ dbcon = null;
+ }
+
+ ///
+ /// Runs a query with protection against SQL Injection by using parameterised input.
+ ///
+ /// The SQL string - replace any variables such as WHERE x = "y" with WHERE x = @y
+ /// The parameters - index so that @y is indexed as 'y'
+ /// A Sql DB Command
+ public IDbCommand Query(string sql, Dictionary parameters)
+ {
+ SqlCommand dbcommand = (SqlCommand)dbcon.CreateCommand();
+ dbcommand.CommandText = sql;
+ foreach (KeyValuePair param in parameters)
+ {
+ dbcommand.Parameters.AddWithValue(param.Key, param.Value);
+ }
+
+ return (IDbCommand)dbcommand;
+ }
+
+ ///
+ /// Runs a database reader object and returns a region row
+ ///
+ /// An active database reader
+ /// A region row
+ public SimProfileData getRow(IDataReader reader)
+ {
+ SimProfileData regionprofile = new SimProfileData();
+
+ if (reader.Read())
+ {
+ // Region Main
+ regionprofile.regionHandle = (ulong)reader["regionHandle"];
+ regionprofile.regionName = (string)reader["regionName"];
+ regionprofile.UUID = new LLUUID((string)reader["uuid"]);
+
+ // Secrets
+ regionprofile.regionRecvKey = (string)reader["regionRecvKey"];
+ regionprofile.regionSecret = (string)reader["regionSecret"];
+ regionprofile.regionSendKey = (string)reader["regionSendKey"];
+
+ // Region Server
+ regionprofile.regionDataURI = (string)reader["regionDataURI"];
+ regionprofile.regionOnline = false; // Needs to be pinged before this can be set.
+ regionprofile.serverIP = (string)reader["serverIP"];
+ regionprofile.serverPort = (uint)reader["serverPort"];
+ regionprofile.serverURI = (string)reader["serverURI"];
+
+ // Location
+ regionprofile.regionLocX = (uint)((int)reader["locX"]);
+ regionprofile.regionLocY = (uint)((int)reader["locY"]);
+ regionprofile.regionLocZ = (uint)((int)reader["locZ"]);
+
+ // Neighbours - 0 = No Override
+ regionprofile.regionEastOverrideHandle = (ulong)reader["eastOverrideHandle"];
+ regionprofile.regionWestOverrideHandle = (ulong)reader["westOverrideHandle"];
+ regionprofile.regionSouthOverrideHandle = (ulong)reader["southOverrideHandle"];
+ regionprofile.regionNorthOverrideHandle = (ulong)reader["northOverrideHandle"];
+
+ // Assets
+ regionprofile.regionAssetURI = (string)reader["regionAssetURI"];
+ regionprofile.regionAssetRecvKey = (string)reader["regionAssetRecvKey"];
+ regionprofile.regionAssetSendKey = (string)reader["regionAssetSendKey"];
+
+ // Userserver
+ regionprofile.regionUserURI = (string)reader["regionUserURI"];
+ regionprofile.regionUserRecvKey = (string)reader["regionUserRecvKey"];
+ regionprofile.regionUserSendKey = (string)reader["regionUserSendKey"];
+ }
+ else
+ {
+ throw new Exception("No rows to return");
+ }
+ return regionprofile;
+ }
+
+ ///
+ /// Creates a new region in the database
+ ///
+ /// The region profile to insert
+ /// Successful?
+ public bool insertRow(SimProfileData profile)
+ {
+ string sql = "REPLACE INTO regions VALUES (regionHandle, regionName, uuid, regionRecvKey, regionSecret, regionSendKey, regionDataURI, ";
+ sql += "serverIP, serverPort, serverURI, locX, locY, locZ, eastOverrideHandle, westOverrideHandle, southOverrideHandle, northOverrideHandle, regionAssetURI, regionAssetRecvKey, ";
+ sql += "regionAssetSendKey, regionUserURI, regionUserRecvKey, regionUserSendKey) VALUES ";
+
+ sql += "(@regionHandle, @regionName, @uuid, @regionRecvKey, @regionSecret, @regionSendKey, @regionDataURI, ";
+ sql += "@serverIP, @serverPort, @serverURI, @locX, @locY, @locZ, @eastOverrideHandle, @westOverrideHandle, @southOverrideHandle, @northOverrideHandle, @regionAssetURI, @regionAssetRecvKey, ";
+ sql += "@regionAssetSendKey, @regionUserURI, @regionUserRecvKey, @regionUserSendKey);";
+
+ Dictionary parameters = new Dictionary();
+
+ parameters["regionHandle"] = profile.regionHandle.ToString();
+ parameters["regionName"] = profile.regionName;
+ parameters["uuid"] = profile.UUID.ToString();
+ parameters["regionRecvKey"] = profile.regionRecvKey;
+ parameters["regionSendKey"] = profile.regionSendKey;
+ parameters["regionDataURI"] = profile.regionDataURI;
+ parameters["serverIP"] = profile.serverIP;
+ parameters["serverPort"] = profile.serverPort.ToString();
+ parameters["serverURI"] = profile.serverURI;
+ parameters["locX"] = profile.regionLocX.ToString();
+ parameters["locY"] = profile.regionLocY.ToString();
+ parameters["locZ"] = profile.regionLocZ.ToString();
+ parameters["eastOverrideHandle"] = profile.regionEastOverrideHandle.ToString();
+ parameters["westOverrideHandle"] = profile.regionWestOverrideHandle.ToString();
+ parameters["northOverrideHandle"] = profile.regionNorthOverrideHandle.ToString();
+ parameters["southOverrideHandle"] = profile.regionSouthOverrideHandle.ToString();
+ parameters["regionAssetURI"] = profile.regionAssetURI;
+ parameters["regionAssetRecvKey"] = profile.regionAssetRecvKey;
+ parameters["regionAssetSendKey"] = profile.regionAssetSendKey;
+ parameters["regionUserURI"] = profile.regionUserURI;
+ parameters["regionUserRecvKey"] = profile.regionUserRecvKey;
+ parameters["regionUserSendKey"] = profile.regionUserSendKey;
+
+ bool returnval = false;
+
+ try
+ {
+ IDbCommand result = Query(sql, parameters);
+
+ if (result.ExecuteNonQuery() == 1)
+ returnval = true;
+
+ result.Dispose();
+ }
+ catch (Exception)
+ {
+ return false;
+ }
+
+ return returnval;
+ }
+ }
+}
diff --git a/OpenSim/Framework/Data.MSSQL/Properties/AssemblyInfo.cs b/OpenSim/Framework/Data.MSSQL/Properties/AssemblyInfo.cs
index 066c739..eeac06c 100644
--- a/OpenSim/Framework/Data.MSSQL/Properties/AssemblyInfo.cs
+++ b/OpenSim/Framework/Data.MSSQL/Properties/AssemblyInfo.cs
@@ -1,33 +1,33 @@
-using System.Reflection;
-using System.Runtime.InteropServices;
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("OpenSim.Framework.Data.MSSQL")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("OpenSim.Framework.Data.MSSQL")]
-[assembly: AssemblyCopyright("Copyright © 2007")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("0e1c1ca4-2cf2-4315-b0e7-432c02feea8a")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Revision and Build Numbers
-// by using the '*' as shown below:
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+using System.Reflection;
+using System.Runtime.InteropServices;
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("OpenSim.Framework.Data.MSSQL")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("OpenSim.Framework.Data.MSSQL")]
+[assembly: AssemblyCopyright("Copyright © 2007")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("0e1c1ca4-2cf2-4315-b0e7-432c02feea8a")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers
+// by using the '*' as shown below:
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/OpenSim/Framework/Data.MySQL/MySQLGridData.cs b/OpenSim/Framework/Data.MySQL/MySQLGridData.cs
index ef643d2..09f5e83 100644
--- a/OpenSim/Framework/Data.MySQL/MySQLGridData.cs
+++ b/OpenSim/Framework/Data.MySQL/MySQLGridData.cs
@@ -1,287 +1,287 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Data;
-using System.Security.Cryptography;
-using System.Text;
-using libsecondlife;
-
-namespace OpenSim.Framework.Data.MySQL
-{
- ///
- /// A MySQL Interface for the Grid Server
- ///
- public class MySQLGridData : IGridData
- {
- ///
- /// MySQL Database Manager
- ///
- private MySQLManager database;
-
- ///
- /// Initialises the Grid Interface
- ///
- public void Initialise()
- {
- IniFile GridDataMySqlFile = new IniFile("mysql_connection.ini");
- string settingHostname = GridDataMySqlFile.ParseFileReadValue("hostname");
- string settingDatabase = GridDataMySqlFile.ParseFileReadValue("database");
- string settingUsername = GridDataMySqlFile.ParseFileReadValue("username");
- string settingPassword = GridDataMySqlFile.ParseFileReadValue("password");
- string settingPooling = GridDataMySqlFile.ParseFileReadValue("pooling");
- string settingPort = GridDataMySqlFile.ParseFileReadValue("port");
-
- database = new MySQLManager(settingHostname, settingDatabase, settingUsername, settingPassword, settingPooling, settingPort);
- }
-
- ///
- /// Shuts down the grid interface
- ///
- public void Close()
- {
- database.Close();
- }
-
- ///
- /// Returns the plugin name
- ///
- /// Plugin name
- public string getName()
- {
- return "MySql OpenGridData";
- }
-
- ///
- /// Returns the plugin version
- ///
- /// Plugin version
- public string getVersion()
- {
- return "0.1";
- }
-
- ///
- /// Returns all the specified region profiles within coordates -- coordinates are inclusive
- ///
- /// Minimum X coordinate
- /// Minimum Y coordinate
- /// Maximum X coordinate
- /// Maximum Y coordinate
- ///
- public SimProfileData[] GetProfilesInRange(uint xmin, uint ymin, uint xmax, uint ymax)
- {
- try
- {
- lock (database)
- {
- Dictionary param = new Dictionary();
- param["?xmin"] = xmin.ToString();
- param["?ymin"] = ymin.ToString();
- param["?xmax"] = xmax.ToString();
- param["?ymax"] = ymax.ToString();
-
- IDbCommand result = database.Query("SELECT * FROM regions WHERE locX >= ?xmin AND locX <= ?xmax AND locY >= ?ymin AND locY <= ?ymax", param);
- IDataReader reader = result.ExecuteReader();
-
- SimProfileData row;
-
- List rows = new List();
-
- while ((row = database.readSimRow(reader)) != null)
- {
- rows.Add(row);
- }
- reader.Close();
- result.Dispose();
-
- return rows.ToArray();
-
- }
- }
- catch (Exception e)
- {
- database.Reconnect();
- Console.WriteLine(e.ToString());
- return null;
- }
- }
-
- ///
- /// Returns a sim profile from it's location
- ///
- /// Region location handle
- /// Sim profile
- public SimProfileData GetProfileByHandle(ulong handle)
- {
- try
- {
- lock (database)
- {
- Dictionary param = new Dictionary();
- param["?handle"] = handle.ToString();
-
- IDbCommand result = database.Query("SELECT * FROM regions WHERE regionHandle = ?handle", param);
- IDataReader reader = result.ExecuteReader();
-
- SimProfileData row = database.readSimRow(reader);
- reader.Close();
- result.Dispose();
-
- return row;
- }
- }
- catch (Exception e)
- {
- database.Reconnect();
- Console.WriteLine(e.ToString());
- return null;
- }
- }
-
- ///
- /// Returns a sim profile from it's UUID
- ///
- /// The region UUID
- /// The sim profile
- public SimProfileData GetProfileByLLUUID(LLUUID uuid)
- {
- try
- {
- lock (database)
- {
- Dictionary param = new Dictionary();
- param["?uuid"] = uuid.ToStringHyphenated();
-
- IDbCommand result = database.Query("SELECT * FROM regions WHERE uuid = ?uuid", param);
- IDataReader reader = result.ExecuteReader();
-
- SimProfileData row = database.readSimRow(reader);
- reader.Close();
- result.Dispose();
-
- return row;
- }
- }
- catch (Exception e)
- {
- database.Reconnect();
- Console.WriteLine(e.ToString());
- return null;
- }
- }
-
- ///
- /// Adds a new profile to the database
- ///
- /// The profile to add
- /// Successful?
- public DataResponse AddProfile(SimProfileData profile)
- {
- lock (database)
- {
- if (database.insertRegion(profile))
- {
- return DataResponse.RESPONSE_OK;
- }
- else
- {
- return DataResponse.RESPONSE_ERROR;
- }
- }
- }
-
- ///
- /// DEPRECIATED. Attempts to authenticate a region by comparing a shared secret.
- ///
- /// The UUID of the challenger
- /// The attempted regionHandle of the challenger
- /// The secret
- /// Whether the secret and regionhandle match the database entry for UUID
- public bool AuthenticateSim(LLUUID uuid, ulong handle, string authkey)
- {
- bool throwHissyFit = false; // Should be true by 1.0
-
- if (throwHissyFit)
- throw new Exception("CRYPTOWEAK AUTHENTICATE: Refusing to authenticate due to replay potential.");
-
- SimProfileData data = GetProfileByLLUUID(uuid);
-
- return (handle == data.regionHandle && authkey == data.regionSecret);
- }
-
- ///
- /// NOT YET FUNCTIONAL. Provides a cryptographic authentication of a region
- ///
- /// This requires a security audit.
- ///
- ///
- ///
- ///
- ///
- public bool AuthenticateSim(LLUUID uuid, ulong handle, string authhash, string challenge)
- {
- SHA512Managed HashProvider = new SHA512Managed();
- ASCIIEncoding TextProvider = new ASCIIEncoding();
-
- byte[] stream = TextProvider.GetBytes(uuid.ToStringHyphenated() + ":" + handle.ToString() + ":" + challenge);
- byte[] hash = HashProvider.ComputeHash(stream);
-
- return false;
- }
-
- public ReservationData GetReservationAtPoint(uint x, uint y)
- {
- try
- {
- lock (database)
- {
- Dictionary param = new Dictionary();
- param["?x"] = x.ToString();
- param["?y"] = y.ToString();
- IDbCommand result = database.Query("SELECT * FROM reservations WHERE resXMin <= ?x AND resXMax >= ?x AND resYMin <= ?y AND resYMax >= ?y", param);
- IDataReader reader = result.ExecuteReader();
-
- ReservationData row = database.readReservationRow(reader);
- reader.Close();
- result.Dispose();
-
- return row;
- }
- }
- catch (Exception e)
- {
- database.Reconnect();
- Console.WriteLine(e.ToString());
- return null;
- }
- }
- }
-
-
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Data;
+using System.Security.Cryptography;
+using System.Text;
+using libsecondlife;
+
+namespace OpenSim.Framework.Data.MySQL
+{
+ ///
+ /// A MySQL Interface for the Grid Server
+ ///
+ public class MySQLGridData : IGridData
+ {
+ ///
+ /// MySQL Database Manager
+ ///
+ private MySQLManager database;
+
+ ///
+ /// Initialises the Grid Interface
+ ///
+ public void Initialise()
+ {
+ IniFile GridDataMySqlFile = new IniFile("mysql_connection.ini");
+ string settingHostname = GridDataMySqlFile.ParseFileReadValue("hostname");
+ string settingDatabase = GridDataMySqlFile.ParseFileReadValue("database");
+ string settingUsername = GridDataMySqlFile.ParseFileReadValue("username");
+ string settingPassword = GridDataMySqlFile.ParseFileReadValue("password");
+ string settingPooling = GridDataMySqlFile.ParseFileReadValue("pooling");
+ string settingPort = GridDataMySqlFile.ParseFileReadValue("port");
+
+ database = new MySQLManager(settingHostname, settingDatabase, settingUsername, settingPassword, settingPooling, settingPort);
+ }
+
+ ///
+ /// Shuts down the grid interface
+ ///
+ public void Close()
+ {
+ database.Close();
+ }
+
+ ///
+ /// Returns the plugin name
+ ///
+ /// Plugin name
+ public string getName()
+ {
+ return "MySql OpenGridData";
+ }
+
+ ///
+ /// Returns the plugin version
+ ///
+ /// Plugin version
+ public string getVersion()
+ {
+ return "0.1";
+ }
+
+ ///
+ /// Returns all the specified region profiles within coordates -- coordinates are inclusive
+ ///
+ /// Minimum X coordinate
+ /// Minimum Y coordinate
+ /// Maximum X coordinate
+ /// Maximum Y coordinate
+ ///
+ public SimProfileData[] GetProfilesInRange(uint xmin, uint ymin, uint xmax, uint ymax)
+ {
+ try
+ {
+ lock (database)
+ {
+ Dictionary param = new Dictionary();
+ param["?xmin"] = xmin.ToString();
+ param["?ymin"] = ymin.ToString();
+ param["?xmax"] = xmax.ToString();
+ param["?ymax"] = ymax.ToString();
+
+ IDbCommand result = database.Query("SELECT * FROM regions WHERE locX >= ?xmin AND locX <= ?xmax AND locY >= ?ymin AND locY <= ?ymax", param);
+ IDataReader reader = result.ExecuteReader();
+
+ SimProfileData row;
+
+ List rows = new List();
+
+ while ((row = database.readSimRow(reader)) != null)
+ {
+ rows.Add(row);
+ }
+ reader.Close();
+ result.Dispose();
+
+ return rows.ToArray();
+
+ }
+ }
+ catch (Exception e)
+ {
+ database.Reconnect();
+ Console.WriteLine(e.ToString());
+ return null;
+ }
+ }
+
+ ///
+ /// Returns a sim profile from it's location
+ ///
+ /// Region location handle
+ /// Sim profile
+ public SimProfileData GetProfileByHandle(ulong handle)
+ {
+ try
+ {
+ lock (database)
+ {
+ Dictionary param = new Dictionary();
+ param["?handle"] = handle.ToString();
+
+ IDbCommand result = database.Query("SELECT * FROM regions WHERE regionHandle = ?handle", param);
+ IDataReader reader = result.ExecuteReader();
+
+ SimProfileData row = database.readSimRow(reader);
+ reader.Close();
+ result.Dispose();
+
+ return row;
+ }
+ }
+ catch (Exception e)
+ {
+ database.Reconnect();
+ Console.WriteLine(e.ToString());
+ return null;
+ }
+ }
+
+ ///
+ /// Returns a sim profile from it's UUID
+ ///
+ /// The region UUID
+ /// The sim profile
+ public SimProfileData GetProfileByLLUUID(LLUUID uuid)
+ {
+ try
+ {
+ lock (database)
+ {
+ Dictionary param = new Dictionary();
+ param["?uuid"] = uuid.ToStringHyphenated();
+
+ IDbCommand result = database.Query("SELECT * FROM regions WHERE uuid = ?uuid", param);
+ IDataReader reader = result.ExecuteReader();
+
+ SimProfileData row = database.readSimRow(reader);
+ reader.Close();
+ result.Dispose();
+
+ return row;
+ }
+ }
+ catch (Exception e)
+ {
+ database.Reconnect();
+ Console.WriteLine(e.ToString());
+ return null;
+ }
+ }
+
+ ///
+ /// Adds a new profile to the database
+ ///
+ /// The profile to add
+ /// Successful?
+ public DataResponse AddProfile(SimProfileData profile)
+ {
+ lock (database)
+ {
+ if (database.insertRegion(profile))
+ {
+ return DataResponse.RESPONSE_OK;
+ }
+ else
+ {
+ return DataResponse.RESPONSE_ERROR;
+ }
+ }
+ }
+
+ ///
+ /// DEPRECIATED. Attempts to authenticate a region by comparing a shared secret.
+ ///
+ /// The UUID of the challenger
+ /// The attempted regionHandle of the challenger
+ /// The secret
+ /// Whether the secret and regionhandle match the database entry for UUID
+ public bool AuthenticateSim(LLUUID uuid, ulong handle, string authkey)
+ {
+ bool throwHissyFit = false; // Should be true by 1.0
+
+ if (throwHissyFit)
+ throw new Exception("CRYPTOWEAK AUTHENTICATE: Refusing to authenticate due to replay potential.");
+
+ SimProfileData data = GetProfileByLLUUID(uuid);
+
+ return (handle == data.regionHandle && authkey == data.regionSecret);
+ }
+
+ ///
+ /// NOT YET FUNCTIONAL. Provides a cryptographic authentication of a region
+ ///
+ /// This requires a security audit.
+ ///
+ ///
+ ///
+ ///
+ ///
+ public bool AuthenticateSim(LLUUID uuid, ulong handle, string authhash, string challenge)
+ {
+ SHA512Managed HashProvider = new SHA512Managed();
+ ASCIIEncoding TextProvider = new ASCIIEncoding();
+
+ byte[] stream = TextProvider.GetBytes(uuid.ToStringHyphenated() + ":" + handle.ToString() + ":" + challenge);
+ byte[] hash = HashProvider.ComputeHash(stream);
+
+ return false;
+ }
+
+ public ReservationData GetReservationAtPoint(uint x, uint y)
+ {
+ try
+ {
+ lock (database)
+ {
+ Dictionary param = new Dictionary();
+ param["?x"] = x.ToString();
+ param["?y"] = y.ToString();
+ IDbCommand result = database.Query("SELECT * FROM reservations WHERE resXMin <= ?x AND resXMax >= ?x AND resYMin <= ?y AND resYMax >= ?y", param);
+ IDataReader reader = result.ExecuteReader();
+
+ ReservationData row = database.readReservationRow(reader);
+ reader.Close();
+ result.Dispose();
+
+ return row;
+ }
+ }
+ catch (Exception e)
+ {
+ database.Reconnect();
+ Console.WriteLine(e.ToString());
+ return null;
+ }
+ }
+ }
+
+
+}
diff --git a/OpenSim/Framework/Data.MySQL/MySQLInventoryData.cs b/OpenSim/Framework/Data.MySQL/MySQLInventoryData.cs
index 790759a..d32db1b 100644
--- a/OpenSim/Framework/Data.MySQL/MySQLInventoryData.cs
+++ b/OpenSim/Framework/Data.MySQL/MySQLInventoryData.cs
@@ -1,309 +1,309 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Data;
-using libsecondlife;
-
-namespace OpenSim.Framework.Data.MySQL
-{
- ///
- /// A MySQL interface for the inventory server
- ///
- class MySQLInventoryData : IInventoryData
- {
- ///
- /// The database manager
- ///
- public MySQLManager database;
-
- ///
- /// Loads and initialises this database plugin
- ///
- public void Initialise()
- {
- IniFile GridDataMySqlFile = new IniFile("mysql_connection.ini");
- string settingHostname = GridDataMySqlFile.ParseFileReadValue("hostname");
- string settingDatabase = GridDataMySqlFile.ParseFileReadValue("database");
- string settingUsername = GridDataMySqlFile.ParseFileReadValue("username");
- string settingPassword = GridDataMySqlFile.ParseFileReadValue("password");
- string settingPooling = GridDataMySqlFile.ParseFileReadValue("pooling");
- string settingPort = GridDataMySqlFile.ParseFileReadValue("port");
-
- database = new MySQLManager(settingHostname, settingDatabase, settingUsername, settingPassword, settingPooling, settingPort);
- }
-
- ///
- /// The name of this DB provider
- ///
- /// Name of DB provider
- public string getName()
- {
- return "MySQL Inventory Data Interface";
- }
-
- ///
- /// Closes this DB provider
- ///
- public void Close()
- {
- // Do nothing.
- }
-
- ///
- /// Returns the version of this DB provider
- ///
- /// A string containing the DB provider
- public string getVersion()
- {
- return "0.1";
- }
-
- ///
- /// Returns a list of items in a specified folder
- ///
- /// The folder to search
- /// A list containing inventory items
- public List getInventoryInFolder(LLUUID folderID)
- {
- try
- {
- lock (database)
- {
- Dictionary param = new Dictionary();
- param["?uuid"] = folderID.ToStringHyphenated();
-
- IDbCommand result = database.Query("SELECT * FROM inventoryitems WHERE parentFolderID = ?uuid", param);
- IDataReader reader = result.ExecuteReader();
-
- List items = database.readInventoryItems(reader);
-
- reader.Close();
- result.Dispose();
-
- return items;
- }
- }
- catch (Exception e)
- {
- database.Reconnect();
- Console.WriteLine(e.ToString());
- return null;
- }
- }
-
- ///
- /// Returns a list of the root folders within a users inventory
- ///
- /// The user whos inventory is to be searched
- /// A list of folder objects
- public List getUserRootFolders(LLUUID user)
- {
- try
- {
- lock (database)
- {
- Dictionary param = new Dictionary();
- param["?uuid"] = user.ToStringHyphenated();
- param["?zero"] = LLUUID.Zero.ToStringHyphenated();
-
- IDbCommand result = database.Query("SELECT * FROM inventoryfolders WHERE parentFolderID = ?zero AND agentID = ?uuid", param);
- IDataReader reader = result.ExecuteReader();
-
- List items = database.readInventoryFolders(reader);
-
- reader.Close();
- result.Dispose();
-
- return items;
- }
- }
- catch (Exception e)
- {
- database.Reconnect();
- Console.WriteLine(e.ToString());
- return null;
- }
- }
-
- ///
- /// Returns a list of folders in a users inventory contained within the specified folder
- ///
- /// The folder to search
- /// A list of inventory folders
- public List getInventoryFolders(LLUUID parentID)
- {
- try
- {
- lock (database)
- {
- Dictionary param = new Dictionary();
- param["?uuid"] = parentID.ToStringHyphenated();
-
- IDbCommand result = database.Query("SELECT * FROM inventoryfolders WHERE parentFolderID = ?uuid", param);
- IDataReader reader = result.ExecuteReader();
-
- List items = database.readInventoryFolders(reader);
-
- reader.Close();
- result.Dispose();
-
- return items;
- }
- }
- catch (Exception e)
- {
- database.Reconnect();
- Console.WriteLine(e.ToString());
- return null;
- }
- }
-
- ///
- /// Returns a specified inventory item
- ///
- /// The item to return
- /// An inventory item
- public InventoryItemBase getInventoryItem(LLUUID item)
- {
- try
- {
- lock (database)
- {
- Dictionary param = new Dictionary();
- param["?uuid"] = item.ToStringHyphenated();
-
- IDbCommand result = database.Query("SELECT * FROM inventoryitems WHERE inventoryID = ?uuid", param);
- IDataReader reader = result.ExecuteReader();
-
- List items = database.readInventoryItems(reader);
-
- reader.Close();
- result.Dispose();
-
- if (items.Count > 0)
- {
- return items[0];
- }
- else
- {
- return null;
- }
- }
- }
- catch (Exception e)
- {
- database.Reconnect();
- Console.WriteLine(e.ToString());
- return null;
- }
- }
-
- ///
- /// Returns a specified inventory folder
- ///
- /// The folder to return
- /// A folder class
- public InventoryFolderBase getInventoryFolder(LLUUID folder)
- {
- try
- {
- lock (database)
- {
- Dictionary param = new Dictionary();
- param["?uuid"] = folder.ToStringHyphenated();
-
- IDbCommand result = database.Query("SELECT * FROM inventoryfolders WHERE folderID = ?uuid", param);
- IDataReader reader = result.ExecuteReader();
-
- List items = database.readInventoryFolders(reader);
-
- reader.Close();
- result.Dispose();
-
- if (items.Count > 0)
- {
- return items[0];
- }
- else
- {
- return null;
- }
- }
- }
- catch (Exception e)
- {
- database.Reconnect();
- Console.WriteLine(e.ToString());
- return null;
- }
- }
-
- ///
- /// Adds a specified item to the database
- ///
- /// The inventory item
- public void addInventoryItem(InventoryItemBase item)
- {
- lock (database)
- {
- database.insertItem(item);
- }
- }
-
- ///
- /// Updates the specified inventory item
- ///
- /// Inventory item to update
- public void updateInventoryItem(InventoryItemBase item)
- {
- addInventoryItem(item);
- }
-
- ///
- /// Creates a new inventory folder
- ///
- /// Folder to create
- public void addInventoryFolder(InventoryFolderBase folder)
- {
- lock (database)
- {
- database.insertFolder(folder);
- }
- }
-
- ///
- /// Updates an inventory folder
- ///
- /// Folder to update
- public void updateInventoryFolder(InventoryFolderBase folder)
- {
- addInventoryFolder(folder);
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Data;
+using libsecondlife;
+
+namespace OpenSim.Framework.Data.MySQL
+{
+ ///
+ /// A MySQL interface for the inventory server
+ ///
+ class MySQLInventoryData : IInventoryData
+ {
+ ///
+ /// The database manager
+ ///
+ public MySQLManager database;
+
+ ///
+ /// Loads and initialises this database plugin
+ ///
+ public void Initialise()
+ {
+ IniFile GridDataMySqlFile = new IniFile("mysql_connection.ini");
+ string settingHostname = GridDataMySqlFile.ParseFileReadValue("hostname");
+ string settingDatabase = GridDataMySqlFile.ParseFileReadValue("database");
+ string settingUsername = GridDataMySqlFile.ParseFileReadValue("username");
+ string settingPassword = GridDataMySqlFile.ParseFileReadValue("password");
+ string settingPooling = GridDataMySqlFile.ParseFileReadValue("pooling");
+ string settingPort = GridDataMySqlFile.ParseFileReadValue("port");
+
+ database = new MySQLManager(settingHostname, settingDatabase, settingUsername, settingPassword, settingPooling, settingPort);
+ }
+
+ ///
+ /// The name of this DB provider
+ ///
+ /// Name of DB provider
+ public string getName()
+ {
+ return "MySQL Inventory Data Interface";
+ }
+
+ ///
+ /// Closes this DB provider
+ ///
+ public void Close()
+ {
+ // Do nothing.
+ }
+
+ ///
+ /// Returns the version of this DB provider
+ ///
+ /// A string containing the DB provider
+ public string getVersion()
+ {
+ return "0.1";
+ }
+
+ ///
+ /// Returns a list of items in a specified folder
+ ///
+ /// The folder to search
+ /// A list containing inventory items
+ public List getInventoryInFolder(LLUUID folderID)
+ {
+ try
+ {
+ lock (database)
+ {
+ Dictionary param = new Dictionary();
+ param["?uuid"] = folderID.ToStringHyphenated();
+
+ IDbCommand result = database.Query("SELECT * FROM inventoryitems WHERE parentFolderID = ?uuid", param);
+ IDataReader reader = result.ExecuteReader();
+
+ List items = database.readInventoryItems(reader);
+
+ reader.Close();
+ result.Dispose();
+
+ return items;
+ }
+ }
+ catch (Exception e)
+ {
+ database.Reconnect();
+ Console.WriteLine(e.ToString());
+ return null;
+ }
+ }
+
+ ///
+ /// Returns a list of the root folders within a users inventory
+ ///
+ /// The user whos inventory is to be searched
+ /// A list of folder objects
+ public List getUserRootFolders(LLUUID user)
+ {
+ try
+ {
+ lock (database)
+ {
+ Dictionary param = new Dictionary();
+ param["?uuid"] = user.ToStringHyphenated();
+ param["?zero"] = LLUUID.Zero.ToStringHyphenated();
+
+ IDbCommand result = database.Query("SELECT * FROM inventoryfolders WHERE parentFolderID = ?zero AND agentID = ?uuid", param);
+ IDataReader reader = result.ExecuteReader();
+
+ List items = database.readInventoryFolders(reader);
+
+ reader.Close();
+ result.Dispose();
+
+ return items;
+ }
+ }
+ catch (Exception e)
+ {
+ database.Reconnect();
+ Console.WriteLine(e.ToString());
+ return null;
+ }
+ }
+
+ ///
+ /// Returns a list of folders in a users inventory contained within the specified folder
+ ///
+ /// The folder to search
+ /// A list of inventory folders
+ public List getInventoryFolders(LLUUID parentID)
+ {
+ try
+ {
+ lock (database)
+ {
+ Dictionary param = new Dictionary();
+ param["?uuid"] = parentID.ToStringHyphenated();
+
+ IDbCommand result = database.Query("SELECT * FROM inventoryfolders WHERE parentFolderID = ?uuid", param);
+ IDataReader reader = result.ExecuteReader();
+
+ List items = database.readInventoryFolders(reader);
+
+ reader.Close();
+ result.Dispose();
+
+ return items;
+ }
+ }
+ catch (Exception e)
+ {
+ database.Reconnect();
+ Console.WriteLine(e.ToString());
+ return null;
+ }
+ }
+
+ ///
+ /// Returns a specified inventory item
+ ///
+ /// The item to return
+ /// An inventory item
+ public InventoryItemBase getInventoryItem(LLUUID item)
+ {
+ try
+ {
+ lock (database)
+ {
+ Dictionary param = new Dictionary();
+ param["?uuid"] = item.ToStringHyphenated();
+
+ IDbCommand result = database.Query("SELECT * FROM inventoryitems WHERE inventoryID = ?uuid", param);
+ IDataReader reader = result.ExecuteReader();
+
+ List items = database.readInventoryItems(reader);
+
+ reader.Close();
+ result.Dispose();
+
+ if (items.Count > 0)
+ {
+ return items[0];
+ }
+ else
+ {
+ return null;
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ database.Reconnect();
+ Console.WriteLine(e.ToString());
+ return null;
+ }
+ }
+
+ ///
+ /// Returns a specified inventory folder
+ ///
+ /// The folder to return
+ /// A folder class
+ public InventoryFolderBase getInventoryFolder(LLUUID folder)
+ {
+ try
+ {
+ lock (database)
+ {
+ Dictionary param = new Dictionary();
+ param["?uuid"] = folder.ToStringHyphenated();
+
+ IDbCommand result = database.Query("SELECT * FROM inventoryfolders WHERE folderID = ?uuid", param);
+ IDataReader reader = result.ExecuteReader();
+
+ List items = database.readInventoryFolders(reader);
+
+ reader.Close();
+ result.Dispose();
+
+ if (items.Count > 0)
+ {
+ return items[0];
+ }
+ else
+ {
+ return null;
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ database.Reconnect();
+ Console.WriteLine(e.ToString());
+ return null;
+ }
+ }
+
+ ///
+ /// Adds a specified item to the database
+ ///
+ /// The inventory item
+ public void addInventoryItem(InventoryItemBase item)
+ {
+ lock (database)
+ {
+ database.insertItem(item);
+ }
+ }
+
+ ///
+ /// Updates the specified inventory item
+ ///
+ /// Inventory item to update
+ public void updateInventoryItem(InventoryItemBase item)
+ {
+ addInventoryItem(item);
+ }
+
+ ///
+ /// Creates a new inventory folder
+ ///
+ /// Folder to create
+ public void addInventoryFolder(InventoryFolderBase folder)
+ {
+ lock (database)
+ {
+ database.insertFolder(folder);
+ }
+ }
+
+ ///
+ /// Updates an inventory folder
+ ///
+ /// Folder to update
+ public void updateInventoryFolder(InventoryFolderBase folder)
+ {
+ addInventoryFolder(folder);
+ }
+ }
+}
diff --git a/OpenSim/Framework/Data.MySQL/MySQLLogData.cs b/OpenSim/Framework/Data.MySQL/MySQLLogData.cs
index 38f9fd3..2ba9c3d 100644
--- a/OpenSim/Framework/Data.MySQL/MySQLLogData.cs
+++ b/OpenSim/Framework/Data.MySQL/MySQLLogData.cs
@@ -1,105 +1,105 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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;
-
-namespace OpenSim.Framework.Data.MySQL
-{
- ///
- /// An interface to the log database for MySQL
- ///
- class MySQLLogData : ILogData
- {
- ///
- /// The database manager
- ///
- public MySQLManager database;
-
- ///
- /// Artificial constructor called when the plugin is loaded
- ///
- public void Initialise()
- {
- IniFile GridDataMySqlFile = new IniFile("mysql_connection.ini");
- string settingHostname = GridDataMySqlFile.ParseFileReadValue("hostname");
- string settingDatabase = GridDataMySqlFile.ParseFileReadValue("database");
- string settingUsername = GridDataMySqlFile.ParseFileReadValue("username");
- string settingPassword = GridDataMySqlFile.ParseFileReadValue("password");
- string settingPooling = GridDataMySqlFile.ParseFileReadValue("pooling");
- string settingPort = GridDataMySqlFile.ParseFileReadValue("port");
-
- database = new MySQLManager(settingHostname, settingDatabase, settingUsername, settingPassword, settingPooling, settingPort);
- }
-
- ///
- /// Saves a log item to the database
- ///
- /// The daemon triggering the event
- /// The target of the action (region / agent UUID, etc)
- /// The method call where the problem occured
- /// The arguments passed to the method
- /// How critical is this?
- /// The message to log
- public void saveLog(string serverDaemon, string target, string methodCall, string arguments, int priority, string logMessage)
- {
- try
- {
- database.insertLogRow(serverDaemon, target, methodCall, arguments, priority, logMessage);
- }
- catch
- {
- database.Reconnect();
- }
- }
-
- ///
- /// Returns the name of this DB provider
- ///
- /// A string containing the DB provider name
- public string getName()
- {
- return "MySQL Logdata Interface";
- }
-
- ///
- /// Closes the database provider
- ///
- public void Close()
- {
- // Do nothing.
- }
-
- ///
- /// Returns the version of this DB provider
- ///
- /// A string containing the provider version
- public string getVersion()
- {
- return "0.1";
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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;
+
+namespace OpenSim.Framework.Data.MySQL
+{
+ ///
+ /// An interface to the log database for MySQL
+ ///
+ class MySQLLogData : ILogData
+ {
+ ///
+ /// The database manager
+ ///
+ public MySQLManager database;
+
+ ///
+ /// Artificial constructor called when the plugin is loaded
+ ///
+ public void Initialise()
+ {
+ IniFile GridDataMySqlFile = new IniFile("mysql_connection.ini");
+ string settingHostname = GridDataMySqlFile.ParseFileReadValue("hostname");
+ string settingDatabase = GridDataMySqlFile.ParseFileReadValue("database");
+ string settingUsername = GridDataMySqlFile.ParseFileReadValue("username");
+ string settingPassword = GridDataMySqlFile.ParseFileReadValue("password");
+ string settingPooling = GridDataMySqlFile.ParseFileReadValue("pooling");
+ string settingPort = GridDataMySqlFile.ParseFileReadValue("port");
+
+ database = new MySQLManager(settingHostname, settingDatabase, settingUsername, settingPassword, settingPooling, settingPort);
+ }
+
+ ///
+ /// Saves a log item to the database
+ ///
+ /// The daemon triggering the event
+ /// The target of the action (region / agent UUID, etc)
+ /// The method call where the problem occured
+ /// The arguments passed to the method
+ /// How critical is this?
+ /// The message to log
+ public void saveLog(string serverDaemon, string target, string methodCall, string arguments, int priority, string logMessage)
+ {
+ try
+ {
+ database.insertLogRow(serverDaemon, target, methodCall, arguments, priority, logMessage);
+ }
+ catch
+ {
+ database.Reconnect();
+ }
+ }
+
+ ///
+ /// Returns the name of this DB provider
+ ///
+ /// A string containing the DB provider name
+ public string getName()
+ {
+ return "MySQL Logdata Interface";
+ }
+
+ ///
+ /// Closes the database provider
+ ///
+ public void Close()
+ {
+ // Do nothing.
+ }
+
+ ///
+ /// Returns the version of this DB provider
+ ///
+ /// A string containing the provider version
+ public string getVersion()
+ {
+ return "0.1";
+ }
+ }
+}
diff --git a/OpenSim/Framework/Data.MySQL/MySQLManager.cs b/OpenSim/Framework/Data.MySQL/MySQLManager.cs
index ab7f277..a5434c8 100644
--- a/OpenSim/Framework/Data.MySQL/MySQLManager.cs
+++ b/OpenSim/Framework/Data.MySQL/MySQLManager.cs
@@ -1,606 +1,606 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Data;
-using libsecondlife;
-using MySql.Data.MySqlClient;
-
-namespace OpenSim.Framework.Data.MySQL
-{
- ///
- /// A MySQL Database manager
- ///
- class MySQLManager
- {
- ///
- /// The database connection object
- ///
- IDbConnection dbcon;
- ///
- /// Connection string for ADO.net
- ///
- string connectionString;
-
- ///
- /// Initialises and creates a new MySQL connection and maintains it.
- ///
- /// The MySQL server being connected to
- /// The name of the MySQL database being used
- /// The username logging into the database
- /// The password for the user logging in
- /// Whether to use connection pooling or not, can be one of the following: 'yes', 'true', 'no' or 'false', if unsure use 'false'.
- public MySQLManager(string hostname, string database, string username, string password, string cpooling, string port)
- {
- try
- {
- connectionString = "Server=" + hostname + ";Port=" + port + ";Database=" + database + ";User ID=" + username + ";Password=" + password + ";Pooling=" + cpooling + ";";
- dbcon = new MySqlConnection(connectionString);
-
- dbcon.Open();
-
- Console.WriteLine("MySQL connection established");
- }
- catch (Exception e)
- {
- throw new Exception("Error initialising MySql Database: " + e.ToString());
- }
- }
-
- ///
- /// Shuts down the database connection
- ///
- public void Close()
- {
- dbcon.Close();
- dbcon = null;
- }
-
- ///
- /// Reconnects to the database
- ///
- public void Reconnect()
- {
- lock (dbcon)
- {
- try
- {
- // Close the DB connection
- dbcon.Close();
- // Try reopen it
- dbcon = new MySqlConnection(connectionString);
- dbcon.Open();
- }
- catch (Exception e)
- {
- Console.WriteLine("Unable to reconnect to database " + e.ToString());
- }
- }
- }
-
- ///
- /// Runs a query with protection against SQL Injection by using parameterised input.
- ///
- /// The SQL string - replace any variables such as WHERE x = "y" with WHERE x = @y
- /// The parameters - index so that @y is indexed as 'y'
- /// A MySQL DB Command
- public IDbCommand Query(string sql, Dictionary parameters)
- {
- try
- {
- MySqlCommand dbcommand = (MySqlCommand)dbcon.CreateCommand();
- dbcommand.CommandText = sql;
- foreach (KeyValuePair param in parameters)
- {
- dbcommand.Parameters.Add(param.Key, param.Value);
- }
-
- return (IDbCommand)dbcommand;
- }
- catch
- {
- lock (dbcon)
- {
- // Close the DB connection
- try
- {
- dbcon.Close();
- }
- catch { }
-
- // Try reopen it
- try
- {
- dbcon = new MySqlConnection(connectionString);
- dbcon.Open();
- }
- catch (Exception e)
- {
- Console.WriteLine("Unable to reconnect to database " + e.ToString());
- }
-
- // Run the query again
- try
- {
- MySqlCommand dbcommand = (MySqlCommand)dbcon.CreateCommand();
- dbcommand.CommandText = sql;
- foreach (KeyValuePair param in parameters)
- {
- dbcommand.Parameters.Add(param.Key, param.Value);
- }
-
- return (IDbCommand)dbcommand;
- }
- catch (Exception e)
- {
- // Return null if it fails.
- Console.WriteLine("Failed during Query generation: " + e.ToString());
- return null;
- }
- }
- }
- }
-
- ///
- /// Reads a region row from a database reader
- ///
- /// An active database reader
- /// A region profile
- public SimProfileData readSimRow(IDataReader reader)
- {
- SimProfileData retval = new SimProfileData();
-
- if (reader.Read())
- {
- // Region Main
- retval.regionHandle = Convert.ToUInt64(reader["regionHandle"].ToString());
- retval.regionName = (string)reader["regionName"];
- retval.UUID = new LLUUID((string)reader["uuid"]);
-
- // Secrets
- retval.regionRecvKey = (string)reader["regionRecvKey"];
- retval.regionSecret = (string)reader["regionSecret"];
- retval.regionSendKey = (string)reader["regionSendKey"];
-
- // Region Server
- retval.regionDataURI = (string)reader["regionDataURI"];
- retval.regionOnline = false; // Needs to be pinged before this can be set.
- retval.serverIP = (string)reader["serverIP"];
- retval.serverPort = (uint)reader["serverPort"];
- retval.serverURI = (string)reader["serverURI"];
- retval.httpPort = Convert.ToUInt32(reader["serverHttpPort"].ToString());
- retval.remotingPort = Convert.ToUInt32(reader["serverRemotingPort"].ToString());
-
- // Location
- retval.regionLocX = Convert.ToUInt32(reader["locX"].ToString());
- retval.regionLocY = Convert.ToUInt32(reader["locY"].ToString());
- retval.regionLocZ = Convert.ToUInt32(reader["locZ"].ToString());
-
- // Neighbours - 0 = No Override
- retval.regionEastOverrideHandle = Convert.ToUInt64(reader["eastOverrideHandle"].ToString());
- retval.regionWestOverrideHandle = Convert.ToUInt64(reader["westOverrideHandle"].ToString());
- retval.regionSouthOverrideHandle = Convert.ToUInt64(reader["southOverrideHandle"].ToString());
- retval.regionNorthOverrideHandle = Convert.ToUInt64(reader["northOverrideHandle"].ToString());
-
- // Assets
- retval.regionAssetURI = (string)reader["regionAssetURI"];
- retval.regionAssetRecvKey = (string)reader["regionAssetRecvKey"];
- retval.regionAssetSendKey = (string)reader["regionAssetSendKey"];
-
- // Userserver
- retval.regionUserURI = (string)reader["regionUserURI"];
- retval.regionUserRecvKey = (string)reader["regionUserRecvKey"];
- retval.regionUserSendKey = (string)reader["regionUserSendKey"];
-
- // World Map Addition
- string tempRegionMap = reader["regionMapTexture"].ToString();
- if (tempRegionMap != "")
- {
- retval.regionMapTextureID = new LLUUID(tempRegionMap);
- }
- else
- {
- retval.regionMapTextureID = new LLUUID();
- }
- }
- else
- {
- return null;
- }
- return retval;
- }
-
- ///
- /// Reads a reservation row from a database reader
- ///
- /// An active database reader
- /// A reservation data object
- public ReservationData readReservationRow(IDataReader reader)
- {
- ReservationData retval = new ReservationData();
- if (reader.Read())
- {
- retval.gridRecvKey = (string)reader["gridRecvKey"];
- retval.gridSendKey = (string)reader["gridSendKey"];
- retval.reservationCompany = (string)reader["resCompany"];
- retval.reservationMaxX = Convert.ToInt32(reader["resXMax"].ToString());
- retval.reservationMaxY = Convert.ToInt32(reader["resYMax"].ToString());
- retval.reservationMinX = Convert.ToInt32(reader["resXMin"].ToString());
- retval.reservationMinY = Convert.ToInt32(reader["resYMin"].ToString());
- retval.reservationName = (string)reader["resName"];
- retval.status = Convert.ToInt32(reader["status"].ToString()) == 1;
- retval.userUUID = new LLUUID((string)reader["userUUID"]);
-
- }
- else
- {
- return null;
- }
- return retval;
- }
- ///
- /// Reads an agent row from a database reader
- ///
- /// An active database reader
- /// A user session agent
- public UserAgentData readAgentRow(IDataReader reader)
- {
- UserAgentData retval = new UserAgentData();
-
- if (reader.Read())
- {
- // Agent IDs
- retval.UUID = new LLUUID((string)reader["UUID"]);
- retval.sessionID = new LLUUID((string)reader["sessionID"]);
- retval.secureSessionID = new LLUUID((string)reader["secureSessionID"]);
-
- // Agent Who?
- retval.agentIP = (string)reader["agentIP"];
- retval.agentPort = Convert.ToUInt32(reader["agentPort"].ToString());
- retval.agentOnline = Convert.ToBoolean(reader["agentOnline"].ToString());
-
- // Login/Logout times (UNIX Epoch)
- retval.loginTime = Convert.ToInt32(reader["loginTime"].ToString());
- retval.logoutTime = Convert.ToInt32(reader["logoutTime"].ToString());
-
- // Current position
- retval.currentRegion = (string)reader["currentRegion"];
- retval.currentHandle = Convert.ToUInt64(reader["currentHandle"].ToString());
- LLVector3.TryParse((string)reader["currentPos"], out retval.currentPos);
- }
- else
- {
- return null;
- }
- return retval;
- }
-
- ///
- /// Reads a user profile from an active data reader
- ///
- /// An active database reader
- /// A user profile
- public UserProfileData readUserRow(IDataReader reader)
- {
- UserProfileData retval = new UserProfileData();
-
- if (reader.Read())
- {
- retval.UUID = new LLUUID((string)reader["UUID"]);
- retval.username = (string)reader["username"];
- retval.surname = (string)reader["lastname"];
-
- retval.passwordHash = (string)reader["passwordHash"];
- retval.passwordSalt = (string)reader["passwordSalt"];
-
- retval.homeRegion = Convert.ToUInt64(reader["homeRegion"].ToString());
- retval.homeLocation = new LLVector3(
- Convert.ToSingle(reader["homeLocationX"].ToString()),
- Convert.ToSingle(reader["homeLocationY"].ToString()),
- Convert.ToSingle(reader["homeLocationZ"].ToString()));
- retval.homeLookAt = new LLVector3(
- Convert.ToSingle(reader["homeLookAtX"].ToString()),
- Convert.ToSingle(reader["homeLookAtY"].ToString()),
- Convert.ToSingle(reader["homeLookAtZ"].ToString()));
-
- retval.created = Convert.ToInt32(reader["created"].ToString());
- retval.lastLogin = Convert.ToInt32(reader["lastLogin"].ToString());
-
- retval.userInventoryURI = (string)reader["userInventoryURI"];
- retval.userAssetURI = (string)reader["userAssetURI"];
-
- retval.profileCanDoMask = Convert.ToUInt32(reader["profileCanDoMask"].ToString());
- retval.profileWantDoMask = Convert.ToUInt32(reader["profileWantDoMask"].ToString());
-
- retval.profileAboutText = (string)reader["profileAboutText"];
- retval.profileFirstText = (string)reader["profileFirstText"];
-
- retval.profileImage = new LLUUID((string)reader["profileImage"]);
- retval.profileFirstImage = new LLUUID((string)reader["profileFirstImage"]);
-
- }
- else
- {
- return null;
- }
- return retval;
- }
-
- ///
- /// Reads a list of inventory folders returned by a query.
- ///
- /// A MySQL Data Reader
- /// A List containing inventory folders
- public List readInventoryFolders(IDataReader reader)
- {
- List rows = new List();
-
- while(reader.Read())
- {
- try
- {
- InventoryFolderBase folder = new InventoryFolderBase();
-
- folder.agentID = new LLUUID((string)reader["agentID"]);
- folder.parentID = new LLUUID((string)reader["parentFolderID"]);
- folder.folderID = new LLUUID((string)reader["folderID"]);
- folder.name = (string)reader["folderName"];
-
- rows.Add(folder);
- }
- catch (Exception e)
- {
- Console.WriteLine(e.ToString());
- }
- }
-
- return rows;
- }
-
- ///
- /// Reads a collection of items from an SQL result
- ///
- /// The SQL Result
- /// A List containing Inventory Items
- public List readInventoryItems(IDataReader reader)
- {
- List rows = new List();
-
- while (reader.Read())
- {
- try
- {
- InventoryItemBase item = new InventoryItemBase();
-
- item.assetID = new LLUUID((string)reader["assetID"]);
- item.avatarID = new LLUUID((string)reader["avatarID"]);
- item.inventoryCurrentPermissions = Convert.ToUInt32(reader["inventoryCurrentPermissions"].ToString());
- item.inventoryDescription = (string)reader["inventoryDescription"];
- item.inventoryID = new LLUUID((string)reader["inventoryID"]);
- item.inventoryName = (string)reader["inventoryName"];
- item.inventoryNextPermissions = Convert.ToUInt32(reader["inventoryNextPermissions"].ToString());
- item.parentFolderID = new LLUUID((string)reader["parentFolderID"]);
- item.type = Convert.ToInt32(reader["type"].ToString());
-
- rows.Add(item);
- }
- catch (Exception e)
- {
- Console.WriteLine(e.ToString());
- }
- }
-
- return rows;
- }
-
- ///
- /// Inserts a new row into the log database
- ///
- /// The daemon which triggered this event
- /// Who were we operating on when this occured (region UUID, user UUID, etc)
- /// The method call where the problem occured
- /// The arguments passed to the method
- /// How critical is this?
- /// Extra message info
- /// Saved successfully?
- public bool insertLogRow(string serverDaemon, string target, string methodCall, string arguments, int priority, string logMessage)
- {
- string sql = "INSERT INTO logs (`target`, `server`, `method`, `arguments`, `priority`, `message`) VALUES ";
- sql += "(?target, ?server, ?method, ?arguments, ?priority, ?message)";
-
- Dictionary parameters = new Dictionary();
- parameters["?server"] = serverDaemon;
- parameters["?target"] = target;
- parameters["?method"] = methodCall;
- parameters["?arguments"] = arguments;
- parameters["?priority"] = priority.ToString();
- parameters["?message"] = logMessage;
-
- bool returnval = false;
-
- try
- {
- IDbCommand result = Query(sql, parameters);
-
- if (result.ExecuteNonQuery() == 1)
- returnval = true;
-
- result.Dispose();
- }
- catch (Exception e)
- {
- Console.WriteLine(e.ToString());
- return false;
- }
-
- return returnval;
- }
-
- ///
- /// Inserts a new item into the database
- ///
- /// The item
- /// Success?
- public bool insertItem(InventoryItemBase item)
- {
- string sql = "REPLACE INTO inventoryitems (inventoryID, assetID, type, parentFolderID, avatarID, inventoryName, inventoryDescription, inventoryNextPermissions, inventoryCurrentPermissions) VALUES ";
- sql += "(?inventoryID, ?assetID, ?type, ?parentFolderID, ?avatarID, ?inventoryName, ?inventoryDescription, ?inventoryNextPermissions, ?inventoryCurrentPermissions)";
-
- Dictionary parameters = new Dictionary();
- parameters["?inventoryID"] = item.inventoryID.ToStringHyphenated();
- parameters["?assetID"] = item.assetID.ToStringHyphenated();
- parameters["?type"] = item.type.ToString();
- parameters["?parentFolderID"] = item.parentFolderID.ToStringHyphenated();
- parameters["?avatarID"] = item.avatarID.ToStringHyphenated();
- parameters["?inventoryName"] = item.inventoryName;
- parameters["?inventoryDescription"] = item.inventoryDescription;
- parameters["?inventoryNextPermissions"] = item.inventoryNextPermissions.ToString();
- parameters["?inventoryCurrentPermissions"] = item.inventoryCurrentPermissions.ToString();
-
- bool returnval = false;
-
- try
- {
- IDbCommand result = Query(sql, parameters);
-
- if (result.ExecuteNonQuery() == 1)
- returnval = true;
-
- result.Dispose();
- }
- catch (Exception e)
- {
- Console.WriteLine(e.ToString());
- return false;
- }
-
- return returnval;
- }
-
- ///
- /// Inserts a new folder into the database
- ///
- /// The folder
- /// Success?
- public bool insertFolder(InventoryFolderBase folder)
- {
- string sql = "REPLACE INTO inventoryfolders (folderID, agentID, parentFolderID, folderName) VALUES ";
- sql += "(?folderID, ?agentID, ?parentFolderID, ?folderName)";
-
- Dictionary parameters = new Dictionary();
- parameters["?folderID"] = folder.folderID.ToStringHyphenated();
- parameters["?agentID"] = folder.agentID.ToStringHyphenated();
- parameters["?parentFolderID"] = folder.parentID.ToStringHyphenated();
- parameters["?folderName"] = folder.name;
-
- bool returnval = false;
- try
- {
- IDbCommand result = Query(sql, parameters);
-
- if (result.ExecuteNonQuery() == 1)
- returnval = true;
-
- result.Dispose();
- }
- catch (Exception e)
- {
- Console.WriteLine(e.ToString());
- return false;
- }
- return returnval;
- }
-
- ///
- /// Inserts a new region into the database
- ///
- /// The region to insert
- /// Success?
- public bool insertRegion(SimProfileData regiondata)
- {
- string sql = "REPLACE INTO regions (regionHandle, regionName, uuid, regionRecvKey, regionSecret, regionSendKey, regionDataURI, ";
- sql += "serverIP, serverPort, serverURI, locX, locY, locZ, eastOverrideHandle, westOverrideHandle, southOverrideHandle, northOverrideHandle, regionAssetURI, regionAssetRecvKey, ";
- sql += "regionAssetSendKey, regionUserURI, regionUserRecvKey, regionUserSendKey, regionMapTexture, serverHttpPort, serverRemotingPort) VALUES ";
-
- sql += "(?regionHandle, ?regionName, ?uuid, ?regionRecvKey, ?regionSecret, ?regionSendKey, ?regionDataURI, ";
- sql += "?serverIP, ?serverPort, ?serverURI, ?locX, ?locY, ?locZ, ?eastOverrideHandle, ?westOverrideHandle, ?southOverrideHandle, ?northOverrideHandle, ?regionAssetURI, ?regionAssetRecvKey, ";
- sql += "?regionAssetSendKey, ?regionUserURI, ?regionUserRecvKey, ?regionUserSendKey, ?regionMapTexture, ?serverHttpPort, ?serverRemotingPort);";
-
- Dictionary parameters = new Dictionary();
-
- parameters["?regionHandle"] = regiondata.regionHandle.ToString();
- parameters["?regionName"] = regiondata.regionName.ToString();
- parameters["?uuid"] = regiondata.UUID.ToStringHyphenated();
- parameters["?regionRecvKey"] = regiondata.regionRecvKey.ToString();
- parameters["?regionSecret"] = regiondata.regionSecret.ToString();
- parameters["?regionSendKey"] = regiondata.regionSendKey.ToString();
- parameters["?regionDataURI"] = regiondata.regionDataURI.ToString();
- parameters["?serverIP"] = regiondata.serverIP.ToString();
- parameters["?serverPort"] = regiondata.serverPort.ToString();
- parameters["?serverURI"] = regiondata.serverURI.ToString();
- parameters["?locX"] = regiondata.regionLocX.ToString();
- parameters["?locY"] = regiondata.regionLocY.ToString();
- parameters["?locZ"] = regiondata.regionLocZ.ToString();
- parameters["?eastOverrideHandle"] = regiondata.regionEastOverrideHandle.ToString();
- parameters["?westOverrideHandle"] = regiondata.regionWestOverrideHandle.ToString();
- parameters["?northOverrideHandle"] = regiondata.regionNorthOverrideHandle.ToString();
- parameters["?southOverrideHandle"] = regiondata.regionSouthOverrideHandle.ToString();
- parameters["?regionAssetURI"] = regiondata.regionAssetURI.ToString();
- parameters["?regionAssetRecvKey"] = regiondata.regionAssetRecvKey.ToString();
- parameters["?regionAssetSendKey"] = regiondata.regionAssetSendKey.ToString();
- parameters["?regionUserURI"] = regiondata.regionUserURI.ToString();
- parameters["?regionUserRecvKey"] = regiondata.regionUserRecvKey.ToString();
- parameters["?regionUserSendKey"] = regiondata.regionUserSendKey.ToString();
- parameters["?regionMapTexture"] = regiondata.regionMapTextureID.ToStringHyphenated();
- parameters["?serverHttpPort"] = regiondata.httpPort.ToString();
- parameters["?serverRemotingPort"] = regiondata.remotingPort.ToString();
-
- bool returnval = false;
-
- try
- {
-
- IDbCommand result = Query(sql, parameters);
-
- //Console.WriteLine(result.CommandText);
-
- if (result.ExecuteNonQuery() == 1)
- returnval = true;
-
- result.Dispose();
- }
- catch (Exception e)
- {
- Console.WriteLine(e.ToString());
- return false;
- }
-
- return returnval;
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Data;
+using libsecondlife;
+using MySql.Data.MySqlClient;
+
+namespace OpenSim.Framework.Data.MySQL
+{
+ ///
+ /// A MySQL Database manager
+ ///
+ class MySQLManager
+ {
+ ///
+ /// The database connection object
+ ///
+ IDbConnection dbcon;
+ ///
+ /// Connection string for ADO.net
+ ///
+ string connectionString;
+
+ ///
+ /// Initialises and creates a new MySQL connection and maintains it.
+ ///
+ /// The MySQL server being connected to
+ /// The name of the MySQL database being used
+ /// The username logging into the database
+ /// The password for the user logging in
+ /// Whether to use connection pooling or not, can be one of the following: 'yes', 'true', 'no' or 'false', if unsure use 'false'.
+ public MySQLManager(string hostname, string database, string username, string password, string cpooling, string port)
+ {
+ try
+ {
+ connectionString = "Server=" + hostname + ";Port=" + port + ";Database=" + database + ";User ID=" + username + ";Password=" + password + ";Pooling=" + cpooling + ";";
+ dbcon = new MySqlConnection(connectionString);
+
+ dbcon.Open();
+
+ Console.WriteLine("MySQL connection established");
+ }
+ catch (Exception e)
+ {
+ throw new Exception("Error initialising MySql Database: " + e.ToString());
+ }
+ }
+
+ ///
+ /// Shuts down the database connection
+ ///
+ public void Close()
+ {
+ dbcon.Close();
+ dbcon = null;
+ }
+
+ ///
+ /// Reconnects to the database
+ ///
+ public void Reconnect()
+ {
+ lock (dbcon)
+ {
+ try
+ {
+ // Close the DB connection
+ dbcon.Close();
+ // Try reopen it
+ dbcon = new MySqlConnection(connectionString);
+ dbcon.Open();
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine("Unable to reconnect to database " + e.ToString());
+ }
+ }
+ }
+
+ ///
+ /// Runs a query with protection against SQL Injection by using parameterised input.
+ ///
+ /// The SQL string - replace any variables such as WHERE x = "y" with WHERE x = @y
+ /// The parameters - index so that @y is indexed as 'y'
+ /// A MySQL DB Command
+ public IDbCommand Query(string sql, Dictionary parameters)
+ {
+ try
+ {
+ MySqlCommand dbcommand = (MySqlCommand)dbcon.CreateCommand();
+ dbcommand.CommandText = sql;
+ foreach (KeyValuePair param in parameters)
+ {
+ dbcommand.Parameters.Add(param.Key, param.Value);
+ }
+
+ return (IDbCommand)dbcommand;
+ }
+ catch
+ {
+ lock (dbcon)
+ {
+ // Close the DB connection
+ try
+ {
+ dbcon.Close();
+ }
+ catch { }
+
+ // Try reopen it
+ try
+ {
+ dbcon = new MySqlConnection(connectionString);
+ dbcon.Open();
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine("Unable to reconnect to database " + e.ToString());
+ }
+
+ // Run the query again
+ try
+ {
+ MySqlCommand dbcommand = (MySqlCommand)dbcon.CreateCommand();
+ dbcommand.CommandText = sql;
+ foreach (KeyValuePair param in parameters)
+ {
+ dbcommand.Parameters.Add(param.Key, param.Value);
+ }
+
+ return (IDbCommand)dbcommand;
+ }
+ catch (Exception e)
+ {
+ // Return null if it fails.
+ Console.WriteLine("Failed during Query generation: " + e.ToString());
+ return null;
+ }
+ }
+ }
+ }
+
+ ///
+ /// Reads a region row from a database reader
+ ///
+ /// An active database reader
+ /// A region profile
+ public SimProfileData readSimRow(IDataReader reader)
+ {
+ SimProfileData retval = new SimProfileData();
+
+ if (reader.Read())
+ {
+ // Region Main
+ retval.regionHandle = Convert.ToUInt64(reader["regionHandle"].ToString());
+ retval.regionName = (string)reader["regionName"];
+ retval.UUID = new LLUUID((string)reader["uuid"]);
+
+ // Secrets
+ retval.regionRecvKey = (string)reader["regionRecvKey"];
+ retval.regionSecret = (string)reader["regionSecret"];
+ retval.regionSendKey = (string)reader["regionSendKey"];
+
+ // Region Server
+ retval.regionDataURI = (string)reader["regionDataURI"];
+ retval.regionOnline = false; // Needs to be pinged before this can be set.
+ retval.serverIP = (string)reader["serverIP"];
+ retval.serverPort = (uint)reader["serverPort"];
+ retval.serverURI = (string)reader["serverURI"];
+ retval.httpPort = Convert.ToUInt32(reader["serverHttpPort"].ToString());
+ retval.remotingPort = Convert.ToUInt32(reader["serverRemotingPort"].ToString());
+
+ // Location
+ retval.regionLocX = Convert.ToUInt32(reader["locX"].ToString());
+ retval.regionLocY = Convert.ToUInt32(reader["locY"].ToString());
+ retval.regionLocZ = Convert.ToUInt32(reader["locZ"].ToString());
+
+ // Neighbours - 0 = No Override
+ retval.regionEastOverrideHandle = Convert.ToUInt64(reader["eastOverrideHandle"].ToString());
+ retval.regionWestOverrideHandle = Convert.ToUInt64(reader["westOverrideHandle"].ToString());
+ retval.regionSouthOverrideHandle = Convert.ToUInt64(reader["southOverrideHandle"].ToString());
+ retval.regionNorthOverrideHandle = Convert.ToUInt64(reader["northOverrideHandle"].ToString());
+
+ // Assets
+ retval.regionAssetURI = (string)reader["regionAssetURI"];
+ retval.regionAssetRecvKey = (string)reader["regionAssetRecvKey"];
+ retval.regionAssetSendKey = (string)reader["regionAssetSendKey"];
+
+ // Userserver
+ retval.regionUserURI = (string)reader["regionUserURI"];
+ retval.regionUserRecvKey = (string)reader["regionUserRecvKey"];
+ retval.regionUserSendKey = (string)reader["regionUserSendKey"];
+
+ // World Map Addition
+ string tempRegionMap = reader["regionMapTexture"].ToString();
+ if (tempRegionMap != "")
+ {
+ retval.regionMapTextureID = new LLUUID(tempRegionMap);
+ }
+ else
+ {
+ retval.regionMapTextureID = new LLUUID();
+ }
+ }
+ else
+ {
+ return null;
+ }
+ return retval;
+ }
+
+ ///
+ /// Reads a reservation row from a database reader
+ ///
+ /// An active database reader
+ /// A reservation data object
+ public ReservationData readReservationRow(IDataReader reader)
+ {
+ ReservationData retval = new ReservationData();
+ if (reader.Read())
+ {
+ retval.gridRecvKey = (string)reader["gridRecvKey"];
+ retval.gridSendKey = (string)reader["gridSendKey"];
+ retval.reservationCompany = (string)reader["resCompany"];
+ retval.reservationMaxX = Convert.ToInt32(reader["resXMax"].ToString());
+ retval.reservationMaxY = Convert.ToInt32(reader["resYMax"].ToString());
+ retval.reservationMinX = Convert.ToInt32(reader["resXMin"].ToString());
+ retval.reservationMinY = Convert.ToInt32(reader["resYMin"].ToString());
+ retval.reservationName = (string)reader["resName"];
+ retval.status = Convert.ToInt32(reader["status"].ToString()) == 1;
+ retval.userUUID = new LLUUID((string)reader["userUUID"]);
+
+ }
+ else
+ {
+ return null;
+ }
+ return retval;
+ }
+ ///
+ /// Reads an agent row from a database reader
+ ///
+ /// An active database reader
+ /// A user session agent
+ public UserAgentData readAgentRow(IDataReader reader)
+ {
+ UserAgentData retval = new UserAgentData();
+
+ if (reader.Read())
+ {
+ // Agent IDs
+ retval.UUID = new LLUUID((string)reader["UUID"]);
+ retval.sessionID = new LLUUID((string)reader["sessionID"]);
+ retval.secureSessionID = new LLUUID((string)reader["secureSessionID"]);
+
+ // Agent Who?
+ retval.agentIP = (string)reader["agentIP"];
+ retval.agentPort = Convert.ToUInt32(reader["agentPort"].ToString());
+ retval.agentOnline = Convert.ToBoolean(reader["agentOnline"].ToString());
+
+ // Login/Logout times (UNIX Epoch)
+ retval.loginTime = Convert.ToInt32(reader["loginTime"].ToString());
+ retval.logoutTime = Convert.ToInt32(reader["logoutTime"].ToString());
+
+ // Current position
+ retval.currentRegion = (string)reader["currentRegion"];
+ retval.currentHandle = Convert.ToUInt64(reader["currentHandle"].ToString());
+ LLVector3.TryParse((string)reader["currentPos"], out retval.currentPos);
+ }
+ else
+ {
+ return null;
+ }
+ return retval;
+ }
+
+ ///
+ /// Reads a user profile from an active data reader
+ ///
+ /// An active database reader
+ /// A user profile
+ public UserProfileData readUserRow(IDataReader reader)
+ {
+ UserProfileData retval = new UserProfileData();
+
+ if (reader.Read())
+ {
+ retval.UUID = new LLUUID((string)reader["UUID"]);
+ retval.username = (string)reader["username"];
+ retval.surname = (string)reader["lastname"];
+
+ retval.passwordHash = (string)reader["passwordHash"];
+ retval.passwordSalt = (string)reader["passwordSalt"];
+
+ retval.homeRegion = Convert.ToUInt64(reader["homeRegion"].ToString());
+ retval.homeLocation = new LLVector3(
+ Convert.ToSingle(reader["homeLocationX"].ToString()),
+ Convert.ToSingle(reader["homeLocationY"].ToString()),
+ Convert.ToSingle(reader["homeLocationZ"].ToString()));
+ retval.homeLookAt = new LLVector3(
+ Convert.ToSingle(reader["homeLookAtX"].ToString()),
+ Convert.ToSingle(reader["homeLookAtY"].ToString()),
+ Convert.ToSingle(reader["homeLookAtZ"].ToString()));
+
+ retval.created = Convert.ToInt32(reader["created"].ToString());
+ retval.lastLogin = Convert.ToInt32(reader["lastLogin"].ToString());
+
+ retval.userInventoryURI = (string)reader["userInventoryURI"];
+ retval.userAssetURI = (string)reader["userAssetURI"];
+
+ retval.profileCanDoMask = Convert.ToUInt32(reader["profileCanDoMask"].ToString());
+ retval.profileWantDoMask = Convert.ToUInt32(reader["profileWantDoMask"].ToString());
+
+ retval.profileAboutText = (string)reader["profileAboutText"];
+ retval.profileFirstText = (string)reader["profileFirstText"];
+
+ retval.profileImage = new LLUUID((string)reader["profileImage"]);
+ retval.profileFirstImage = new LLUUID((string)reader["profileFirstImage"]);
+
+ }
+ else
+ {
+ return null;
+ }
+ return retval;
+ }
+
+ ///
+ /// Reads a list of inventory folders returned by a query.
+ ///
+ /// A MySQL Data Reader
+ /// A List containing inventory folders
+ public List readInventoryFolders(IDataReader reader)
+ {
+ List rows = new List();
+
+ while(reader.Read())
+ {
+ try
+ {
+ InventoryFolderBase folder = new InventoryFolderBase();
+
+ folder.agentID = new LLUUID((string)reader["agentID"]);
+ folder.parentID = new LLUUID((string)reader["parentFolderID"]);
+ folder.folderID = new LLUUID((string)reader["folderID"]);
+ folder.name = (string)reader["folderName"];
+
+ rows.Add(folder);
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine(e.ToString());
+ }
+ }
+
+ return rows;
+ }
+
+ ///
+ /// Reads a collection of items from an SQL result
+ ///
+ /// The SQL Result
+ /// A List containing Inventory Items
+ public List readInventoryItems(IDataReader reader)
+ {
+ List rows = new List();
+
+ while (reader.Read())
+ {
+ try
+ {
+ InventoryItemBase item = new InventoryItemBase();
+
+ item.assetID = new LLUUID((string)reader["assetID"]);
+ item.avatarID = new LLUUID((string)reader["avatarID"]);
+ item.inventoryCurrentPermissions = Convert.ToUInt32(reader["inventoryCurrentPermissions"].ToString());
+ item.inventoryDescription = (string)reader["inventoryDescription"];
+ item.inventoryID = new LLUUID((string)reader["inventoryID"]);
+ item.inventoryName = (string)reader["inventoryName"];
+ item.inventoryNextPermissions = Convert.ToUInt32(reader["inventoryNextPermissions"].ToString());
+ item.parentFolderID = new LLUUID((string)reader["parentFolderID"]);
+ item.type = Convert.ToInt32(reader["type"].ToString());
+
+ rows.Add(item);
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine(e.ToString());
+ }
+ }
+
+ return rows;
+ }
+
+ ///
+ /// Inserts a new row into the log database
+ ///
+ /// The daemon which triggered this event
+ /// Who were we operating on when this occured (region UUID, user UUID, etc)
+ /// The method call where the problem occured
+ /// The arguments passed to the method
+ /// How critical is this?
+ /// Extra message info
+ /// Saved successfully?
+ public bool insertLogRow(string serverDaemon, string target, string methodCall, string arguments, int priority, string logMessage)
+ {
+ string sql = "INSERT INTO logs (`target`, `server`, `method`, `arguments`, `priority`, `message`) VALUES ";
+ sql += "(?target, ?server, ?method, ?arguments, ?priority, ?message)";
+
+ Dictionary parameters = new Dictionary();
+ parameters["?server"] = serverDaemon;
+ parameters["?target"] = target;
+ parameters["?method"] = methodCall;
+ parameters["?arguments"] = arguments;
+ parameters["?priority"] = priority.ToString();
+ parameters["?message"] = logMessage;
+
+ bool returnval = false;
+
+ try
+ {
+ IDbCommand result = Query(sql, parameters);
+
+ if (result.ExecuteNonQuery() == 1)
+ returnval = true;
+
+ result.Dispose();
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine(e.ToString());
+ return false;
+ }
+
+ return returnval;
+ }
+
+ ///
+ /// Inserts a new item into the database
+ ///
+ /// The item
+ /// Success?
+ public bool insertItem(InventoryItemBase item)
+ {
+ string sql = "REPLACE INTO inventoryitems (inventoryID, assetID, type, parentFolderID, avatarID, inventoryName, inventoryDescription, inventoryNextPermissions, inventoryCurrentPermissions) VALUES ";
+ sql += "(?inventoryID, ?assetID, ?type, ?parentFolderID, ?avatarID, ?inventoryName, ?inventoryDescription, ?inventoryNextPermissions, ?inventoryCurrentPermissions)";
+
+ Dictionary parameters = new Dictionary();
+ parameters["?inventoryID"] = item.inventoryID.ToStringHyphenated();
+ parameters["?assetID"] = item.assetID.ToStringHyphenated();
+ parameters["?type"] = item.type.ToString();
+ parameters["?parentFolderID"] = item.parentFolderID.ToStringHyphenated();
+ parameters["?avatarID"] = item.avatarID.ToStringHyphenated();
+ parameters["?inventoryName"] = item.inventoryName;
+ parameters["?inventoryDescription"] = item.inventoryDescription;
+ parameters["?inventoryNextPermissions"] = item.inventoryNextPermissions.ToString();
+ parameters["?inventoryCurrentPermissions"] = item.inventoryCurrentPermissions.ToString();
+
+ bool returnval = false;
+
+ try
+ {
+ IDbCommand result = Query(sql, parameters);
+
+ if (result.ExecuteNonQuery() == 1)
+ returnval = true;
+
+ result.Dispose();
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine(e.ToString());
+ return false;
+ }
+
+ return returnval;
+ }
+
+ ///
+ /// Inserts a new folder into the database
+ ///
+ /// The folder
+ /// Success?
+ public bool insertFolder(InventoryFolderBase folder)
+ {
+ string sql = "REPLACE INTO inventoryfolders (folderID, agentID, parentFolderID, folderName) VALUES ";
+ sql += "(?folderID, ?agentID, ?parentFolderID, ?folderName)";
+
+ Dictionary parameters = new Dictionary();
+ parameters["?folderID"] = folder.folderID.ToStringHyphenated();
+ parameters["?agentID"] = folder.agentID.ToStringHyphenated();
+ parameters["?parentFolderID"] = folder.parentID.ToStringHyphenated();
+ parameters["?folderName"] = folder.name;
+
+ bool returnval = false;
+ try
+ {
+ IDbCommand result = Query(sql, parameters);
+
+ if (result.ExecuteNonQuery() == 1)
+ returnval = true;
+
+ result.Dispose();
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine(e.ToString());
+ return false;
+ }
+ return returnval;
+ }
+
+ ///
+ /// Inserts a new region into the database
+ ///
+ /// The region to insert
+ /// Success?
+ public bool insertRegion(SimProfileData regiondata)
+ {
+ string sql = "REPLACE INTO regions (regionHandle, regionName, uuid, regionRecvKey, regionSecret, regionSendKey, regionDataURI, ";
+ sql += "serverIP, serverPort, serverURI, locX, locY, locZ, eastOverrideHandle, westOverrideHandle, southOverrideHandle, northOverrideHandle, regionAssetURI, regionAssetRecvKey, ";
+ sql += "regionAssetSendKey, regionUserURI, regionUserRecvKey, regionUserSendKey, regionMapTexture, serverHttpPort, serverRemotingPort) VALUES ";
+
+ sql += "(?regionHandle, ?regionName, ?uuid, ?regionRecvKey, ?regionSecret, ?regionSendKey, ?regionDataURI, ";
+ sql += "?serverIP, ?serverPort, ?serverURI, ?locX, ?locY, ?locZ, ?eastOverrideHandle, ?westOverrideHandle, ?southOverrideHandle, ?northOverrideHandle, ?regionAssetURI, ?regionAssetRecvKey, ";
+ sql += "?regionAssetSendKey, ?regionUserURI, ?regionUserRecvKey, ?regionUserSendKey, ?regionMapTexture, ?serverHttpPort, ?serverRemotingPort);";
+
+ Dictionary parameters = new Dictionary();
+
+ parameters["?regionHandle"] = regiondata.regionHandle.ToString();
+ parameters["?regionName"] = regiondata.regionName.ToString();
+ parameters["?uuid"] = regiondata.UUID.ToStringHyphenated();
+ parameters["?regionRecvKey"] = regiondata.regionRecvKey.ToString();
+ parameters["?regionSecret"] = regiondata.regionSecret.ToString();
+ parameters["?regionSendKey"] = regiondata.regionSendKey.ToString();
+ parameters["?regionDataURI"] = regiondata.regionDataURI.ToString();
+ parameters["?serverIP"] = regiondata.serverIP.ToString();
+ parameters["?serverPort"] = regiondata.serverPort.ToString();
+ parameters["?serverURI"] = regiondata.serverURI.ToString();
+ parameters["?locX"] = regiondata.regionLocX.ToString();
+ parameters["?locY"] = regiondata.regionLocY.ToString();
+ parameters["?locZ"] = regiondata.regionLocZ.ToString();
+ parameters["?eastOverrideHandle"] = regiondata.regionEastOverrideHandle.ToString();
+ parameters["?westOverrideHandle"] = regiondata.regionWestOverrideHandle.ToString();
+ parameters["?northOverrideHandle"] = regiondata.regionNorthOverrideHandle.ToString();
+ parameters["?southOverrideHandle"] = regiondata.regionSouthOverrideHandle.ToString();
+ parameters["?regionAssetURI"] = regiondata.regionAssetURI.ToString();
+ parameters["?regionAssetRecvKey"] = regiondata.regionAssetRecvKey.ToString();
+ parameters["?regionAssetSendKey"] = regiondata.regionAssetSendKey.ToString();
+ parameters["?regionUserURI"] = regiondata.regionUserURI.ToString();
+ parameters["?regionUserRecvKey"] = regiondata.regionUserRecvKey.ToString();
+ parameters["?regionUserSendKey"] = regiondata.regionUserSendKey.ToString();
+ parameters["?regionMapTexture"] = regiondata.regionMapTextureID.ToStringHyphenated();
+ parameters["?serverHttpPort"] = regiondata.httpPort.ToString();
+ parameters["?serverRemotingPort"] = regiondata.remotingPort.ToString();
+
+ bool returnval = false;
+
+ try
+ {
+
+ IDbCommand result = Query(sql, parameters);
+
+ //Console.WriteLine(result.CommandText);
+
+ if (result.ExecuteNonQuery() == 1)
+ returnval = true;
+
+ result.Dispose();
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine(e.ToString());
+ return false;
+ }
+
+ return returnval;
+ }
+ }
+}
diff --git a/OpenSim/Framework/Data.MySQL/MySQLUserData.cs b/OpenSim/Framework/Data.MySQL/MySQLUserData.cs
index c116536..b044bdd 100644
--- a/OpenSim/Framework/Data.MySQL/MySQLUserData.cs
+++ b/OpenSim/Framework/Data.MySQL/MySQLUserData.cs
@@ -1,256 +1,256 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Data;
-using libsecondlife;
-
-namespace OpenSim.Framework.Data.MySQL
-{
- ///
- /// A database interface class to a user profile storage system
- ///
- class MySQLUserData : IUserData
- {
- ///
- /// Database manager for MySQL
- ///
- public MySQLManager database;
-
- ///
- /// Loads and initialises the MySQL storage plugin
- ///
- public void Initialise()
- {
- // Load from an INI file connection details
- // TODO: move this to XML?
- IniFile GridDataMySqlFile = new IniFile("mysql_connection.ini");
- string settingHostname = GridDataMySqlFile.ParseFileReadValue("hostname");
- string settingDatabase = GridDataMySqlFile.ParseFileReadValue("database");
- string settingUsername = GridDataMySqlFile.ParseFileReadValue("username");
- string settingPassword = GridDataMySqlFile.ParseFileReadValue("password");
- string settingPooling = GridDataMySqlFile.ParseFileReadValue("pooling");
- string settingPort = GridDataMySqlFile.ParseFileReadValue("port");
-
- database = new MySQLManager(settingHostname, settingDatabase, settingUsername, settingPassword, settingPooling, settingPort);
- }
-
- ///
- /// Searches the database for a specified user profile
- ///
- /// The account name of the user
- /// A user profile
- public UserProfileData getUserByName(string name)
- {
- return getUserByName(name.Split(' ')[0], name.Split(' ')[1]);
- }
-
- ///
- /// Searches the database for a specified user profile by name components
- ///
- /// The first part of the account name
- /// The second part of the account name
- /// A user profile
- public UserProfileData getUserByName(string user, string last)
- {
- try
- {
- lock (database)
- {
- Dictionary param = new Dictionary();
- param["?first"] = user;
- param["?second"] = last;
-
- IDbCommand result = database.Query("SELECT * FROM users WHERE username = ?first AND lastname = ?second", param);
- IDataReader reader = result.ExecuteReader();
-
- UserProfileData row = database.readUserRow(reader);
-
- reader.Close();
- result.Dispose();
-
- return row;
- }
- }
- catch (Exception e)
- {
- database.Reconnect();
- Console.WriteLine(e.ToString());
- return null;
- }
- }
-
- ///
- /// Searches the database for a specified user profile by UUID
- ///
- /// The account ID
- /// The users profile
- public UserProfileData getUserByUUID(LLUUID uuid)
- {
- try
- {
- lock (database)
- {
- Dictionary param = new Dictionary();
- param["?uuid"] = uuid.ToStringHyphenated();
-
- IDbCommand result = database.Query("SELECT * FROM users WHERE UUID = ?uuid", param);
- IDataReader reader = result.ExecuteReader();
-
- UserProfileData row = database.readUserRow(reader);
-
- reader.Close();
- result.Dispose();
-
- return row;
- }
- }
- catch (Exception e)
- {
- database.Reconnect();
- Console.WriteLine(e.ToString());
- return null;
- }
- }
-
- ///
- /// Returns a user session searching by name
- ///
- /// The account name
- /// The users session
- public UserAgentData getAgentByName(string name)
- {
- return getAgentByName(name.Split(' ')[0], name.Split(' ')[1]);
- }
-
- ///
- /// Returns a user session by account name
- ///
- /// First part of the users account name
- /// Second part of the users account name
- /// The users session
- public UserAgentData getAgentByName(string user, string last)
- {
- UserProfileData profile = getUserByName(user, last);
- return getAgentByUUID(profile.UUID);
- }
-
- ///
- /// Returns an agent session by account UUID
- ///
- /// The accounts UUID
- /// The users session
- public UserAgentData getAgentByUUID(LLUUID uuid)
- {
- try
- {
- lock (database)
- {
- Dictionary param = new Dictionary();
- param["?uuid"] = uuid.ToStringHyphenated();
-
- IDbCommand result = database.Query("SELECT * FROM agents WHERE UUID = ?uuid", param);
- IDataReader reader = result.ExecuteReader();
-
- UserAgentData row = database.readAgentRow(reader);
-
- reader.Close();
- result.Dispose();
-
- return row;
- }
- }
- catch (Exception e)
- {
- database.Reconnect();
- Console.WriteLine(e.ToString());
- return null;
- }
- }
-
- ///
- /// Creates a new users profile
- ///
- /// The user profile to create
- public void addNewUserProfile(UserProfileData user)
- {
- }
-
- ///
- /// Creates a new agent
- ///
- /// The agent to create
- public void addNewUserAgent(UserAgentData agent)
- {
- // Do nothing.
- }
-
- ///
- /// Performs a money transfer request between two accounts
- ///
- /// The senders account ID
- /// The recievers account ID
- /// The amount to transfer
- /// Success?
- public bool moneyTransferRequest(LLUUID from, LLUUID to, uint amount)
- {
- return false;
- }
-
- ///
- /// Performs an inventory transfer request between two accounts
- ///
- /// TODO: Move to inventory server
- /// The senders account ID
- /// The recievers account ID
- /// The item to transfer
- /// Success?
- public bool inventoryTransferRequest(LLUUID from, LLUUID to, LLUUID item)
- {
- return false;
- }
-
- ///
- /// Database provider name
- ///
- /// Provider name
- public string getName()
- {
- return "MySQL Userdata Interface";
- }
-
- ///
- /// Database provider version
- ///
- /// provider version
- public string getVersion()
- {
- return "0.1";
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Data;
+using libsecondlife;
+
+namespace OpenSim.Framework.Data.MySQL
+{
+ ///
+ /// A database interface class to a user profile storage system
+ ///
+ class MySQLUserData : IUserData
+ {
+ ///
+ /// Database manager for MySQL
+ ///
+ public MySQLManager database;
+
+ ///
+ /// Loads and initialises the MySQL storage plugin
+ ///
+ public void Initialise()
+ {
+ // Load from an INI file connection details
+ // TODO: move this to XML?
+ IniFile GridDataMySqlFile = new IniFile("mysql_connection.ini");
+ string settingHostname = GridDataMySqlFile.ParseFileReadValue("hostname");
+ string settingDatabase = GridDataMySqlFile.ParseFileReadValue("database");
+ string settingUsername = GridDataMySqlFile.ParseFileReadValue("username");
+ string settingPassword = GridDataMySqlFile.ParseFileReadValue("password");
+ string settingPooling = GridDataMySqlFile.ParseFileReadValue("pooling");
+ string settingPort = GridDataMySqlFile.ParseFileReadValue("port");
+
+ database = new MySQLManager(settingHostname, settingDatabase, settingUsername, settingPassword, settingPooling, settingPort);
+ }
+
+ ///
+ /// Searches the database for a specified user profile
+ ///
+ /// The account name of the user
+ /// A user profile
+ public UserProfileData getUserByName(string name)
+ {
+ return getUserByName(name.Split(' ')[0], name.Split(' ')[1]);
+ }
+
+ ///
+ /// Searches the database for a specified user profile by name components
+ ///
+ /// The first part of the account name
+ /// The second part of the account name
+ /// A user profile
+ public UserProfileData getUserByName(string user, string last)
+ {
+ try
+ {
+ lock (database)
+ {
+ Dictionary param = new Dictionary();
+ param["?first"] = user;
+ param["?second"] = last;
+
+ IDbCommand result = database.Query("SELECT * FROM users WHERE username = ?first AND lastname = ?second", param);
+ IDataReader reader = result.ExecuteReader();
+
+ UserProfileData row = database.readUserRow(reader);
+
+ reader.Close();
+ result.Dispose();
+
+ return row;
+ }
+ }
+ catch (Exception e)
+ {
+ database.Reconnect();
+ Console.WriteLine(e.ToString());
+ return null;
+ }
+ }
+
+ ///
+ /// Searches the database for a specified user profile by UUID
+ ///
+ /// The account ID
+ /// The users profile
+ public UserProfileData getUserByUUID(LLUUID uuid)
+ {
+ try
+ {
+ lock (database)
+ {
+ Dictionary param = new Dictionary();
+ param["?uuid"] = uuid.ToStringHyphenated();
+
+ IDbCommand result = database.Query("SELECT * FROM users WHERE UUID = ?uuid", param);
+ IDataReader reader = result.ExecuteReader();
+
+ UserProfileData row = database.readUserRow(reader);
+
+ reader.Close();
+ result.Dispose();
+
+ return row;
+ }
+ }
+ catch (Exception e)
+ {
+ database.Reconnect();
+ Console.WriteLine(e.ToString());
+ return null;
+ }
+ }
+
+ ///
+ /// Returns a user session searching by name
+ ///
+ /// The account name
+ /// The users session
+ public UserAgentData getAgentByName(string name)
+ {
+ return getAgentByName(name.Split(' ')[0], name.Split(' ')[1]);
+ }
+
+ ///
+ /// Returns a user session by account name
+ ///
+ /// First part of the users account name
+ /// Second part of the users account name
+ /// The users session
+ public UserAgentData getAgentByName(string user, string last)
+ {
+ UserProfileData profile = getUserByName(user, last);
+ return getAgentByUUID(profile.UUID);
+ }
+
+ ///
+ /// Returns an agent session by account UUID
+ ///
+ /// The accounts UUID
+ /// The users session
+ public UserAgentData getAgentByUUID(LLUUID uuid)
+ {
+ try
+ {
+ lock (database)
+ {
+ Dictionary param = new Dictionary();
+ param["?uuid"] = uuid.ToStringHyphenated();
+
+ IDbCommand result = database.Query("SELECT * FROM agents WHERE UUID = ?uuid", param);
+ IDataReader reader = result.ExecuteReader();
+
+ UserAgentData row = database.readAgentRow(reader);
+
+ reader.Close();
+ result.Dispose();
+
+ return row;
+ }
+ }
+ catch (Exception e)
+ {
+ database.Reconnect();
+ Console.WriteLine(e.ToString());
+ return null;
+ }
+ }
+
+ ///
+ /// Creates a new users profile
+ ///
+ /// The user profile to create
+ public void addNewUserProfile(UserProfileData user)
+ {
+ }
+
+ ///
+ /// Creates a new agent
+ ///
+ /// The agent to create
+ public void addNewUserAgent(UserAgentData agent)
+ {
+ // Do nothing.
+ }
+
+ ///
+ /// Performs a money transfer request between two accounts
+ ///
+ /// The senders account ID
+ /// The recievers account ID
+ /// The amount to transfer
+ /// Success?
+ public bool moneyTransferRequest(LLUUID from, LLUUID to, uint amount)
+ {
+ return false;
+ }
+
+ ///
+ /// Performs an inventory transfer request between two accounts
+ ///
+ /// TODO: Move to inventory server
+ /// The senders account ID
+ /// The recievers account ID
+ /// The item to transfer
+ /// Success?
+ public bool inventoryTransferRequest(LLUUID from, LLUUID to, LLUUID item)
+ {
+ return false;
+ }
+
+ ///
+ /// Database provider name
+ ///
+ /// Provider name
+ public string getName()
+ {
+ return "MySQL Userdata Interface";
+ }
+
+ ///
+ /// Database provider version
+ ///
+ /// provider version
+ public string getVersion()
+ {
+ return "0.1";
+ }
+ }
+}
diff --git a/OpenSim/Framework/Data.MySQL/Properties/AssemblyInfo.cs b/OpenSim/Framework/Data.MySQL/Properties/AssemblyInfo.cs
index 52d6a54..46c0ae0 100644
--- a/OpenSim/Framework/Data.MySQL/Properties/AssemblyInfo.cs
+++ b/OpenSim/Framework/Data.MySQL/Properties/AssemblyInfo.cs
@@ -1,33 +1,33 @@
-using System.Reflection;
-using System.Runtime.InteropServices;
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("OpenSim.Framework.Data.MySQL")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("OpenSim.Framework.Data.MySQL")]
-[assembly: AssemblyCopyright("Copyright © 2007")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("e49826b2-dcef-41be-a5bd-596733fa3304")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Revision and Build Numbers
-// by using the '*' as shown below:
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+using System.Reflection;
+using System.Runtime.InteropServices;
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("OpenSim.Framework.Data.MySQL")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("OpenSim.Framework.Data.MySQL")]
+[assembly: AssemblyCopyright("Copyright © 2007")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("e49826b2-dcef-41be-a5bd-596733fa3304")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers
+// by using the '*' as shown below:
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/OpenSim/Framework/Data.SQLite/Properties/AssemblyInfo.cs b/OpenSim/Framework/Data.SQLite/Properties/AssemblyInfo.cs
index 9de5edb..8136bc1 100644
--- a/OpenSim/Framework/Data.SQLite/Properties/AssemblyInfo.cs
+++ b/OpenSim/Framework/Data.SQLite/Properties/AssemblyInfo.cs
@@ -1,33 +1,33 @@
-using System.Reflection;
-using System.Runtime.InteropServices;
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("OpenSim.Framework.Data.SQLite")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("OpenSim.Framework.Data.SQLite")]
-[assembly: AssemblyCopyright("Copyright © 2007")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("6113d5ce-4547-49f4-9236-0dcc503457b1")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Revision and Build Numbers
-// by using the '*' as shown below:
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+using System.Reflection;
+using System.Runtime.InteropServices;
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("OpenSim.Framework.Data.SQLite")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("OpenSim.Framework.Data.SQLite")]
+[assembly: AssemblyCopyright("Copyright © 2007")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("6113d5ce-4547-49f4-9236-0dcc503457b1")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers
+// by using the '*' as shown below:
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/OpenSim/Framework/Data.SQLite/SQLiteGridData.cs b/OpenSim/Framework/Data.SQLite/SQLiteGridData.cs
index 511c5f0..c1d74ae 100644
--- a/OpenSim/Framework/Data.SQLite/SQLiteGridData.cs
+++ b/OpenSim/Framework/Data.SQLite/SQLiteGridData.cs
@@ -1,197 +1,197 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Data;
-using System.Security.Cryptography;
-using System.Text;
-using libsecondlife;
-
-namespace OpenSim.Framework.Data.SQLite
-{
- ///
- /// A Grid Interface to the SQLite database
- ///
- public class SQLiteGridData : IGridData
- {
- ///
- /// A database manager
- ///
- private SQLiteManager database;
-
- ///
- /// Initialises the Grid Interface
- ///
- public void Initialise()
- {
- database = new SQLiteManager("localhost", "db", "user", "password", "false");
- }
-
- ///
- /// Shuts down the grid interface
- ///
- public void Close()
- {
- database.Close();
- }
-
- ///
- /// Returns the name of this grid interface
- ///
- /// A string containing the grid interface
- public string getName()
- {
- return "SQLite OpenGridData";
- }
-
- ///
- /// Returns the version of this grid interface
- ///
- /// A string containing the version
- public string getVersion()
- {
- return "0.1";
- }
-
- ///
- /// Returns a list of regions within the specified ranges
- ///
- /// minimum X coordinate
- /// minimum Y coordinate
- /// maximum X coordinate
- /// maximum Y coordinate
- /// An array of region profiles
- public SimProfileData[] GetProfilesInRange(uint a, uint b, uint c, uint d)
- {
- return null;
- }
-
- ///
- /// Returns a sim profile from it's location
- ///
- /// Region location handle
- /// Sim profile
- public SimProfileData GetProfileByHandle(ulong handle)
- {
- Dictionary param = new Dictionary();
- param["handle"] = handle.ToString();
-
- IDbCommand result = database.Query("SELECT * FROM regions WHERE handle = @handle", param);
- IDataReader reader = result.ExecuteReader();
-
- SimProfileData row = database.getRow(reader);
- reader.Close();
- result.Dispose();
-
- return row;
- }
-
- ///
- /// Returns a sim profile from it's UUID
- ///
- /// The region UUID
- /// The sim profile
- public SimProfileData GetProfileByLLUUID(LLUUID uuid)
- {
- Dictionary param = new Dictionary();
- param["uuid"] = uuid.ToStringHyphenated();
-
- IDbCommand result = database.Query("SELECT * FROM regions WHERE uuid = @uuid", param);
- IDataReader reader = result.ExecuteReader();
-
- SimProfileData row = database.getRow(reader);
- reader.Close();
- result.Dispose();
-
- return row;
- }
-
- ///
- /// Adds a new specified region to the database
- ///
- /// The profile to add
- /// A dataresponse enum indicating success
- public DataResponse AddProfile(SimProfileData profile)
- {
- if (database.insertRow(profile))
- {
- return DataResponse.RESPONSE_OK;
- }
- else
- {
- return DataResponse.RESPONSE_ERROR;
- }
- }
-
- ///
- /// DEPRECIATED. Attempts to authenticate a region by comparing a shared secret.
- ///
- /// The UUID of the challenger
- /// The attempted regionHandle of the challenger
- /// The secret
- /// Whether the secret and regionhandle match the database entry for UUID
- public bool AuthenticateSim(LLUUID uuid, ulong handle, string authkey)
- {
- bool throwHissyFit = false; // Should be true by 1.0
-
- if (throwHissyFit)
- throw new Exception("CRYPTOWEAK AUTHENTICATE: Refusing to authenticate due to replay potential.");
-
- SimProfileData data = GetProfileByLLUUID(uuid);
-
- return (handle == data.regionHandle && authkey == data.regionSecret);
- }
-
- ///
- /// NOT YET FUNCTIONAL. Provides a cryptographic authentication of a region
- ///
- /// This requires a security audit.
- ///
- ///
- ///
- ///
- ///
- public bool AuthenticateSim(LLUUID uuid, ulong handle, string authhash, string challenge)
- {
- SHA512Managed HashProvider = new SHA512Managed();
- ASCIIEncoding TextProvider = new ASCIIEncoding();
-
- byte[] stream = TextProvider.GetBytes(uuid.ToStringHyphenated() + ":" + handle.ToString() + ":" + challenge);
- byte[] hash = HashProvider.ComputeHash(stream);
-
- return false;
- }
-
- public ReservationData GetReservationAtPoint(uint x, uint y)
- {
- return null;
- }
- }
-
-
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Data;
+using System.Security.Cryptography;
+using System.Text;
+using libsecondlife;
+
+namespace OpenSim.Framework.Data.SQLite
+{
+ ///
+ /// A Grid Interface to the SQLite database
+ ///
+ public class SQLiteGridData : IGridData
+ {
+ ///
+ /// A database manager
+ ///
+ private SQLiteManager database;
+
+ ///
+ /// Initialises the Grid Interface
+ ///
+ public void Initialise()
+ {
+ database = new SQLiteManager("localhost", "db", "user", "password", "false");
+ }
+
+ ///
+ /// Shuts down the grid interface
+ ///
+ public void Close()
+ {
+ database.Close();
+ }
+
+ ///
+ /// Returns the name of this grid interface
+ ///
+ /// A string containing the grid interface
+ public string getName()
+ {
+ return "SQLite OpenGridData";
+ }
+
+ ///
+ /// Returns the version of this grid interface
+ ///
+ /// A string containing the version
+ public string getVersion()
+ {
+ return "0.1";
+ }
+
+ ///
+ /// Returns a list of regions within the specified ranges
+ ///
+ /// minimum X coordinate
+ /// minimum Y coordinate
+ /// maximum X coordinate
+ /// maximum Y coordinate
+ /// An array of region profiles
+ public SimProfileData[] GetProfilesInRange(uint a, uint b, uint c, uint d)
+ {
+ return null;
+ }
+
+ ///
+ /// Returns a sim profile from it's location
+ ///
+ /// Region location handle
+ /// Sim profile
+ public SimProfileData GetProfileByHandle(ulong handle)
+ {
+ Dictionary param = new Dictionary();
+ param["handle"] = handle.ToString();
+
+ IDbCommand result = database.Query("SELECT * FROM regions WHERE handle = @handle", param);
+ IDataReader reader = result.ExecuteReader();
+
+ SimProfileData row = database.getRow(reader);
+ reader.Close();
+ result.Dispose();
+
+ return row;
+ }
+
+ ///
+ /// Returns a sim profile from it's UUID
+ ///
+ /// The region UUID
+ /// The sim profile
+ public SimProfileData GetProfileByLLUUID(LLUUID uuid)
+ {
+ Dictionary param = new Dictionary();
+ param["uuid"] = uuid.ToStringHyphenated();
+
+ IDbCommand result = database.Query("SELECT * FROM regions WHERE uuid = @uuid", param);
+ IDataReader reader = result.ExecuteReader();
+
+ SimProfileData row = database.getRow(reader);
+ reader.Close();
+ result.Dispose();
+
+ return row;
+ }
+
+ ///
+ /// Adds a new specified region to the database
+ ///
+ /// The profile to add
+ /// A dataresponse enum indicating success
+ public DataResponse AddProfile(SimProfileData profile)
+ {
+ if (database.insertRow(profile))
+ {
+ return DataResponse.RESPONSE_OK;
+ }
+ else
+ {
+ return DataResponse.RESPONSE_ERROR;
+ }
+ }
+
+ ///
+ /// DEPRECIATED. Attempts to authenticate a region by comparing a shared secret.
+ ///
+ /// The UUID of the challenger
+ /// The attempted regionHandle of the challenger
+ /// The secret
+ /// Whether the secret and regionhandle match the database entry for UUID
+ public bool AuthenticateSim(LLUUID uuid, ulong handle, string authkey)
+ {
+ bool throwHissyFit = false; // Should be true by 1.0
+
+ if (throwHissyFit)
+ throw new Exception("CRYPTOWEAK AUTHENTICATE: Refusing to authenticate due to replay potential.");
+
+ SimProfileData data = GetProfileByLLUUID(uuid);
+
+ return (handle == data.regionHandle && authkey == data.regionSecret);
+ }
+
+ ///
+ /// NOT YET FUNCTIONAL. Provides a cryptographic authentication of a region
+ ///
+ /// This requires a security audit.
+ ///
+ ///
+ ///
+ ///
+ ///
+ public bool AuthenticateSim(LLUUID uuid, ulong handle, string authhash, string challenge)
+ {
+ SHA512Managed HashProvider = new SHA512Managed();
+ ASCIIEncoding TextProvider = new ASCIIEncoding();
+
+ byte[] stream = TextProvider.GetBytes(uuid.ToStringHyphenated() + ":" + handle.ToString() + ":" + challenge);
+ byte[] hash = HashProvider.ComputeHash(stream);
+
+ return false;
+ }
+
+ public ReservationData GetReservationAtPoint(uint x, uint y)
+ {
+ return null;
+ }
+ }
+
+
+}
diff --git a/OpenSim/Framework/Data.SQLite/SQLiteManager.cs b/OpenSim/Framework/Data.SQLite/SQLiteManager.cs
index c9931ab..a69611a 100644
--- a/OpenSim/Framework/Data.SQLite/SQLiteManager.cs
+++ b/OpenSim/Framework/Data.SQLite/SQLiteManager.cs
@@ -1,206 +1,206 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Data;
-using System.Data.SQLite;
-using libsecondlife;
-
-namespace OpenSim.Framework.Data.SQLite
-{
- class SQLiteManager
- {
- IDbConnection dbcon;
-
- ///
- /// Initialises and creates a new SQLite connection and maintains it.
- ///
- /// The SQLite server being connected to
- /// The name of the SQLite database being used
- /// The username logging into the database
- /// The password for the user logging in
- /// Whether to use connection pooling or not, can be one of the following: 'yes', 'true', 'no' or 'false', if unsure use 'false'.
- public SQLiteManager(string hostname, string database, string username, string password, string cpooling)
- {
- try
- {
- string connectionString = "URI=file:GridServerSqlite.db;";
- dbcon = new SQLiteConnection(connectionString);
-
- dbcon.Open();
- }
- catch (Exception e)
- {
- throw new Exception("Error initialising SQLite Database: " + e.ToString());
- }
- }
-
- ///
- /// Shuts down the database connection
- ///
- public void Close()
- {
- dbcon.Close();
- dbcon = null;
- }
-
- ///
- /// Runs a query with protection against SQL Injection by using parameterised input.
- ///
- /// The SQL string - replace any variables such as WHERE x = "y" with WHERE x = @y
- /// The parameters - index so that @y is indexed as 'y'
- /// A SQLite DB Command
- public IDbCommand Query(string sql, Dictionary parameters)
- {
- SQLiteCommand dbcommand = (SQLiteCommand)dbcon.CreateCommand();
- dbcommand.CommandText = sql;
- foreach (KeyValuePair param in parameters)
- {
- SQLiteParameter paramx = new SQLiteParameter(param.Key,param.Value);
- dbcommand.Parameters.Add(paramx);
- }
-
- return (IDbCommand)dbcommand;
- }
-
- ///
- /// Reads a region row from a database reader
- ///
- /// An active database reader
- /// A region profile
- public SimProfileData getRow(IDataReader reader)
- {
- SimProfileData retval = new SimProfileData();
-
- if (reader.Read())
- {
- // Region Main
- retval.regionHandle = (ulong)reader["regionHandle"];
- retval.regionName = (string)reader["regionName"];
- retval.UUID = new LLUUID((string)reader["uuid"]);
-
- // Secrets
- retval.regionRecvKey = (string)reader["regionRecvKey"];
- retval.regionSecret = (string)reader["regionSecret"];
- retval.regionSendKey = (string)reader["regionSendKey"];
-
- // Region Server
- retval.regionDataURI = (string)reader["regionDataURI"];
- retval.regionOnline = false; // Needs to be pinged before this can be set.
- retval.serverIP = (string)reader["serverIP"];
- retval.serverPort = (uint)reader["serverPort"];
- retval.serverURI = (string)reader["serverURI"];
-
- // Location
- retval.regionLocX = (uint)((int)reader["locX"]);
- retval.regionLocY = (uint)((int)reader["locY"]);
- retval.regionLocZ = (uint)((int)reader["locZ"]);
-
- // Neighbours - 0 = No Override
- retval.regionEastOverrideHandle = (ulong)reader["eastOverrideHandle"];
- retval.regionWestOverrideHandle = (ulong)reader["westOverrideHandle"];
- retval.regionSouthOverrideHandle = (ulong)reader["southOverrideHandle"];
- retval.regionNorthOverrideHandle = (ulong)reader["northOverrideHandle"];
-
- // Assets
- retval.regionAssetURI = (string)reader["regionAssetURI"];
- retval.regionAssetRecvKey = (string)reader["regionAssetRecvKey"];
- retval.regionAssetSendKey = (string)reader["regionAssetSendKey"];
-
- // Userserver
- retval.regionUserURI = (string)reader["regionUserURI"];
- retval.regionUserRecvKey = (string)reader["regionUserRecvKey"];
- retval.regionUserSendKey = (string)reader["regionUserSendKey"];
- }
- else
- {
- throw new Exception("No rows to return");
- }
- return retval;
- }
-
- ///
- /// Inserts a new region into the database
- ///
- /// The region to insert
- /// Success?
- public bool insertRow(SimProfileData profile)
- {
- string sql = "REPLACE INTO regions VALUES (regionHandle, regionName, uuid, regionRecvKey, regionSecret, regionSendKey, regionDataURI, ";
- sql += "serverIP, serverPort, serverURI, locX, locY, locZ, eastOverrideHandle, westOverrideHandle, southOverrideHandle, northOverrideHandle, regionAssetURI, regionAssetRecvKey, ";
- sql += "regionAssetSendKey, regionUserURI, regionUserRecvKey, regionUserSendKey) VALUES ";
-
- sql += "(@regionHandle, @regionName, @uuid, @regionRecvKey, @regionSecret, @regionSendKey, @regionDataURI, ";
- sql += "@serverIP, @serverPort, @serverURI, @locX, @locY, @locZ, @eastOverrideHandle, @westOverrideHandle, @southOverrideHandle, @northOverrideHandle, @regionAssetURI, @regionAssetRecvKey, ";
- sql += "@regionAssetSendKey, @regionUserURI, @regionUserRecvKey, @regionUserSendKey);";
-
- Dictionary parameters = new Dictionary();
-
- parameters["regionHandle"] = profile.regionHandle.ToString();
- parameters["regionName"] = profile.regionName;
- parameters["uuid"] = profile.UUID.ToString();
- parameters["regionRecvKey"] = profile.regionRecvKey;
- parameters["regionSendKey"] = profile.regionSendKey;
- parameters["regionDataURI"] = profile.regionDataURI;
- parameters["serverIP"] = profile.serverIP;
- parameters["serverPort"] = profile.serverPort.ToString();
- parameters["serverURI"] = profile.serverURI;
- parameters["locX"] = profile.regionLocX.ToString();
- parameters["locY"] = profile.regionLocY.ToString();
- parameters["locZ"] = profile.regionLocZ.ToString();
- parameters["eastOverrideHandle"] = profile.regionEastOverrideHandle.ToString();
- parameters["westOverrideHandle"] = profile.regionWestOverrideHandle.ToString();
- parameters["northOverrideHandle"] = profile.regionNorthOverrideHandle.ToString();
- parameters["southOverrideHandle"] = profile.regionSouthOverrideHandle.ToString();
- parameters["regionAssetURI"] = profile.regionAssetURI;
- parameters["regionAssetRecvKey"] = profile.regionAssetRecvKey;
- parameters["regionAssetSendKey"] = profile.regionAssetSendKey;
- parameters["regionUserURI"] = profile.regionUserURI;
- parameters["regionUserRecvKey"] = profile.regionUserRecvKey;
- parameters["regionUserSendKey"] = profile.regionUserSendKey;
-
- bool returnval = false;
-
- try
- {
- IDbCommand result = Query(sql, parameters);
-
- if (result.ExecuteNonQuery() == 1)
- returnval = true;
-
- result.Dispose();
- }
- catch (Exception)
- {
- return false;
- }
-
- return returnval;
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Data;
+using System.Data.SQLite;
+using libsecondlife;
+
+namespace OpenSim.Framework.Data.SQLite
+{
+ class SQLiteManager
+ {
+ IDbConnection dbcon;
+
+ ///
+ /// Initialises and creates a new SQLite connection and maintains it.
+ ///
+ /// The SQLite server being connected to
+ /// The name of the SQLite database being used
+ /// The username logging into the database
+ /// The password for the user logging in
+ /// Whether to use connection pooling or not, can be one of the following: 'yes', 'true', 'no' or 'false', if unsure use 'false'.
+ public SQLiteManager(string hostname, string database, string username, string password, string cpooling)
+ {
+ try
+ {
+ string connectionString = "URI=file:GridServerSqlite.db;";
+ dbcon = new SQLiteConnection(connectionString);
+
+ dbcon.Open();
+ }
+ catch (Exception e)
+ {
+ throw new Exception("Error initialising SQLite Database: " + e.ToString());
+ }
+ }
+
+ ///
+ /// Shuts down the database connection
+ ///
+ public void Close()
+ {
+ dbcon.Close();
+ dbcon = null;
+ }
+
+ ///
+ /// Runs a query with protection against SQL Injection by using parameterised input.
+ ///
+ /// The SQL string - replace any variables such as WHERE x = "y" with WHERE x = @y
+ /// The parameters - index so that @y is indexed as 'y'
+ /// A SQLite DB Command
+ public IDbCommand Query(string sql, Dictionary parameters)
+ {
+ SQLiteCommand dbcommand = (SQLiteCommand)dbcon.CreateCommand();
+ dbcommand.CommandText = sql;
+ foreach (KeyValuePair param in parameters)
+ {
+ SQLiteParameter paramx = new SQLiteParameter(param.Key,param.Value);
+ dbcommand.Parameters.Add(paramx);
+ }
+
+ return (IDbCommand)dbcommand;
+ }
+
+ ///
+ /// Reads a region row from a database reader
+ ///
+ /// An active database reader
+ /// A region profile
+ public SimProfileData getRow(IDataReader reader)
+ {
+ SimProfileData retval = new SimProfileData();
+
+ if (reader.Read())
+ {
+ // Region Main
+ retval.regionHandle = (ulong)reader["regionHandle"];
+ retval.regionName = (string)reader["regionName"];
+ retval.UUID = new LLUUID((string)reader["uuid"]);
+
+ // Secrets
+ retval.regionRecvKey = (string)reader["regionRecvKey"];
+ retval.regionSecret = (string)reader["regionSecret"];
+ retval.regionSendKey = (string)reader["regionSendKey"];
+
+ // Region Server
+ retval.regionDataURI = (string)reader["regionDataURI"];
+ retval.regionOnline = false; // Needs to be pinged before this can be set.
+ retval.serverIP = (string)reader["serverIP"];
+ retval.serverPort = (uint)reader["serverPort"];
+ retval.serverURI = (string)reader["serverURI"];
+
+ // Location
+ retval.regionLocX = (uint)((int)reader["locX"]);
+ retval.regionLocY = (uint)((int)reader["locY"]);
+ retval.regionLocZ = (uint)((int)reader["locZ"]);
+
+ // Neighbours - 0 = No Override
+ retval.regionEastOverrideHandle = (ulong)reader["eastOverrideHandle"];
+ retval.regionWestOverrideHandle = (ulong)reader["westOverrideHandle"];
+ retval.regionSouthOverrideHandle = (ulong)reader["southOverrideHandle"];
+ retval.regionNorthOverrideHandle = (ulong)reader["northOverrideHandle"];
+
+ // Assets
+ retval.regionAssetURI = (string)reader["regionAssetURI"];
+ retval.regionAssetRecvKey = (string)reader["regionAssetRecvKey"];
+ retval.regionAssetSendKey = (string)reader["regionAssetSendKey"];
+
+ // Userserver
+ retval.regionUserURI = (string)reader["regionUserURI"];
+ retval.regionUserRecvKey = (string)reader["regionUserRecvKey"];
+ retval.regionUserSendKey = (string)reader["regionUserSendKey"];
+ }
+ else
+ {
+ throw new Exception("No rows to return");
+ }
+ return retval;
+ }
+
+ ///
+ /// Inserts a new region into the database
+ ///
+ /// The region to insert
+ /// Success?
+ public bool insertRow(SimProfileData profile)
+ {
+ string sql = "REPLACE INTO regions VALUES (regionHandle, regionName, uuid, regionRecvKey, regionSecret, regionSendKey, regionDataURI, ";
+ sql += "serverIP, serverPort, serverURI, locX, locY, locZ, eastOverrideHandle, westOverrideHandle, southOverrideHandle, northOverrideHandle, regionAssetURI, regionAssetRecvKey, ";
+ sql += "regionAssetSendKey, regionUserURI, regionUserRecvKey, regionUserSendKey) VALUES ";
+
+ sql += "(@regionHandle, @regionName, @uuid, @regionRecvKey, @regionSecret, @regionSendKey, @regionDataURI, ";
+ sql += "@serverIP, @serverPort, @serverURI, @locX, @locY, @locZ, @eastOverrideHandle, @westOverrideHandle, @southOverrideHandle, @northOverrideHandle, @regionAssetURI, @regionAssetRecvKey, ";
+ sql += "@regionAssetSendKey, @regionUserURI, @regionUserRecvKey, @regionUserSendKey);";
+
+ Dictionary parameters = new Dictionary();
+
+ parameters["regionHandle"] = profile.regionHandle.ToString();
+ parameters["regionName"] = profile.regionName;
+ parameters["uuid"] = profile.UUID.ToString();
+ parameters["regionRecvKey"] = profile.regionRecvKey;
+ parameters["regionSendKey"] = profile.regionSendKey;
+ parameters["regionDataURI"] = profile.regionDataURI;
+ parameters["serverIP"] = profile.serverIP;
+ parameters["serverPort"] = profile.serverPort.ToString();
+ parameters["serverURI"] = profile.serverURI;
+ parameters["locX"] = profile.regionLocX.ToString();
+ parameters["locY"] = profile.regionLocY.ToString();
+ parameters["locZ"] = profile.regionLocZ.ToString();
+ parameters["eastOverrideHandle"] = profile.regionEastOverrideHandle.ToString();
+ parameters["westOverrideHandle"] = profile.regionWestOverrideHandle.ToString();
+ parameters["northOverrideHandle"] = profile.regionNorthOverrideHandle.ToString();
+ parameters["southOverrideHandle"] = profile.regionSouthOverrideHandle.ToString();
+ parameters["regionAssetURI"] = profile.regionAssetURI;
+ parameters["regionAssetRecvKey"] = profile.regionAssetRecvKey;
+ parameters["regionAssetSendKey"] = profile.regionAssetSendKey;
+ parameters["regionUserURI"] = profile.regionUserURI;
+ parameters["regionUserRecvKey"] = profile.regionUserRecvKey;
+ parameters["regionUserSendKey"] = profile.regionUserSendKey;
+
+ bool returnval = false;
+
+ try
+ {
+ IDbCommand result = Query(sql, parameters);
+
+ if (result.ExecuteNonQuery() == 1)
+ returnval = true;
+
+ result.Dispose();
+ }
+ catch (Exception)
+ {
+ return false;
+ }
+
+ return returnval;
+ }
+ }
+}
diff --git a/OpenSim/Framework/Data/GridData.cs b/OpenSim/Framework/Data/GridData.cs
index 5a17d20..c96353b 100644
--- a/OpenSim/Framework/Data/GridData.cs
+++ b/OpenSim/Framework/Data/GridData.cs
@@ -1,111 +1,111 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Data
-{
- public enum DataResponse
- {
- RESPONSE_OK,
- RESPONSE_AUTHREQUIRED,
- RESPONSE_INVALIDCREDENTIALS,
- RESPONSE_ERROR
- }
-
- ///
- /// A standard grid interface
- ///
- public interface IGridData
- {
- ///
- /// Returns a sim profile from a regionHandle
- ///
- /// A 64bit Region Handle
- /// A simprofile
- SimProfileData GetProfileByHandle(ulong regionHandle);
-
- ///
- /// Returns a sim profile from a UUID
- ///
- /// A 128bit UUID
- /// A sim profile
- SimProfileData GetProfileByLLUUID(LLUUID UUID);
-
- ///
- /// Returns all profiles within the specified range
- ///
- /// Minimum sim coordinate (X)
- /// Minimum sim coordinate (Y)
- /// Maximum sim coordinate (X)
- /// Maximum sim coordinate (Y)
- /// An array containing all the sim profiles in the specified range
- SimProfileData[] GetProfilesInRange(uint Xmin, uint Ymin, uint Xmax, uint Ymax);
-
- ///
- /// Authenticates a sim by use of it's recv key.
- /// WARNING: Insecure
- ///
- /// The UUID sent by the sim
- /// The regionhandle sent by the sim
- /// The recieving key sent by the sim
- /// Whether the sim has been authenticated
- bool AuthenticateSim(LLUUID UUID, ulong regionHandle, string simrecvkey);
-
- ///
- /// 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();
-
- ///
- /// Adds a new profile to the database
- ///
- /// The profile to add
- /// RESPONSE_OK if successful, error if not.
- DataResponse AddProfile(SimProfileData profile);
-
- ReservationData GetReservationAtPoint(uint x, uint y);
-
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Data
+{
+ public enum DataResponse
+ {
+ RESPONSE_OK,
+ RESPONSE_AUTHREQUIRED,
+ RESPONSE_INVALIDCREDENTIALS,
+ RESPONSE_ERROR
+ }
+
+ ///
+ /// A standard grid interface
+ ///
+ public interface IGridData
+ {
+ ///
+ /// Returns a sim profile from a regionHandle
+ ///
+ /// A 64bit Region Handle
+ /// A simprofile
+ SimProfileData GetProfileByHandle(ulong regionHandle);
+
+ ///
+ /// Returns a sim profile from a UUID
+ ///
+ /// A 128bit UUID
+ /// A sim profile
+ SimProfileData GetProfileByLLUUID(LLUUID UUID);
+
+ ///
+ /// Returns all profiles within the specified range
+ ///
+ /// Minimum sim coordinate (X)
+ /// Minimum sim coordinate (Y)
+ /// Maximum sim coordinate (X)
+ /// Maximum sim coordinate (Y)
+ /// An array containing all the sim profiles in the specified range
+ SimProfileData[] GetProfilesInRange(uint Xmin, uint Ymin, uint Xmax, uint Ymax);
+
+ ///
+ /// Authenticates a sim by use of it's recv key.
+ /// WARNING: Insecure
+ ///
+ /// The UUID sent by the sim
+ /// The regionhandle sent by the sim
+ /// The recieving key sent by the sim
+ /// Whether the sim has been authenticated
+ bool AuthenticateSim(LLUUID UUID, ulong regionHandle, string simrecvkey);
+
+ ///
+ /// 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();
+
+ ///
+ /// Adds a new profile to the database
+ ///
+ /// The profile to add
+ /// RESPONSE_OK if successful, error if not.
+ DataResponse AddProfile(SimProfileData profile);
+
+ ReservationData GetReservationAtPoint(uint x, uint y);
+
+ }
+}
diff --git a/OpenSim/Framework/Data/ILogData.cs b/OpenSim/Framework/Data/ILogData.cs
index 059fef5..a827c0c 100644
--- a/OpenSim/Framework/Data/ILogData.cs
+++ b/OpenSim/Framework/Data/ILogData.cs
@@ -1,90 +1,90 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Data
-{
- ///
- /// The severity of an individual log message
- ///
- public enum LogSeverity : int
- {
- ///
- /// Critical: systems failure
- ///
- CRITICAL = 1,
- ///
- /// Major: warning prior to systems failure
- ///
- MAJOR = 2,
- ///
- /// Medium: an individual non-critical task failed
- ///
- MEDIUM = 3,
- ///
- /// Low: Informational warning
- ///
- LOW = 4,
- ///
- /// Info: Information
- ///
- INFO = 5,
- ///
- /// Verbose: Debug Information
- ///
- VERBOSE = 6
- }
-
- ///
- /// An interface to a LogData storage system
- ///
- public interface ILogData
- {
- void saveLog(string serverDaemon, string target, string methodCall, string arguments, int priority,string logMessage);
- ///
- /// 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();
- }
-
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Data
+{
+ ///
+ /// The severity of an individual log message
+ ///
+ public enum LogSeverity : int
+ {
+ ///
+ /// Critical: systems failure
+ ///
+ CRITICAL = 1,
+ ///
+ /// Major: warning prior to systems failure
+ ///
+ MAJOR = 2,
+ ///
+ /// Medium: an individual non-critical task failed
+ ///
+ MEDIUM = 3,
+ ///
+ /// Low: Informational warning
+ ///
+ LOW = 4,
+ ///
+ /// Info: Information
+ ///
+ INFO = 5,
+ ///
+ /// Verbose: Debug Information
+ ///
+ VERBOSE = 6
+ }
+
+ ///
+ /// An interface to a LogData storage system
+ ///
+ public interface ILogData
+ {
+ void saveLog(string serverDaemon, string target, string methodCall, string arguments, int priority,string logMessage);
+ ///
+ /// 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();
+ }
+
+}
diff --git a/OpenSim/Framework/Data/IniConfig.cs b/OpenSim/Framework/Data/IniConfig.cs
index 2b52fd1..5dcb2fd 100644
--- a/OpenSim/Framework/Data/IniConfig.cs
+++ b/OpenSim/Framework/Data/IniConfig.cs
@@ -1,96 +1,96 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.IO;
-using System.Text.RegularExpressions;
-/*
- Taken from public code listing at by Alex Pinsker
- http://alexpinsker.blogspot.com/2005/12/reading-ini-file-from-c_113432097333021549.html
- */
-
-namespace OpenSim.Framework.Data
-{
- ///
- /// Parse settings from ini-like files
- ///
- public class IniFile
- {
- static IniFile()
- {
- _iniKeyValuePatternRegex = new Regex(
- @"((\s)*(?([^\=^\s^\n]+))[\s^\n]*
- # key part (surrounding whitespace stripped)
- \=
- (\s)*(?([^\n^\s]+(\n){0,1})))
- # value part (surrounding whitespace stripped)
- ",
- RegexOptions.IgnorePatternWhitespace |
- RegexOptions.Compiled |
- RegexOptions.CultureInvariant);
- }
- static private Regex _iniKeyValuePatternRegex;
-
- public IniFile(string iniFileName)
- {
- _iniFileName = iniFileName;
- }
-
- public string ParseFileReadValue(string key)
- {
- using (StreamReader reader =
- new StreamReader(_iniFileName))
- {
- do
- {
- string line = reader.ReadLine();
- Match match =
- _iniKeyValuePatternRegex.Match(line);
- if (match.Success)
- {
- string currentKey =
- match.Groups["Key"].Value as string;
- if (currentKey != null &&
- currentKey.Trim().CompareTo(key) == 0)
- {
- string value =
- match.Groups["Value"].Value as string;
- return value;
- }
- }
-
- }
- while (reader.Peek() != -1);
- }
- return null;
- }
-
- public string IniFileName
- {
- get { return _iniFileName; }
- } private string _iniFileName;
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.IO;
+using System.Text.RegularExpressions;
+/*
+ Taken from public code listing at by Alex Pinsker
+ http://alexpinsker.blogspot.com/2005/12/reading-ini-file-from-c_113432097333021549.html
+ */
+
+namespace OpenSim.Framework.Data
+{
+ ///
+ /// Parse settings from ini-like files
+ ///
+ public class IniFile
+ {
+ static IniFile()
+ {
+ _iniKeyValuePatternRegex = new Regex(
+ @"((\s)*(?([^\=^\s^\n]+))[\s^\n]*
+ # key part (surrounding whitespace stripped)
+ \=
+ (\s)*(?([^\n^\s]+(\n){0,1})))
+ # value part (surrounding whitespace stripped)
+ ",
+ RegexOptions.IgnorePatternWhitespace |
+ RegexOptions.Compiled |
+ RegexOptions.CultureInvariant);
+ }
+ static private Regex _iniKeyValuePatternRegex;
+
+ public IniFile(string iniFileName)
+ {
+ _iniFileName = iniFileName;
+ }
+
+ public string ParseFileReadValue(string key)
+ {
+ using (StreamReader reader =
+ new StreamReader(_iniFileName))
+ {
+ do
+ {
+ string line = reader.ReadLine();
+ Match match =
+ _iniKeyValuePatternRegex.Match(line);
+ if (match.Success)
+ {
+ string currentKey =
+ match.Groups["Key"].Value as string;
+ if (currentKey != null &&
+ currentKey.Trim().CompareTo(key) == 0)
+ {
+ string value =
+ match.Groups["Value"].Value as string;
+ return value;
+ }
+ }
+
+ }
+ while (reader.Peek() != -1);
+ }
+ return null;
+ }
+
+ public string IniFileName
+ {
+ get { return _iniFileName; }
+ } private string _iniFileName;
+ }
+}
diff --git a/OpenSim/Framework/Data/InventoryData.cs b/OpenSim/Framework/Data/InventoryData.cs
index 7253cc7..f6aeb58 100644
--- a/OpenSim/Framework/Data/InventoryData.cs
+++ b/OpenSim/Framework/Data/InventoryData.cs
@@ -1,197 +1,197 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Collections.Generic;
-using libsecondlife;
-
-namespace OpenSim.Framework.Data
-{
- ///
- /// 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 type;
- ///
- /// 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;
- }
-
- ///
- /// 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 ushort 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 folders in the users inventory root.
- ///
- /// The UUID of the user who is having inventory being returned
- /// A list of folders
- List getUserRootFolders(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);
-
- ///
- /// 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);
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Collections.Generic;
+using libsecondlife;
+
+namespace OpenSim.Framework.Data
+{
+ ///
+ /// 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 type;
+ ///
+ /// 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;
+ }
+
+ ///
+ /// 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 ushort 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 folders in the users inventory root.
+ ///
+ /// The UUID of the user who is having inventory being returned
+ /// A list of folders
+ List getUserRootFolders(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);
+
+ ///
+ /// 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);
+ }
+}
diff --git a/OpenSim/Framework/Data/Properties/AssemblyInfo.cs b/OpenSim/Framework/Data/Properties/AssemblyInfo.cs
index f9260a1..556d589 100644
--- a/OpenSim/Framework/Data/Properties/AssemblyInfo.cs
+++ b/OpenSim/Framework/Data/Properties/AssemblyInfo.cs
@@ -1,33 +1,33 @@
-using System.Reflection;
-using System.Runtime.InteropServices;
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("OpenSim.Framework.Data")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("OpenSim.Framework.Data")]
-[assembly: AssemblyCopyright("Copyright © 2007")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("3a711c34-b0c0-4264-b0fe-f366eabf9d7b")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Revision and Build Numbers
-// by using the '*' as shown below:
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+using System.Reflection;
+using System.Runtime.InteropServices;
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("OpenSim.Framework.Data")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("OpenSim.Framework.Data")]
+[assembly: AssemblyCopyright("Copyright © 2007")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("3a711c34-b0c0-4264-b0fe-f366eabf9d7b")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers
+// by using the '*' as shown below:
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/OpenSim/Framework/Data/ReservationData.cs b/OpenSim/Framework/Data/ReservationData.cs
index 0078df0..8344d6c 100644
--- a/OpenSim/Framework/Data/ReservationData.cs
+++ b/OpenSim/Framework/Data/ReservationData.cs
@@ -1,47 +1,47 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Data
-{
- public class ReservationData
- {
- public LLUUID userUUID = new LLUUID();
- public int reservationMinX = 0;
- public int reservationMinY = 0;
- public int reservationMaxX = 65536;
- public int reservationMaxY = 65536;
-
- public string reservationName = "";
- public string reservationCompany = "";
- public bool status = true;
-
- public string gridSendKey = "";
- public string gridRecvKey = "";
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Data
+{
+ public class ReservationData
+ {
+ public LLUUID userUUID = new LLUUID();
+ public int reservationMinX = 0;
+ public int reservationMinY = 0;
+ public int reservationMaxX = 65536;
+ public int reservationMaxY = 65536;
+
+ public string reservationName = "";
+ public string reservationCompany = "";
+ public bool status = true;
+
+ public string gridSendKey = "";
+ public string gridRecvKey = "";
+ }
+}
diff --git a/OpenSim/Framework/Data/SimProfileData.cs b/OpenSim/Framework/Data/SimProfileData.cs
index b920cab..c963455 100644
--- a/OpenSim/Framework/Data/SimProfileData.cs
+++ b/OpenSim/Framework/Data/SimProfileData.cs
@@ -1,192 +1,192 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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;
-using Nwc.XmlRpc;
-
-using System;
-using System.Collections;
-
-namespace OpenSim.Framework.Data
-{
- ///
- /// A class which contains information known to the grid server about a region
- ///
- public class SimProfileData
- {
- ///
- /// The name of the region
- ///
- public string regionName = "";
-
- ///
- /// A 64-bit number combining map position into a (mostly) unique ID
- ///
- public ulong regionHandle;
-
- ///
- /// OGS/OpenSim Specific ID for a region
- ///
- public LLUUID UUID;
-
- ///
- /// Coordinates of the region
- ///
- public uint regionLocX;
- public uint regionLocY;
- public uint regionLocZ; // Reserved (round-robin, layers, etc)
-
- ///
- /// Authentication secrets
- ///
- /// Not very secure, needs improvement.
- public string regionSendKey = "";
- public string regionRecvKey = "";
- public string regionSecret = "";
-
- ///
- /// Whether the region is online
- ///
- public bool regionOnline;
-
- ///
- /// Information about the server that the region is currently hosted on
- ///
- public string serverIP = "";
- public uint serverPort;
- public string serverURI = "";
-
- public uint httpPort;
- public uint remotingPort;
- public string httpServerURI = "";
-
- ///
- /// Set of optional overrides. Can be used to create non-eulicidean spaces.
- ///
- public ulong regionNorthOverrideHandle;
- public ulong regionSouthOverrideHandle;
- public ulong regionEastOverrideHandle;
- public ulong regionWestOverrideHandle;
-
- ///
- /// Optional: URI Location of the region database
- ///
- /// Used for floating sim pools where the region data is not nessecarily coupled to a specific server
- public string regionDataURI = "";
-
- ///
- /// Region Asset Details
- ///
- public string regionAssetURI = "";
- public string regionAssetSendKey = "";
- public string regionAssetRecvKey = "";
-
- ///
- /// Region Userserver Details
- ///
- public string regionUserURI = "";
- public string regionUserSendKey = "";
- public string regionUserRecvKey = "";
-
- ///
- /// Region Map Texture Asset
- ///
- public LLUUID regionMapTextureID = new LLUUID("00000000-0000-0000-9999-000000000006");
-
- ///
- /// Get Sim profile data from grid server when in grid mode
- ///
- ///
- ///
- ///
- ///
- public SimProfileData RequestSimProfileData(LLUUID region_uuid, string gridserver_url, string gridserver_sendkey, string gridserver_recvkey)
- {
- Hashtable requestData = new Hashtable();
- requestData["region_uuid"] = region_uuid.UUID.ToString();
- requestData["authkey"] = gridserver_sendkey;
- ArrayList SendParams = new ArrayList();
- SendParams.Add(requestData);
- XmlRpcRequest GridReq = new XmlRpcRequest("simulator_data_request", SendParams);
- XmlRpcResponse GridResp = GridReq.Send(gridserver_url, 3000);
-
- Hashtable responseData = (Hashtable)GridResp.Value;
-
- if (responseData.ContainsKey("error"))
- {
- return null;
- }
-
- SimProfileData simData = new SimProfileData();
- simData.regionLocX = Convert.ToUInt32((string)responseData["region_locx"]);
- simData.regionLocY = Convert.ToUInt32((string)responseData["region_locy"]);
- simData.regionHandle = Helpers.UIntsToLong((simData.regionLocX * 256), (simData.regionLocY * 256));
- simData.serverIP = (string)responseData["sim_ip"];
- simData.serverPort = Convert.ToUInt32((string)responseData["sim_port"]);
- simData.httpPort = Convert.ToUInt32((string)responseData["http_port"]);
- simData.remotingPort = Convert.ToUInt32((string)responseData["remoting_port"]);
- simData.serverURI = "http://" + simData.serverIP + ":" + simData.serverPort.ToString() + "/";
- simData.httpServerURI = "http://" + simData.serverIP + ":" + simData.httpPort.ToString() + "/";
- simData.UUID = new LLUUID((string)responseData["region_UUID"]);
- simData.regionName = (string)responseData["region_name"];
-
- return simData;
- }
- public SimProfileData RequestSimProfileData(ulong region_handle, string gridserver_url, string gridserver_sendkey, string gridserver_recvkey)
- {
- Hashtable requestData = new Hashtable();
- requestData["region_handle"] = region_handle.ToString();
- requestData["authkey"] = gridserver_sendkey;
- ArrayList SendParams = new ArrayList();
- SendParams.Add(requestData);
- XmlRpcRequest GridReq = new XmlRpcRequest("simulator_data_request", SendParams);
- XmlRpcResponse GridResp = GridReq.Send(gridserver_url, 3000);
-
- Hashtable responseData = (Hashtable)GridResp.Value;
-
- if (responseData.ContainsKey("error"))
- {
- return null;
- }
-
- SimProfileData simData = new SimProfileData();
- simData.regionLocX = Convert.ToUInt32((string)responseData["region_locx"]);
- simData.regionLocY = Convert.ToUInt32((string)responseData["region_locy"]);
- simData.regionHandle = Helpers.UIntsToLong((simData.regionLocX * 256), (simData.regionLocY * 256));
- simData.serverIP = (string)responseData["sim_ip"];
- simData.serverPort = Convert.ToUInt32((string)responseData["sim_port"]);
- simData.httpPort = Convert.ToUInt32((string)responseData["http_port"]);
- simData.remotingPort = Convert.ToUInt32((string)responseData["remoting_port"]);
- simData.httpServerURI = "http://" + simData.serverIP + ":" + simData.httpPort.ToString() + "/";
- simData.serverURI = "http://" + simData.serverIP + ":" + simData.serverPort.ToString() + "/";
- simData.UUID = new LLUUID((string)responseData["region_UUID"]);
- simData.regionName = (string)responseData["region_name"];
-
- return simData;
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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;
+using Nwc.XmlRpc;
+
+using System;
+using System.Collections;
+
+namespace OpenSim.Framework.Data
+{
+ ///
+ /// A class which contains information known to the grid server about a region
+ ///
+ public class SimProfileData
+ {
+ ///
+ /// The name of the region
+ ///
+ public string regionName = "";
+
+ ///
+ /// A 64-bit number combining map position into a (mostly) unique ID
+ ///
+ public ulong regionHandle;
+
+ ///
+ /// OGS/OpenSim Specific ID for a region
+ ///
+ public LLUUID UUID;
+
+ ///
+ /// Coordinates of the region
+ ///
+ public uint regionLocX;
+ public uint regionLocY;
+ public uint regionLocZ; // Reserved (round-robin, layers, etc)
+
+ ///
+ /// Authentication secrets
+ ///
+ /// Not very secure, needs improvement.
+ public string regionSendKey = "";
+ public string regionRecvKey = "";
+ public string regionSecret = "";
+
+ ///
+ /// Whether the region is online
+ ///
+ public bool regionOnline;
+
+ ///
+ /// Information about the server that the region is currently hosted on
+ ///
+ public string serverIP = "";
+ public uint serverPort;
+ public string serverURI = "";
+
+ public uint httpPort;
+ public uint remotingPort;
+ public string httpServerURI = "";
+
+ ///
+ /// Set of optional overrides. Can be used to create non-eulicidean spaces.
+ ///
+ public ulong regionNorthOverrideHandle;
+ public ulong regionSouthOverrideHandle;
+ public ulong regionEastOverrideHandle;
+ public ulong regionWestOverrideHandle;
+
+ ///
+ /// Optional: URI Location of the region database
+ ///
+ /// Used for floating sim pools where the region data is not nessecarily coupled to a specific server
+ public string regionDataURI = "";
+
+ ///
+ /// Region Asset Details
+ ///
+ public string regionAssetURI = "";
+ public string regionAssetSendKey = "";
+ public string regionAssetRecvKey = "";
+
+ ///
+ /// Region Userserver Details
+ ///
+ public string regionUserURI = "";
+ public string regionUserSendKey = "";
+ public string regionUserRecvKey = "";
+
+ ///
+ /// Region Map Texture Asset
+ ///
+ public LLUUID regionMapTextureID = new LLUUID("00000000-0000-0000-9999-000000000006");
+
+ ///
+ /// Get Sim profile data from grid server when in grid mode
+ ///
+ ///
+ ///
+ ///
+ ///
+ public SimProfileData RequestSimProfileData(LLUUID region_uuid, string gridserver_url, string gridserver_sendkey, string gridserver_recvkey)
+ {
+ Hashtable requestData = new Hashtable();
+ requestData["region_uuid"] = region_uuid.UUID.ToString();
+ requestData["authkey"] = gridserver_sendkey;
+ ArrayList SendParams = new ArrayList();
+ SendParams.Add(requestData);
+ XmlRpcRequest GridReq = new XmlRpcRequest("simulator_data_request", SendParams);
+ XmlRpcResponse GridResp = GridReq.Send(gridserver_url, 3000);
+
+ Hashtable responseData = (Hashtable)GridResp.Value;
+
+ if (responseData.ContainsKey("error"))
+ {
+ return null;
+ }
+
+ SimProfileData simData = new SimProfileData();
+ simData.regionLocX = Convert.ToUInt32((string)responseData["region_locx"]);
+ simData.regionLocY = Convert.ToUInt32((string)responseData["region_locy"]);
+ simData.regionHandle = Helpers.UIntsToLong((simData.regionLocX * 256), (simData.regionLocY * 256));
+ simData.serverIP = (string)responseData["sim_ip"];
+ simData.serverPort = Convert.ToUInt32((string)responseData["sim_port"]);
+ simData.httpPort = Convert.ToUInt32((string)responseData["http_port"]);
+ simData.remotingPort = Convert.ToUInt32((string)responseData["remoting_port"]);
+ simData.serverURI = "http://" + simData.serverIP + ":" + simData.serverPort.ToString() + "/";
+ simData.httpServerURI = "http://" + simData.serverIP + ":" + simData.httpPort.ToString() + "/";
+ simData.UUID = new LLUUID((string)responseData["region_UUID"]);
+ simData.regionName = (string)responseData["region_name"];
+
+ return simData;
+ }
+ public SimProfileData RequestSimProfileData(ulong region_handle, string gridserver_url, string gridserver_sendkey, string gridserver_recvkey)
+ {
+ Hashtable requestData = new Hashtable();
+ requestData["region_handle"] = region_handle.ToString();
+ requestData["authkey"] = gridserver_sendkey;
+ ArrayList SendParams = new ArrayList();
+ SendParams.Add(requestData);
+ XmlRpcRequest GridReq = new XmlRpcRequest("simulator_data_request", SendParams);
+ XmlRpcResponse GridResp = GridReq.Send(gridserver_url, 3000);
+
+ Hashtable responseData = (Hashtable)GridResp.Value;
+
+ if (responseData.ContainsKey("error"))
+ {
+ return null;
+ }
+
+ SimProfileData simData = new SimProfileData();
+ simData.regionLocX = Convert.ToUInt32((string)responseData["region_locx"]);
+ simData.regionLocY = Convert.ToUInt32((string)responseData["region_locy"]);
+ simData.regionHandle = Helpers.UIntsToLong((simData.regionLocX * 256), (simData.regionLocY * 256));
+ simData.serverIP = (string)responseData["sim_ip"];
+ simData.serverPort = Convert.ToUInt32((string)responseData["sim_port"]);
+ simData.httpPort = Convert.ToUInt32((string)responseData["http_port"]);
+ simData.remotingPort = Convert.ToUInt32((string)responseData["remoting_port"]);
+ simData.httpServerURI = "http://" + simData.serverIP + ":" + simData.httpPort.ToString() + "/";
+ simData.serverURI = "http://" + simData.serverIP + ":" + simData.serverPort.ToString() + "/";
+ simData.UUID = new LLUUID((string)responseData["region_UUID"]);
+ simData.regionName = (string)responseData["region_name"];
+
+ return simData;
+ }
+ }
+}
diff --git a/OpenSim/Framework/Data/UserData.cs b/OpenSim/Framework/Data/UserData.cs
index c65f9fd..d849e12 100644
--- a/OpenSim/Framework/Data/UserData.cs
+++ b/OpenSim/Framework/Data/UserData.cs
@@ -1,128 +1,128 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Data
-{
- ///
- /// 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);
-
- ///
- /// 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://www.openmetaverse.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.Data
+{
+ ///
+ /// 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);
+
+ ///
+ /// 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();
+ }
+}
diff --git a/OpenSim/Framework/Data/UserProfileData.cs b/OpenSim/Framework/Data/UserProfileData.cs
index bb7d48c..88f956f 100644
--- a/OpenSim/Framework/Data/UserProfileData.cs
+++ b/OpenSim/Framework/Data/UserProfileData.cs
@@ -1,180 +1,180 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Data
-{
- ///
- /// 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;
- ///
- /// 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;
-
- ///
- /// A URI to the users inventory server, used for foreigners and large grids
- ///
- public string userInventoryURI;
- ///
- /// A URI to the users asset server, used for foreigners and large grids.
- ///
- public string userAssetURI;
-
- ///
- /// 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;
- ///
- /// The first life about text listed in a users profile
- ///
- public string profileFirstText;
-
- ///
- /// 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://www.openmetaverse.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.Data
+{
+ ///
+ /// 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;
+ ///
+ /// 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;
+
+ ///
+ /// A URI to the users inventory server, used for foreigners and large grids
+ ///
+ public string userInventoryURI;
+ ///
+ /// A URI to the users asset server, used for foreigners and large grids.
+ ///
+ public string userAssetURI;
+
+ ///
+ /// 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;
+ ///
+ /// The first life about text listed in a users profile
+ ///
+ public string profileFirstText;
+
+ ///
+ /// 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;
+ }
+}
diff --git a/OpenSim/Framework/General/AgentInventory.cs b/OpenSim/Framework/General/AgentInventory.cs
index e45a0cd..0aeb0b3 100644
--- a/OpenSim/Framework/General/AgentInventory.cs
+++ b/OpenSim/Framework/General/AgentInventory.cs
@@ -1,265 +1,265 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Collections.Generic;
-using libsecondlife;
-using libsecondlife.Packets;
-using OpenSim.Framework.Types;
-using OpenSim.Framework.Utilities;
-
-namespace OpenSim.Framework.Inventory
-{
- public class AgentInventory
- {
- //Holds the local copy of Inventory info for a agent
- public Dictionary InventoryFolders;
- public Dictionary InventoryItems;
- public InventoryFolder InventoryRoot;
- public int LastCached; //maybe used by opensim app, time this was last stored/compared to user server
- public LLUUID AgentID;
- public AvatarWearable[] Wearables;
-
- public AgentInventory()
- {
- InventoryFolders = new Dictionary();
- InventoryItems = new Dictionary();
- this.Initialise();
- }
-
- public virtual void Initialise()
- {
- Wearables = new AvatarWearable[13]; //should be 12 of these
- for (int i = 0; i < 13; i++)
- {
- Wearables[i] = new AvatarWearable();
- }
-
- }
-
- public bool CreateNewFolder(LLUUID folderID, ushort type)
- {
- InventoryFolder Folder = new InventoryFolder();
- Folder.FolderID = folderID;
- Folder.OwnerID = this.AgentID;
- Folder.DefaultType = type;
- this.InventoryFolders.Add(Folder.FolderID, Folder);
- return (true);
- }
-
- public void CreateRootFolder(LLUUID newAgentID, bool createTextures)
- {
- this.AgentID = newAgentID;
- InventoryRoot = new InventoryFolder();
- InventoryRoot.FolderID = LLUUID.Random();
- InventoryRoot.ParentID = new LLUUID();
- InventoryRoot.Version = 1;
- InventoryRoot.DefaultType = 8;
- InventoryRoot.OwnerID = this.AgentID;
- InventoryRoot.FolderName = "My Inventory";
- InventoryFolders.Add(InventoryRoot.FolderID, InventoryRoot);
- InventoryRoot.OwnerID = this.AgentID;
- if (createTextures)
- {
- this.CreateNewFolder(LLUUID.Random(), 0, "Textures", InventoryRoot.FolderID);
- }
- }
-
- public bool CreateNewFolder(LLUUID folderID, ushort type, string folderName)
- {
- InventoryFolder Folder = new InventoryFolder();
- Folder.FolderID = folderID;
- Folder.OwnerID = this.AgentID;
- Folder.DefaultType = type;
- Folder.FolderName = folderName;
- this.InventoryFolders.Add(Folder.FolderID, Folder);
-
- return (true);
- }
-
- public bool CreateNewFolder(LLUUID folderID, ushort type, string folderName, LLUUID parent)
- {
- if (!this.InventoryFolders.ContainsKey(folderID))
- {
- System.Console.WriteLine("creating new folder called " + folderName + " in agents inventory");
- InventoryFolder Folder = new InventoryFolder();
- Folder.FolderID = folderID;
- Folder.OwnerID = this.AgentID;
- Folder.DefaultType = type;
- Folder.FolderName = folderName;
- Folder.ParentID = parent;
- this.InventoryFolders.Add(Folder.FolderID, Folder);
- }
-
- return (true);
- }
-
- public bool HasFolder(LLUUID folderID)
- {
- if (this.InventoryFolders.ContainsKey(folderID))
- {
- return true;
- }
- return false;
- }
-
- public LLUUID GetFolderID(string folderName)
- {
- foreach (InventoryFolder inv in this.InventoryFolders.Values)
- {
- if (inv.FolderName == folderName)
- {
- return inv.FolderID;
- }
- }
-
- return LLUUID.Zero;
- }
-
- public bool UpdateItemAsset(LLUUID itemID, AssetBase asset)
- {
- if(this.InventoryItems.ContainsKey(itemID))
- {
- InventoryItem Item = this.InventoryItems[itemID];
- Item.AssetID = asset.FullID;
- System.Console.WriteLine("updated inventory item " + itemID.ToStringHyphenated() + " so it now is set to asset " + asset.FullID.ToStringHyphenated());
- //TODO need to update the rest of the info
- }
- return true;
- }
-
- public bool UpdateItemDetails(LLUUID itemID, UpdateInventoryItemPacket.InventoryDataBlock packet)
- {
- System.Console.WriteLine("updating inventory item details");
- if (this.InventoryItems.ContainsKey(itemID))
- {
- System.Console.WriteLine("changing name to "+ Util.FieldToString(packet.Name));
- InventoryItem Item = this.InventoryItems[itemID];
- Item.Name = Util.FieldToString(packet.Name);
- System.Console.WriteLine("updated inventory item " + itemID.ToStringHyphenated());
- //TODO need to update the rest of the info
- }
- return true;
- }
-
- public LLUUID AddToInventory(LLUUID folderID, AssetBase asset)
- {
- if (this.InventoryFolders.ContainsKey(folderID))
- {
- LLUUID NewItemID = LLUUID.Random();
-
- InventoryItem Item = new InventoryItem();
- Item.FolderID = folderID;
- Item.OwnerID = AgentID;
- Item.AssetID = asset.FullID;
- Item.ItemID = NewItemID;
- Item.Type = asset.Type;
- Item.Name = asset.Name;
- Item.Description = asset.Description;
- Item.InvType = asset.InvType;
- this.InventoryItems.Add(Item.ItemID, Item);
- InventoryFolder Folder = InventoryFolders[Item.FolderID];
- Folder.Items.Add(Item);
- return (Item.ItemID);
- }
- else
- {
- return (null);
- }
- }
-
- public bool DeleteFromInventory(LLUUID itemID)
- {
- bool res = false;
- if (this.InventoryItems.ContainsKey(itemID))
- {
- InventoryItem item = this.InventoryItems[itemID];
- this.InventoryItems.Remove(itemID);
- foreach (InventoryFolder fold in InventoryFolders.Values)
- {
- if (fold.Items.Contains(item))
- {
- fold.Items.Remove(item);
- break;
- }
- }
- res = true;
-
- }
- return res;
- }
- }
-
- public class InventoryFolder
- {
- public List Items;
- //public List Subfolders;
- public LLUUID FolderID;
- public LLUUID OwnerID;
- public LLUUID ParentID = LLUUID.Zero;
- public string FolderName;
- public ushort DefaultType;
- public ushort Version;
-
- public InventoryFolder()
- {
- Items = new List();
- //Subfolders = new List();
- }
-
- }
-
- public class InventoryItem
- {
- public LLUUID FolderID;
- public LLUUID OwnerID;
- public LLUUID ItemID;
- public LLUUID AssetID;
- public LLUUID CreatorID;
- public sbyte InvType;
- public sbyte Type;
- public string Name ="";
- public string Description;
-
- public InventoryItem()
- {
- this.CreatorID = LLUUID.Zero;
- }
-
- public string ExportString()
- {
- string typ = "notecard";
- string result = "";
- result += "\tinv_object\t0\n\t{\n";
- result += "\t\tobj_id\t%s\n";
- result += "\t\tparent_id\t"+ ItemID.ToString() +"\n";
- result += "\t\ttype\t"+ typ +"\n";
- result += "\t\tname\t" + Name+"|\n";
- result += "\t}\n";
- return result;
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Collections.Generic;
+using libsecondlife;
+using libsecondlife.Packets;
+using OpenSim.Framework.Types;
+using OpenSim.Framework.Utilities;
+
+namespace OpenSim.Framework.Inventory
+{
+ public class AgentInventory
+ {
+ //Holds the local copy of Inventory info for a agent
+ public Dictionary InventoryFolders;
+ public Dictionary InventoryItems;
+ public InventoryFolder InventoryRoot;
+ public int LastCached; //maybe used by opensim app, time this was last stored/compared to user server
+ public LLUUID AgentID;
+ public AvatarWearable[] Wearables;
+
+ public AgentInventory()
+ {
+ InventoryFolders = new Dictionary();
+ InventoryItems = new Dictionary();
+ this.Initialise();
+ }
+
+ public virtual void Initialise()
+ {
+ Wearables = new AvatarWearable[13]; //should be 12 of these
+ for (int i = 0; i < 13; i++)
+ {
+ Wearables[i] = new AvatarWearable();
+ }
+
+ }
+
+ public bool CreateNewFolder(LLUUID folderID, ushort type)
+ {
+ InventoryFolder Folder = new InventoryFolder();
+ Folder.FolderID = folderID;
+ Folder.OwnerID = this.AgentID;
+ Folder.DefaultType = type;
+ this.InventoryFolders.Add(Folder.FolderID, Folder);
+ return (true);
+ }
+
+ public void CreateRootFolder(LLUUID newAgentID, bool createTextures)
+ {
+ this.AgentID = newAgentID;
+ InventoryRoot = new InventoryFolder();
+ InventoryRoot.FolderID = LLUUID.Random();
+ InventoryRoot.ParentID = new LLUUID();
+ InventoryRoot.Version = 1;
+ InventoryRoot.DefaultType = 8;
+ InventoryRoot.OwnerID = this.AgentID;
+ InventoryRoot.FolderName = "My Inventory";
+ InventoryFolders.Add(InventoryRoot.FolderID, InventoryRoot);
+ InventoryRoot.OwnerID = this.AgentID;
+ if (createTextures)
+ {
+ this.CreateNewFolder(LLUUID.Random(), 0, "Textures", InventoryRoot.FolderID);
+ }
+ }
+
+ public bool CreateNewFolder(LLUUID folderID, ushort type, string folderName)
+ {
+ InventoryFolder Folder = new InventoryFolder();
+ Folder.FolderID = folderID;
+ Folder.OwnerID = this.AgentID;
+ Folder.DefaultType = type;
+ Folder.FolderName = folderName;
+ this.InventoryFolders.Add(Folder.FolderID, Folder);
+
+ return (true);
+ }
+
+ public bool CreateNewFolder(LLUUID folderID, ushort type, string folderName, LLUUID parent)
+ {
+ if (!this.InventoryFolders.ContainsKey(folderID))
+ {
+ System.Console.WriteLine("creating new folder called " + folderName + " in agents inventory");
+ InventoryFolder Folder = new InventoryFolder();
+ Folder.FolderID = folderID;
+ Folder.OwnerID = this.AgentID;
+ Folder.DefaultType = type;
+ Folder.FolderName = folderName;
+ Folder.ParentID = parent;
+ this.InventoryFolders.Add(Folder.FolderID, Folder);
+ }
+
+ return (true);
+ }
+
+ public bool HasFolder(LLUUID folderID)
+ {
+ if (this.InventoryFolders.ContainsKey(folderID))
+ {
+ return true;
+ }
+ return false;
+ }
+
+ public LLUUID GetFolderID(string folderName)
+ {
+ foreach (InventoryFolder inv in this.InventoryFolders.Values)
+ {
+ if (inv.FolderName == folderName)
+ {
+ return inv.FolderID;
+ }
+ }
+
+ return LLUUID.Zero;
+ }
+
+ public bool UpdateItemAsset(LLUUID itemID, AssetBase asset)
+ {
+ if(this.InventoryItems.ContainsKey(itemID))
+ {
+ InventoryItem Item = this.InventoryItems[itemID];
+ Item.AssetID = asset.FullID;
+ System.Console.WriteLine("updated inventory item " + itemID.ToStringHyphenated() + " so it now is set to asset " + asset.FullID.ToStringHyphenated());
+ //TODO need to update the rest of the info
+ }
+ return true;
+ }
+
+ public bool UpdateItemDetails(LLUUID itemID, UpdateInventoryItemPacket.InventoryDataBlock packet)
+ {
+ System.Console.WriteLine("updating inventory item details");
+ if (this.InventoryItems.ContainsKey(itemID))
+ {
+ System.Console.WriteLine("changing name to "+ Util.FieldToString(packet.Name));
+ InventoryItem Item = this.InventoryItems[itemID];
+ Item.Name = Util.FieldToString(packet.Name);
+ System.Console.WriteLine("updated inventory item " + itemID.ToStringHyphenated());
+ //TODO need to update the rest of the info
+ }
+ return true;
+ }
+
+ public LLUUID AddToInventory(LLUUID folderID, AssetBase asset)
+ {
+ if (this.InventoryFolders.ContainsKey(folderID))
+ {
+ LLUUID NewItemID = LLUUID.Random();
+
+ InventoryItem Item = new InventoryItem();
+ Item.FolderID = folderID;
+ Item.OwnerID = AgentID;
+ Item.AssetID = asset.FullID;
+ Item.ItemID = NewItemID;
+ Item.Type = asset.Type;
+ Item.Name = asset.Name;
+ Item.Description = asset.Description;
+ Item.InvType = asset.InvType;
+ this.InventoryItems.Add(Item.ItemID, Item);
+ InventoryFolder Folder = InventoryFolders[Item.FolderID];
+ Folder.Items.Add(Item);
+ return (Item.ItemID);
+ }
+ else
+ {
+ return (null);
+ }
+ }
+
+ public bool DeleteFromInventory(LLUUID itemID)
+ {
+ bool res = false;
+ if (this.InventoryItems.ContainsKey(itemID))
+ {
+ InventoryItem item = this.InventoryItems[itemID];
+ this.InventoryItems.Remove(itemID);
+ foreach (InventoryFolder fold in InventoryFolders.Values)
+ {
+ if (fold.Items.Contains(item))
+ {
+ fold.Items.Remove(item);
+ break;
+ }
+ }
+ res = true;
+
+ }
+ return res;
+ }
+ }
+
+ public class InventoryFolder
+ {
+ public List Items;
+ //public List Subfolders;
+ public LLUUID FolderID;
+ public LLUUID OwnerID;
+ public LLUUID ParentID = LLUUID.Zero;
+ public string FolderName;
+ public ushort DefaultType;
+ public ushort Version;
+
+ public InventoryFolder()
+ {
+ Items = new List();
+ //Subfolders = new List();
+ }
+
+ }
+
+ public class InventoryItem
+ {
+ public LLUUID FolderID;
+ public LLUUID OwnerID;
+ public LLUUID ItemID;
+ public LLUUID AssetID;
+ public LLUUID CreatorID;
+ public sbyte InvType;
+ public sbyte Type;
+ public string Name ="";
+ public string Description;
+
+ public InventoryItem()
+ {
+ this.CreatorID = LLUUID.Zero;
+ }
+
+ public string ExportString()
+ {
+ string typ = "notecard";
+ string result = "";
+ result += "\tinv_object\t0\n\t{\n";
+ result += "\t\tobj_id\t%s\n";
+ result += "\t\tparent_id\t"+ ItemID.ToString() +"\n";
+ result += "\t\ttype\t"+ typ +"\n";
+ result += "\t\tname\t" + Name+"|\n";
+ result += "\t}\n";
+ return result;
+ }
+ }
+}
diff --git a/OpenSim/Framework/General/AuthenticateSessionBase.cs b/OpenSim/Framework/General/AuthenticateSessionBase.cs
index 71616e3..2d02286 100644
--- a/OpenSim/Framework/General/AuthenticateSessionBase.cs
+++ b/OpenSim/Framework/General/AuthenticateSessionBase.cs
@@ -1,130 +1,130 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Collections.Generic;
-using libsecondlife;
-using OpenSim.Framework.Interfaces;
-using OpenSim.Framework.Types;
-
-namespace OpenSim.Framework
-{
- public class AuthenticateSessionsBase
- {
- public Dictionary AgentCircuits = new Dictionary();
-
- public AuthenticateSessionsBase()
- {
-
- }
-
- public virtual AuthenticateResponse AuthenticateSession(LLUUID sessionID, LLUUID agentID, uint circuitcode)
- {
- AgentCircuitData validcircuit = null;
- if (this.AgentCircuits.ContainsKey(circuitcode))
- {
- validcircuit = this.AgentCircuits[circuitcode];
- }
- AuthenticateResponse user = new AuthenticateResponse();
- if (validcircuit == null)
- {
- //don't have this circuit code in our list
- user.Authorised = false;
- return (user);
- }
-
- if ((sessionID == validcircuit.SessionID) && (agentID == validcircuit.AgentID))
- {
- user.Authorised = true;
- user.LoginInfo = new Login();
- user.LoginInfo.Agent = agentID;
- user.LoginInfo.Session = sessionID;
- user.LoginInfo.SecureSession = validcircuit.SecureSessionID;
- user.LoginInfo.First = validcircuit.firstname;
- user.LoginInfo.Last = validcircuit.lastname;
- user.LoginInfo.InventoryFolder = validcircuit.InventoryFolder;
- user.LoginInfo.BaseFolder = validcircuit.BaseFolder;
- }
- else
- {
- // Invalid
- user.Authorised = false;
- }
-
- return (user);
- }
-
- public virtual void AddNewCircuit(uint circuitCode, AgentCircuitData agentData)
- {
- if (this.AgentCircuits.ContainsKey(circuitCode))
- {
- this.AgentCircuits[circuitCode] = agentData;
- }
- else
- {
- this.AgentCircuits.Add(circuitCode, agentData);
- }
- }
-
- public LLVector3 GetPosition(uint circuitCode)
- {
- LLVector3 vec = new LLVector3();
- if (this.AgentCircuits.ContainsKey(circuitCode))
- {
- vec = this.AgentCircuits[circuitCode].startpos;
- }
- return vec;
- }
-
- public void UpdateAgentData(AgentCircuitData agentData)
- {
- if (this.AgentCircuits.ContainsKey((uint)agentData.circuitcode))
- {
- this.AgentCircuits[(uint)agentData.circuitcode].firstname = agentData.firstname;
- this.AgentCircuits[(uint)agentData.circuitcode].lastname = agentData.lastname;
- this.AgentCircuits[(uint)agentData.circuitcode].startpos = agentData.startpos;
- // Console.WriteLine("update user start pos is " + agentData.startpos.X + " , " + agentData.startpos.Y + " , " + agentData.startpos.Z);
- }
- }
-
- public void UpdateAgentChildStatus(uint circuitcode, bool childstatus)
- {
- if (this.AgentCircuits.ContainsKey(circuitcode))
- {
- this.AgentCircuits[circuitcode].child = childstatus;
- }
- }
-
- public bool GetAgentChildStatus(uint circuitcode)
- {
- if (this.AgentCircuits.ContainsKey(circuitcode))
- {
- return this.AgentCircuits[circuitcode].child;
- }
- return false;
- }
- }
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Collections.Generic;
+using libsecondlife;
+using OpenSim.Framework.Interfaces;
+using OpenSim.Framework.Types;
+
+namespace OpenSim.Framework
+{
+ public class AuthenticateSessionsBase
+ {
+ public Dictionary AgentCircuits = new Dictionary();
+
+ public AuthenticateSessionsBase()
+ {
+
+ }
+
+ public virtual AuthenticateResponse AuthenticateSession(LLUUID sessionID, LLUUID agentID, uint circuitcode)
+ {
+ AgentCircuitData validcircuit = null;
+ if (this.AgentCircuits.ContainsKey(circuitcode))
+ {
+ validcircuit = this.AgentCircuits[circuitcode];
+ }
+ AuthenticateResponse user = new AuthenticateResponse();
+ if (validcircuit == null)
+ {
+ //don't have this circuit code in our list
+ user.Authorised = false;
+ return (user);
+ }
+
+ if ((sessionID == validcircuit.SessionID) && (agentID == validcircuit.AgentID))
+ {
+ user.Authorised = true;
+ user.LoginInfo = new Login();
+ user.LoginInfo.Agent = agentID;
+ user.LoginInfo.Session = sessionID;
+ user.LoginInfo.SecureSession = validcircuit.SecureSessionID;
+ user.LoginInfo.First = validcircuit.firstname;
+ user.LoginInfo.Last = validcircuit.lastname;
+ user.LoginInfo.InventoryFolder = validcircuit.InventoryFolder;
+ user.LoginInfo.BaseFolder = validcircuit.BaseFolder;
+ }
+ else
+ {
+ // Invalid
+ user.Authorised = false;
+ }
+
+ return (user);
+ }
+
+ public virtual void AddNewCircuit(uint circuitCode, AgentCircuitData agentData)
+ {
+ if (this.AgentCircuits.ContainsKey(circuitCode))
+ {
+ this.AgentCircuits[circuitCode] = agentData;
+ }
+ else
+ {
+ this.AgentCircuits.Add(circuitCode, agentData);
+ }
+ }
+
+ public LLVector3 GetPosition(uint circuitCode)
+ {
+ LLVector3 vec = new LLVector3();
+ if (this.AgentCircuits.ContainsKey(circuitCode))
+ {
+ vec = this.AgentCircuits[circuitCode].startpos;
+ }
+ return vec;
+ }
+
+ public void UpdateAgentData(AgentCircuitData agentData)
+ {
+ if (this.AgentCircuits.ContainsKey((uint)agentData.circuitcode))
+ {
+ this.AgentCircuits[(uint)agentData.circuitcode].firstname = agentData.firstname;
+ this.AgentCircuits[(uint)agentData.circuitcode].lastname = agentData.lastname;
+ this.AgentCircuits[(uint)agentData.circuitcode].startpos = agentData.startpos;
+ // Console.WriteLine("update user start pos is " + agentData.startpos.X + " , " + agentData.startpos.Y + " , " + agentData.startpos.Z);
+ }
+ }
+
+ public void UpdateAgentChildStatus(uint circuitcode, bool childstatus)
+ {
+ if (this.AgentCircuits.ContainsKey(circuitcode))
+ {
+ this.AgentCircuits[circuitcode].child = childstatus;
+ }
+ }
+
+ public bool GetAgentChildStatus(uint circuitcode)
+ {
+ if (this.AgentCircuits.ContainsKey(circuitcode))
+ {
+ return this.AgentCircuits[circuitcode].child;
+ }
+ return false;
+ }
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Framework/General/BlockingQueue.cs b/OpenSim/Framework/General/BlockingQueue.cs
index 0cc8124..e263d71 100644
--- a/OpenSim/Framework/General/BlockingQueue.cs
+++ b/OpenSim/Framework/General/BlockingQueue.cs
@@ -1,58 +1,58 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Collections.Generic;
-using System.Threading;
-
-namespace OpenSim.Framework.Utilities
-{
- public class BlockingQueue
- {
- private Queue _queue = new Queue();
- private object _queueSync = new object();
-
- public void Enqueue(T value)
- {
- lock (_queueSync)
- {
- _queue.Enqueue(value);
- Monitor.Pulse(_queueSync);
- }
- }
-
- public T Dequeue()
- {
- lock (_queueSync)
- {
- if (_queue.Count < 1)
- Monitor.Wait(_queueSync);
-
- return _queue.Dequeue();
- }
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Collections.Generic;
+using System.Threading;
+
+namespace OpenSim.Framework.Utilities
+{
+ public class BlockingQueue
+ {
+ private Queue _queue = new Queue();
+ private object _queueSync = new object();
+
+ public void Enqueue(T value)
+ {
+ lock (_queueSync)
+ {
+ _queue.Enqueue(value);
+ Monitor.Pulse(_queueSync);
+ }
+ }
+
+ public T Dequeue()
+ {
+ lock (_queueSync)
+ {
+ if (_queue.Count < 1)
+ Monitor.Wait(_queueSync);
+
+ return _queue.Dequeue();
+ }
+ }
+ }
+}
diff --git a/OpenSim/Framework/General/ClientManager.cs b/OpenSim/Framework/General/ClientManager.cs
index b560ca8..0e45d03 100644
--- a/OpenSim/Framework/General/ClientManager.cs
+++ b/OpenSim/Framework/General/ClientManager.cs
@@ -1,36 +1,36 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using OpenSim.Framework.Interfaces;
-
-namespace OpenSim.Framework
-{
- public delegate void ForEachClientDelegate( IClientAPI client );
- public class ClientManager
- {
- private Dictionary m_clients;
-
- public void ForEachClient(ForEachClientDelegate whatToDo)
- {
- foreach (IClientAPI client in m_clients.Values)
- {
- whatToDo(client);
- }
- }
-
- public ClientManager()
- {
- m_clients = new Dictionary();
- }
-
- public void Remove(uint id)
- {
- m_clients.Remove(id);
- }
-
- public void Add(uint id, IClientAPI client )
- {
- m_clients.Add( id, client );
- }
- }
-}
+using System;
+using System.Collections.Generic;
+using System.Text;
+using OpenSim.Framework.Interfaces;
+
+namespace OpenSim.Framework
+{
+ public delegate void ForEachClientDelegate( IClientAPI client );
+ public class ClientManager
+ {
+ private Dictionary m_clients;
+
+ public void ForEachClient(ForEachClientDelegate whatToDo)
+ {
+ foreach (IClientAPI client in m_clients.Values)
+ {
+ whatToDo(client);
+ }
+ }
+
+ public ClientManager()
+ {
+ m_clients = new Dictionary();
+ }
+
+ public void Remove(uint id)
+ {
+ m_clients.Remove(id);
+ }
+
+ public void Add(uint id, IClientAPI client )
+ {
+ m_clients.Add( id, client );
+ }
+ }
+}
diff --git a/OpenSim/Framework/General/IRegionCommsListener.cs b/OpenSim/Framework/General/IRegionCommsListener.cs
index 32444f9..81da5d4 100644
--- a/OpenSim/Framework/General/IRegionCommsListener.cs
+++ b/OpenSim/Framework/General/IRegionCommsListener.cs
@@ -1,46 +1,46 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Collections.Generic;
-using libsecondlife;
-using OpenSim.Framework.Interfaces;
-using OpenSim.Framework.Types;
-
-namespace OpenSim.Framework
-{
- public delegate void ExpectUserDelegate(ulong regionHandle, AgentCircuitData agent);
- public delegate void UpdateNeighbours(List neighbours);
- public delegate void AgentCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position);
-
- public interface IRegionCommsListener
- {
- event ExpectUserDelegate OnExpectUser;
- event GenericCall2 OnExpectChildAgent;
- event AgentCrossing OnAvatarCrossingIntoRegion;
- event UpdateNeighbours OnNeighboursUpdate;
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Collections.Generic;
+using libsecondlife;
+using OpenSim.Framework.Interfaces;
+using OpenSim.Framework.Types;
+
+namespace OpenSim.Framework
+{
+ public delegate void ExpectUserDelegate(ulong regionHandle, AgentCircuitData agent);
+ public delegate void UpdateNeighbours(List neighbours);
+ public delegate void AgentCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position);
+
+ public interface IRegionCommsListener
+ {
+ event ExpectUserDelegate OnExpectUser;
+ event GenericCall2 OnExpectChildAgent;
+ event AgentCrossing OnAvatarCrossingIntoRegion;
+ event UpdateNeighbours OnNeighboursUpdate;
+ }
+}
diff --git a/OpenSim/Framework/General/Interfaces/AuthenticateResponse.cs b/OpenSim/Framework/General/Interfaces/AuthenticateResponse.cs
index 508485b..7c49785 100644
--- a/OpenSim/Framework/General/Interfaces/AuthenticateResponse.cs
+++ b/OpenSim/Framework/General/Interfaces/AuthenticateResponse.cs
@@ -1,43 +1,43 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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 OpenSim.Framework.Types;
-
-namespace OpenSim.Framework.Interfaces
-{
- public class AuthenticateResponse
- {
- public bool Authorised;
- public Login LoginInfo;
-
- public AuthenticateResponse()
- {
-
- }
-
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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 OpenSim.Framework.Types;
+
+namespace OpenSim.Framework.Interfaces
+{
+ public class AuthenticateResponse
+ {
+ public bool Authorised;
+ public Login LoginInfo;
+
+ public AuthenticateResponse()
+ {
+
+ }
+
+ }
+}
diff --git a/OpenSim/Framework/General/Interfaces/Config/IGenericConfig.cs b/OpenSim/Framework/General/Interfaces/Config/IGenericConfig.cs
index 2c379dd..57aa0c0 100644
--- a/OpenSim/Framework/General/Interfaces/Config/IGenericConfig.cs
+++ b/OpenSim/Framework/General/Interfaces/Config/IGenericConfig.cs
@@ -1,38 +1,38 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Interfaces
-{
- public interface IGenericConfig
- {
- void LoadData();
- string GetAttribute(string attributeName);
- bool SetAttribute(string attributeName, string attributeValue);
- void Commit();
- void Close();
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Interfaces
+{
+ public interface IGenericConfig
+ {
+ void LoadData();
+ string GetAttribute(string attributeName);
+ bool SetAttribute(string attributeName, string attributeValue);
+ void Commit();
+ void Close();
+ }
+}
diff --git a/OpenSim/Framework/General/Interfaces/Config/IGridConfig.cs b/OpenSim/Framework/General/Interfaces/Config/IGridConfig.cs
index 81dc293..20cc320 100644
--- a/OpenSim/Framework/General/Interfaces/Config/IGridConfig.cs
+++ b/OpenSim/Framework/General/Interfaces/Config/IGridConfig.cs
@@ -1,59 +1,59 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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 OpenSim.world;
-
-namespace OpenSim.Framework.Interfaces
-{
- ///
- ///
-
-
- public abstract class GridConfig
- {
- public string GridOwner;
- public string DefaultStartupMsg;
- 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 abstract void InitConfig();
-
- }
-
- public interface IGridConfig
- {
- GridConfig GetConfigObject();
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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 OpenSim.world;
+
+namespace OpenSim.Framework.Interfaces
+{
+ ///
+ ///
+
+
+ public abstract class GridConfig
+ {
+ public string GridOwner;
+ public string DefaultStartupMsg;
+ 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 abstract void InitConfig();
+
+ }
+
+ public interface IGridConfig
+ {
+ GridConfig GetConfigObject();
+ }
+}
diff --git a/OpenSim/Framework/General/Interfaces/Config/IUserConfig.cs b/OpenSim/Framework/General/Interfaces/Config/IUserConfig.cs
index ae6cedb..a17804a 100644
--- a/OpenSim/Framework/General/Interfaces/Config/IUserConfig.cs
+++ b/OpenSim/Framework/General/Interfaces/Config/IUserConfig.cs
@@ -1,53 +1,53 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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 OpenSim.world;
-
-namespace OpenSim.Framework.Interfaces
-{
- ///
- ///
-
-
- public abstract class UserConfig
- {
- public string DefaultStartupMsg;
- public string GridServerURL;
- public string GridSendKey;
- public string GridRecvKey;
-
-
- public abstract void InitConfig();
-
- }
-
- public interface IUserConfig
- {
- UserConfig GetConfigObject();
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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 OpenSim.world;
+
+namespace OpenSim.Framework.Interfaces
+{
+ ///
+ ///
+
+
+ public abstract class UserConfig
+ {
+ public string DefaultStartupMsg;
+ public string GridServerURL;
+ public string GridSendKey;
+ public string GridRecvKey;
+
+
+ public abstract void InitConfig();
+
+ }
+
+ public interface IUserConfig
+ {
+ UserConfig GetConfigObject();
+ }
+}
diff --git a/OpenSim/Framework/General/Interfaces/IAssetServer.cs b/OpenSim/Framework/General/Interfaces/IAssetServer.cs
index ab60dd7..cbb5c36 100644
--- a/OpenSim/Framework/General/Interfaces/IAssetServer.cs
+++ b/OpenSim/Framework/General/Interfaces/IAssetServer.cs
@@ -1,64 +1,64 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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;
-using OpenSim.Framework.Types;
-
-namespace OpenSim.Framework.Interfaces
-{
- ///
- /// Description of IAssetServer.
- ///
-
- public interface IAssetServer
- {
- void SetReceiver(IAssetReceiver receiver);
- void RequestAsset(LLUUID assetID, bool isTexture);
- void UpdateAsset(AssetBase asset);
- void UploadNewAsset(AssetBase asset);
- void SetServerInfo(string ServerUrl, string ServerKey);
- void Close();
- }
-
- // could change to delegate?
- public interface IAssetReceiver
- {
- void AssetReceived(AssetBase asset, bool IsTexture);
- void AssetNotFound(AssetBase asset);
- }
-
- public interface IAssetPlugin
- {
- IAssetServer GetAssetServer();
- }
-
- public struct ARequest
- {
- public LLUUID AssetID;
- public bool IsTexture;
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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;
+using OpenSim.Framework.Types;
+
+namespace OpenSim.Framework.Interfaces
+{
+ ///
+ /// Description of IAssetServer.
+ ///
+
+ public interface IAssetServer
+ {
+ void SetReceiver(IAssetReceiver receiver);
+ void RequestAsset(LLUUID assetID, bool isTexture);
+ void UpdateAsset(AssetBase asset);
+ void UploadNewAsset(AssetBase asset);
+ void SetServerInfo(string ServerUrl, string ServerKey);
+ void Close();
+ }
+
+ // could change to delegate?
+ public interface IAssetReceiver
+ {
+ void AssetReceived(AssetBase asset, bool IsTexture);
+ void AssetNotFound(AssetBase asset);
+ }
+
+ public interface IAssetPlugin
+ {
+ IAssetServer GetAssetServer();
+ }
+
+ public struct ARequest
+ {
+ public LLUUID AssetID;
+ public bool IsTexture;
+ }
+}
diff --git a/OpenSim/Framework/General/Interfaces/IClientAPI.cs b/OpenSim/Framework/General/Interfaces/IClientAPI.cs
index bd258a3..0606e43 100644
--- a/OpenSim/Framework/General/Interfaces/IClientAPI.cs
+++ b/OpenSim/Framework/General/Interfaces/IClientAPI.cs
@@ -1,195 +1,195 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Collections.Generic;
-using System.Net;
-using libsecondlife;
-using libsecondlife.Packets;
-using OpenSim.Framework.Types;
-using OpenSim.Framework.Data;
-
-namespace OpenSim.Framework.Interfaces
-{
- public delegate void ChatFromViewer(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID);
- public delegate void ImprovedInstantMessage(LLUUID fromAgentID, LLUUID toAgentID, uint timestamp, string fromAgentName, string message); // Cut down from full list
- public delegate void RezObject(AssetBase primAsset, LLVector3 pos);
- public delegate void ModifyTerrain(float height, float seconds, byte size, byte action, float north, float west);
- public delegate void SetAppearance(byte[] texture, AgentSetAppearancePacket.VisualParamBlock[] visualParam);
- public delegate void StartAnim(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 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 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 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 parcel_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 interface IClientAPI
- {
- event ImprovedInstantMessage OnInstantMessage;
- event ChatFromViewer OnChatFromViewer;
- event RezObject OnRezObject;
- event ModifyTerrain OnModifyTerrain;
- event SetAppearance OnSetAppearance;
- event StartAnim OnStartAnim;
- event LinkObjects OnLinkObjects;
- event RequestMapBlocks OnRequestMapBlocks;
- event TeleportLocationRequest OnTeleportLocationRequest;
-
- event GenericCall4 OnDeRezObject;
- event GenericCall OnRegionHandShakeReply;
- event GenericCall OnRequestWearables;
- event GenericCall2 OnCompleteMovementToRegion;
- event UpdateAgent OnAgentUpdate;
- event GenericCall OnRequestAvatarsData;
- event AddNewPrim OnAddPrim;
- event ObjectDuplicate OnObjectDuplicate;
- event UpdateVector OnGrapObject;
- event ObjectSelect OnDeGrapObject;
- event MoveObject OnGrapUpdate;
-
- event UpdateShape OnUpdatePrimShape;
- 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 NewAvatar OnNewAvatar;
- event GenericCall6 OnRemoveAvatar;
-
- 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;
- }
-
- string FirstName
- {
- get;
- }
-
- string LastName
- {
- get;
- }
-
- void OutPacket(Packet newPack);
- void SendWearables(AvatarWearable[] wearables);
- void SendStartPingCheck(byte seq);
- void SendKillObject(ulong regionHandle, uint avatarLocalID);
- 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(string message, LLUUID target, string fromName);
- 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 );
- void SendMapBlock(List mapBlocks);
- void SendLocalTeleport(LLVector3 position, LLVector3 lookAt, uint flags);
- void SendRegionTeleport(ulong regionHandle, byte simAccess, IPEndPoint regionExternalEndPoint, uint locationID, uint flags);
- 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);
- void SendAvatarTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, LLVector3 velocity);
-
- void AttachObject(uint localID, LLQuaternion rotation, byte attachPoint);
- void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimData primData, LLVector3 pos, LLQuaternion rotation, LLUUID textureID , uint flags);
- void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimData primData, LLVector3 pos, LLUUID textureID, uint flags);
- void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, LLQuaternion rotation, uint flags, LLUUID objectID, LLUUID ownerID, string text, uint parentID);
- void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, uint flags, LLUUID objectID, LLUUID ownerID, string text, uint parentID);
- void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, LLQuaternion rotation);
-
- void SendInventoryFolderDetails(LLUUID ownerID, LLUUID folderID, List items);
- void SendInventoryItemDetails(LLUUID ownerID, LLUUID folderID, InventoryItemBase item);
- void SendNameReply(LLUUID profileId, string firstname, string lastname);
-
-
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Collections.Generic;
+using System.Net;
+using libsecondlife;
+using libsecondlife.Packets;
+using OpenSim.Framework.Types;
+using OpenSim.Framework.Data;
+
+namespace OpenSim.Framework.Interfaces
+{
+ public delegate void ChatFromViewer(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID);
+ public delegate void ImprovedInstantMessage(LLUUID fromAgentID, LLUUID toAgentID, uint timestamp, string fromAgentName, string message); // Cut down from full list
+ public delegate void RezObject(AssetBase primAsset, LLVector3 pos);
+ public delegate void ModifyTerrain(float height, float seconds, byte size, byte action, float north, float west);
+ public delegate void SetAppearance(byte[] texture, AgentSetAppearancePacket.VisualParamBlock[] visualParam);
+ public delegate void StartAnim(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 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 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 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 parcel_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 interface IClientAPI
+ {
+ event ImprovedInstantMessage OnInstantMessage;
+ event ChatFromViewer OnChatFromViewer;
+ event RezObject OnRezObject;
+ event ModifyTerrain OnModifyTerrain;
+ event SetAppearance OnSetAppearance;
+ event StartAnim OnStartAnim;
+ event LinkObjects OnLinkObjects;
+ event RequestMapBlocks OnRequestMapBlocks;
+ event TeleportLocationRequest OnTeleportLocationRequest;
+
+ event GenericCall4 OnDeRezObject;
+ event GenericCall OnRegionHandShakeReply;
+ event GenericCall OnRequestWearables;
+ event GenericCall2 OnCompleteMovementToRegion;
+ event UpdateAgent OnAgentUpdate;
+ event GenericCall OnRequestAvatarsData;
+ event AddNewPrim OnAddPrim;
+ event ObjectDuplicate OnObjectDuplicate;
+ event UpdateVector OnGrapObject;
+ event ObjectSelect OnDeGrapObject;
+ event MoveObject OnGrapUpdate;
+
+ event UpdateShape OnUpdatePrimShape;
+ 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 NewAvatar OnNewAvatar;
+ event GenericCall6 OnRemoveAvatar;
+
+ 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;
+ }
+
+ string FirstName
+ {
+ get;
+ }
+
+ string LastName
+ {
+ get;
+ }
+
+ void OutPacket(Packet newPack);
+ void SendWearables(AvatarWearable[] wearables);
+ void SendStartPingCheck(byte seq);
+ void SendKillObject(ulong regionHandle, uint avatarLocalID);
+ 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(string message, LLUUID target, string fromName);
+ 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 );
+ void SendMapBlock(List mapBlocks);
+ void SendLocalTeleport(LLVector3 position, LLVector3 lookAt, uint flags);
+ void SendRegionTeleport(ulong regionHandle, byte simAccess, IPEndPoint regionExternalEndPoint, uint locationID, uint flags);
+ 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);
+ void SendAvatarTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, LLVector3 velocity);
+
+ void AttachObject(uint localID, LLQuaternion rotation, byte attachPoint);
+ void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimData primData, LLVector3 pos, LLQuaternion rotation, LLUUID textureID , uint flags);
+ void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimData primData, LLVector3 pos, LLUUID textureID, uint flags);
+ void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, LLQuaternion rotation, uint flags, LLUUID objectID, LLUUID ownerID, string text, uint parentID);
+ void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, uint flags, LLUUID objectID, LLUUID ownerID, string text, uint parentID);
+ void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, LLQuaternion rotation);
+
+ void SendInventoryFolderDetails(LLUUID ownerID, LLUUID folderID, List items);
+ void SendInventoryItemDetails(LLUUID ownerID, LLUUID folderID, InventoryItemBase item);
+ void SendNameReply(LLUUID profileId, string firstname, string lastname);
+
+
+ }
+}
diff --git a/OpenSim/Framework/General/Interfaces/ILocalStorage.cs b/OpenSim/Framework/General/Interfaces/ILocalStorage.cs
index 7093121..c7c0b5f 100644
--- a/OpenSim/Framework/General/Interfaces/ILocalStorage.cs
+++ b/OpenSim/Framework/General/Interfaces/ILocalStorage.cs
@@ -1,71 +1,71 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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;
-using OpenSim.Framework.Types;
-
-namespace OpenSim.Framework.Interfaces
-{
- ///
- /// ILocalStorage. Really hacked together right now needs cleaning up
- ///
- [System.Obsolete("Redundant, use IRegionDataStore instead")]
- public interface ILocalStorage
- {
- void Initialise(string datastore);
-
- void StorePrim(PrimData prim);
- void RemovePrim(LLUUID primID);
- void LoadPrimitives(ILocalStorageReceiver receiver);
-
- [System.Obsolete("Use DataStorage instead")]
- float[] LoadWorld();
- [System.Obsolete("Use DataStorage instead")]
- void SaveMap(float[] heightmap);
-
- void SaveParcels(ParcelData[] parcels);
- void SaveParcel(ParcelData parcel);
- void RemoveParcel(ParcelData parcel);
- void RemoveAllParcels();
- void LoadParcels(ILocalStorageParcelReceiver recv);
-
- void ShutDown();
- }
-
- public interface ILocalStorageReceiver
- {
- void PrimFromStorage(PrimData prim);
- }
-
- public interface ILocalStorageParcelReceiver
- {
- void ParcelFromStorage(ParcelData data);
- void NoParcelDataFromStorage();
- }
-}
-
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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;
+using OpenSim.Framework.Types;
+
+namespace OpenSim.Framework.Interfaces
+{
+ ///
+ /// ILocalStorage. Really hacked together right now needs cleaning up
+ ///
+ [System.Obsolete("Redundant, use IRegionDataStore instead")]
+ public interface ILocalStorage
+ {
+ void Initialise(string datastore);
+
+ void StorePrim(PrimData prim);
+ void RemovePrim(LLUUID primID);
+ void LoadPrimitives(ILocalStorageReceiver receiver);
+
+ [System.Obsolete("Use DataStorage instead")]
+ float[] LoadWorld();
+ [System.Obsolete("Use DataStorage instead")]
+ void SaveMap(float[] heightmap);
+
+ void SaveParcels(ParcelData[] parcels);
+ void SaveParcel(ParcelData parcel);
+ void RemoveParcel(ParcelData parcel);
+ void RemoveAllParcels();
+ void LoadParcels(ILocalStorageParcelReceiver recv);
+
+ void ShutDown();
+ }
+
+ public interface ILocalStorageReceiver
+ {
+ void PrimFromStorage(PrimData prim);
+ }
+
+ public interface ILocalStorageParcelReceiver
+ {
+ void ParcelFromStorage(ParcelData data);
+ void NoParcelDataFromStorage();
+ }
+}
+
diff --git a/OpenSim/Framework/General/Interfaces/IUserServer.cs b/OpenSim/Framework/General/Interfaces/IUserServer.cs
index b3700d2..ca5816d 100644
--- a/OpenSim/Framework/General/Interfaces/IUserServer.cs
+++ b/OpenSim/Framework/General/Interfaces/IUserServer.cs
@@ -1,39 +1,39 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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;
-using OpenSim.Framework.Inventory;
-
-namespace OpenSim.Framework.Interfaces
-{
- public interface IUserServer
- {
- AgentInventory RequestAgentsInventory(LLUUID agentID);
- void SetServerInfo(string ServerUrl, string SendKey, string RecvKey);
- bool UpdateAgentsInventory(LLUUID agentID, AgentInventory inventory);
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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;
+using OpenSim.Framework.Inventory;
+
+namespace OpenSim.Framework.Interfaces
+{
+ public interface IUserServer
+ {
+ AgentInventory RequestAgentsInventory(LLUUID agentID);
+ void SetServerInfo(string ServerUrl, string SendKey, string RecvKey);
+ bool UpdateAgentsInventory(LLUUID agentID, AgentInventory inventory);
+ }
+}
diff --git a/OpenSim/Framework/General/Interfaces/IWorld.cs b/OpenSim/Framework/General/Interfaces/IWorld.cs
index 204c01b..a474636 100644
--- a/OpenSim/Framework/General/Interfaces/IWorld.cs
+++ b/OpenSim/Framework/General/Interfaces/IWorld.cs
@@ -1,42 +1,42 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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;
-using OpenSim.Framework.Types;
-
-namespace OpenSim.Framework.Interfaces
-{
- public interface IWorld
- {
- void AddNewClient(IClientAPI client, bool child);
- void RemoveClient(LLUUID agentID);
-
- RegionInfo RegionInfo { get; }
- object SyncRoot { get; }
- uint NextLocalId { get; }
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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;
+using OpenSim.Framework.Types;
+
+namespace OpenSim.Framework.Interfaces
+{
+ public interface IWorld
+ {
+ void AddNewClient(IClientAPI client, bool child);
+ void RemoveClient(LLUUID agentID);
+
+ RegionInfo RegionInfo { get; }
+ object SyncRoot { get; }
+ uint NextLocalId { get; }
+ }
+}
diff --git a/OpenSim/Framework/General/NpcClientBase.cs b/OpenSim/Framework/General/NpcClientBase.cs
index 44d6d3c..044431b 100644
--- a/OpenSim/Framework/General/NpcClientBase.cs
+++ b/OpenSim/Framework/General/NpcClientBase.cs
@@ -1,127 +1,127 @@
-using System.Collections.Generic;
-using System.Net;
-using OpenSim.Framework.Interfaces;
-using OpenSim.Framework.Types;
-using OpenSim.Framework.Data;
-using libsecondlife;
-using libsecondlife.Packets;
-
-
-namespace OpenSim.Framework
-{
- public class NpcClientBase :IClientAPI
- {
- public event ImprovedInstantMessage OnInstantMessage;
- public event ChatFromViewer OnChatFromViewer;
- public event RezObject OnRezObject;
- public event ModifyTerrain OnModifyTerrain;
- public event SetAppearance OnSetAppearance;
- public event StartAnim OnStartAnim;
- public event LinkObjects OnLinkObjects;
- public event RequestMapBlocks OnRequestMapBlocks;
- public event TeleportLocationRequest OnTeleportLocationRequest;
-
- public event GenericCall4 OnDeRezObject;
- public event GenericCall OnRegionHandShakeReply;
- public event GenericCall OnRequestWearables;
- public event GenericCall2 OnCompleteMovementToRegion;
- public event UpdateAgent OnAgentUpdate;
- public event GenericCall OnRequestAvatarsData;
- public event AddNewPrim OnAddPrim;
- public event ObjectDuplicate OnObjectDuplicate;
- public event UpdateVector OnGrapObject;
- public event ObjectSelect OnDeGrapObject;
- public event MoveObject OnGrapUpdate;
-
- public event UpdateShape OnUpdatePrimShape;
- public event ObjectSelect OnObjectSelect;
- public event GenericCall7 OnObjectDescription;
- public event GenericCall7 OnObjectName;
- public event UpdatePrimFlags OnUpdatePrimFlags;
- public event UpdatePrimTexture OnUpdatePrimTexture;
- public event UpdateVector OnUpdatePrimGroupPosition;
- public event UpdateVector OnUpdatePrimSinglePosition;
- public event UpdatePrimRotation OnUpdatePrimGroupRotation;
- public event UpdatePrimSingleRotation OnUpdatePrimSingleRotation;
- public event UpdatePrimGroupRotation OnUpdatePrimGroupMouseRotation;
- public event UpdateVector OnUpdatePrimScale;
- public event StatusChange OnChildAgentStatus;
- public event GenericCall2 OnStopMovement;
- public event NewAvatar OnNewAvatar;
- public event GenericCall6 OnRemoveAvatar;
-
- public event UUIDNameRequest OnNameFromUUIDRequest;
-
- public event ParcelPropertiesRequest OnParcelPropertiesRequest;
- public event ParcelDivideRequest OnParcelDivideRequest;
- public event ParcelJoinRequest OnParcelJoinRequest;
- public event ParcelPropertiesUpdateRequest OnParcelPropertiesUpdateRequest;
- public event ParcelSelectObjects OnParcelSelectObjects;
- public event ParcelObjectOwnerRequest OnParcelObjectOwnerRequest;
- public event ObjectDeselect OnObjectDeselect;
-
-
- public event EstateOwnerMessageRequest OnEstateOwnerMessage;
-
- public virtual LLVector3 StartPos
- {
- get { return new LLVector3(); }
- set { }
- }
-
- public virtual LLUUID AgentId
- {
- get { return LLUUID.Random(); }
- }
-
- public virtual string FirstName
- {
- get { return ""; }
- }
-
- public virtual string LastName
- {
- get { return ""; }
- }
-
- public NpcClientBase()
- {
- }
-
- public virtual void OutPacket(Packet newPack){}
- public virtual void SendWearables(AvatarWearable[] wearables){}
- public virtual void SendStartPingCheck(byte seq){}
- public virtual void SendKillObject(ulong regionHandle, uint avatarLocalID){}
- public virtual void SendAnimation(LLUUID animID, int seq, LLUUID sourceAgentId){}
- public virtual void SendRegionHandshake(RegionInfo regionInfo){}
- public virtual void SendChatMessage(string message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID){}
- public virtual void SendChatMessage(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID){}
- public virtual void SendInstantMessage(string message, LLUUID target, string fromName){}
- public virtual void SendLayerData(float[] map){}
- public virtual void SendLayerData(int px, int py, float[] map){}
- public virtual void MoveAgentIntoRegion(RegionInfo regInfo, LLVector3 pos, LLVector3 look){}
- public virtual void InformClientOfNeighbour(ulong neighbourHandle, IPEndPoint neighbourExternalEndPoint){}
- public virtual AgentCircuitData RequestClientInfo() { return new AgentCircuitData(); }
- public virtual void CrossRegion(ulong newRegionHandle, LLVector3 pos, LLVector3 lookAt, IPEndPoint newRegionExternalEndPoint){}
- public virtual void SendMapBlock(List mapBlocks){}
- public virtual void SendLocalTeleport(LLVector3 position, LLVector3 lookAt, uint flags){}
- public virtual void SendRegionTeleport(ulong regionHandle, byte simAccess, IPEndPoint regionExternalEndPoint, uint locationID, uint flags){}
- public virtual void SendTeleportCancel(){}
- public virtual void SendTeleportLocationStart(){}
- public virtual void SendMoneyBalance(LLUUID transaction, bool success, byte[] description, int balance){}
-
- public virtual void SendAvatarData(ulong regionHandle, string firstName, string lastName, LLUUID avatarID, uint avatarLocalID, LLVector3 Pos, byte[] textureEntry){}
- public virtual void SendAvatarTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, LLVector3 velocity){}
-
- public virtual void AttachObject(uint localID, LLQuaternion rotation, byte attachPoint){}
- public virtual void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimData primData, LLVector3 pos, LLQuaternion rotation, LLUUID textureID, uint flags){}
- public virtual void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimData primData, LLVector3 pos, LLUUID textureID, uint flags){}
- public virtual void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, LLQuaternion rotation, uint flags, LLUUID objectID, LLUUID ownerID, string text, uint parentID){}
- public virtual void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, uint flags, LLUUID objectID, LLUUID ownerID, string text, uint parentID){}
- public virtual void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, LLQuaternion rotation){}
-
- public virtual void SendInventoryFolderDetails(LLUUID ownerID, LLUUID folderID, List items){}
- public virtual void SendInventoryItemDetails(LLUUID ownerID, LLUUID folderID, InventoryItemBase item){}
- public virtual void SendNameReply(LLUUID profileId, string firstname, string lastname){}
- }
-}
+using System.Collections.Generic;
+using System.Net;
+using OpenSim.Framework.Interfaces;
+using OpenSim.Framework.Types;
+using OpenSim.Framework.Data;
+using libsecondlife;
+using libsecondlife.Packets;
+
+
+namespace OpenSim.Framework
+{
+ public class NpcClientBase :IClientAPI
+ {
+ public event ImprovedInstantMessage OnInstantMessage;
+ public event ChatFromViewer OnChatFromViewer;
+ public event RezObject OnRezObject;
+ public event ModifyTerrain OnModifyTerrain;
+ public event SetAppearance OnSetAppearance;
+ public event StartAnim OnStartAnim;
+ public event LinkObjects OnLinkObjects;
+ public event RequestMapBlocks OnRequestMapBlocks;
+ public event TeleportLocationRequest OnTeleportLocationRequest;
+
+ public event GenericCall4 OnDeRezObject;
+ public event GenericCall OnRegionHandShakeReply;
+ public event GenericCall OnRequestWearables;
+ public event GenericCall2 OnCompleteMovementToRegion;
+ public event UpdateAgent OnAgentUpdate;
+ public event GenericCall OnRequestAvatarsData;
+ public event AddNewPrim OnAddPrim;
+ public event ObjectDuplicate OnObjectDuplicate;
+ public event UpdateVector OnGrapObject;
+ public event ObjectSelect OnDeGrapObject;
+ public event MoveObject OnGrapUpdate;
+
+ public event UpdateShape OnUpdatePrimShape;
+ public event ObjectSelect OnObjectSelect;
+ public event GenericCall7 OnObjectDescription;
+ public event GenericCall7 OnObjectName;
+ public event UpdatePrimFlags OnUpdatePrimFlags;
+ public event UpdatePrimTexture OnUpdatePrimTexture;
+ public event UpdateVector OnUpdatePrimGroupPosition;
+ public event UpdateVector OnUpdatePrimSinglePosition;
+ public event UpdatePrimRotation OnUpdatePrimGroupRotation;
+ public event UpdatePrimSingleRotation OnUpdatePrimSingleRotation;
+ public event UpdatePrimGroupRotation OnUpdatePrimGroupMouseRotation;
+ public event UpdateVector OnUpdatePrimScale;
+ public event StatusChange OnChildAgentStatus;
+ public event GenericCall2 OnStopMovement;
+ public event NewAvatar OnNewAvatar;
+ public event GenericCall6 OnRemoveAvatar;
+
+ public event UUIDNameRequest OnNameFromUUIDRequest;
+
+ public event ParcelPropertiesRequest OnParcelPropertiesRequest;
+ public event ParcelDivideRequest OnParcelDivideRequest;
+ public event ParcelJoinRequest OnParcelJoinRequest;
+ public event ParcelPropertiesUpdateRequest OnParcelPropertiesUpdateRequest;
+ public event ParcelSelectObjects OnParcelSelectObjects;
+ public event ParcelObjectOwnerRequest OnParcelObjectOwnerRequest;
+ public event ObjectDeselect OnObjectDeselect;
+
+
+ public event EstateOwnerMessageRequest OnEstateOwnerMessage;
+
+ public virtual LLVector3 StartPos
+ {
+ get { return new LLVector3(); }
+ set { }
+ }
+
+ public virtual LLUUID AgentId
+ {
+ get { return LLUUID.Random(); }
+ }
+
+ public virtual string FirstName
+ {
+ get { return ""; }
+ }
+
+ public virtual string LastName
+ {
+ get { return ""; }
+ }
+
+ public NpcClientBase()
+ {
+ }
+
+ public virtual void OutPacket(Packet newPack){}
+ public virtual void SendWearables(AvatarWearable[] wearables){}
+ public virtual void SendStartPingCheck(byte seq){}
+ public virtual void SendKillObject(ulong regionHandle, uint avatarLocalID){}
+ public virtual void SendAnimation(LLUUID animID, int seq, LLUUID sourceAgentId){}
+ public virtual void SendRegionHandshake(RegionInfo regionInfo){}
+ public virtual void SendChatMessage(string message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID){}
+ public virtual void SendChatMessage(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID){}
+ public virtual void SendInstantMessage(string message, LLUUID target, string fromName){}
+ public virtual void SendLayerData(float[] map){}
+ public virtual void SendLayerData(int px, int py, float[] map){}
+ public virtual void MoveAgentIntoRegion(RegionInfo regInfo, LLVector3 pos, LLVector3 look){}
+ public virtual void InformClientOfNeighbour(ulong neighbourHandle, IPEndPoint neighbourExternalEndPoint){}
+ public virtual AgentCircuitData RequestClientInfo() { return new AgentCircuitData(); }
+ public virtual void CrossRegion(ulong newRegionHandle, LLVector3 pos, LLVector3 lookAt, IPEndPoint newRegionExternalEndPoint){}
+ public virtual void SendMapBlock(List mapBlocks){}
+ public virtual void SendLocalTeleport(LLVector3 position, LLVector3 lookAt, uint flags){}
+ public virtual void SendRegionTeleport(ulong regionHandle, byte simAccess, IPEndPoint regionExternalEndPoint, uint locationID, uint flags){}
+ public virtual void SendTeleportCancel(){}
+ public virtual void SendTeleportLocationStart(){}
+ public virtual void SendMoneyBalance(LLUUID transaction, bool success, byte[] description, int balance){}
+
+ public virtual void SendAvatarData(ulong regionHandle, string firstName, string lastName, LLUUID avatarID, uint avatarLocalID, LLVector3 Pos, byte[] textureEntry){}
+ public virtual void SendAvatarTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, LLVector3 velocity){}
+
+ public virtual void AttachObject(uint localID, LLQuaternion rotation, byte attachPoint){}
+ public virtual void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimData primData, LLVector3 pos, LLQuaternion rotation, LLUUID textureID, uint flags){}
+ public virtual void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimData primData, LLVector3 pos, LLUUID textureID, uint flags){}
+ public virtual void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, LLQuaternion rotation, uint flags, LLUUID objectID, LLUUID ownerID, string text, uint parentID){}
+ public virtual void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, uint flags, LLUUID objectID, LLUUID ownerID, string text, uint parentID){}
+ public virtual void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, LLQuaternion rotation){}
+
+ public virtual void SendInventoryFolderDetails(LLUUID ownerID, LLUUID folderID, List items){}
+ public virtual void SendInventoryItemDetails(LLUUID ownerID, LLUUID folderID, InventoryItemBase item){}
+ public virtual void SendNameReply(LLUUID profileId, string firstname, string lastname){}
+ }
+}
diff --git a/OpenSim/Framework/General/Properties/AssemblyInfo.cs b/OpenSim/Framework/General/Properties/AssemblyInfo.cs
index 004040b..655cffc 100644
--- a/OpenSim/Framework/General/Properties/AssemblyInfo.cs
+++ b/OpenSim/Framework/General/Properties/AssemblyInfo.cs
@@ -1,31 +1,31 @@
-using System.Reflection;
-using System.Runtime.InteropServices;
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("OpenSim.FrameWork")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("OpenSim.FrameWork")]
-[assembly: AssemblyCopyright("Copyright © 2007")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("a08e20c7-f191-4137-b1f0-9291408fa521")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+using System.Reflection;
+using System.Runtime.InteropServices;
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("OpenSim.FrameWork")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("OpenSim.FrameWork")]
+[assembly: AssemblyCopyright("Copyright © 2007")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("a08e20c7-f191-4137-b1f0-9291408fa521")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/OpenSim/Framework/General/RegionCommsListener.cs b/OpenSim/Framework/General/RegionCommsListener.cs
index 4d6b59c..f5b8272 100644
--- a/OpenSim/Framework/General/RegionCommsListener.cs
+++ b/OpenSim/Framework/General/RegionCommsListener.cs
@@ -1,103 +1,103 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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;
-using OpenSim.Framework.Interfaces;
-using OpenSim.Framework.Types;
-
-using System.Collections.Generic;
-
-namespace OpenSim.Framework
-{
- public class RegionCommsListener :IRegionCommsListener
- {
- public event ExpectUserDelegate OnExpectUser;
- public event GenericCall2 OnExpectChildAgent;
- public event AgentCrossing OnAvatarCrossingIntoRegion;
- public event UpdateNeighbours OnNeighboursUpdate;
-
- ///
- ///
- ///
- ///
- ///
- public virtual bool TriggerExpectUser(ulong regionHandle, AgentCircuitData agent)
- {
- if(OnExpectUser != null)
- {
-
- OnExpectUser(regionHandle, agent);
- return true;
- }
-
- return false;
- }
-
- public virtual bool TriggerExpectAvatarCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position)
- {
- if (OnAvatarCrossingIntoRegion != null)
- {
- OnAvatarCrossingIntoRegion(regionHandle, agentID, position);
- return true;
- }
- return false;
- }
-
- ///
- ///
- ///
- /// TODO: Doesnt take any args??
- ///
- public virtual bool TriggerExpectChildAgent()
- {
- if (OnExpectChildAgent != null)
- {
- OnExpectChildAgent();
- return true;
- }
-
- return false;
- }
-
- ///
- ///
- ///
- /// Added to avoid a unused compiler warning on OnNeighboursUpdate, TODO: Check me
- ///
- ///
- public virtual bool TriggerOnNeighboursUpdate(List neighbours)
- {
- if (OnNeighboursUpdate != null)
- {
- OnNeighboursUpdate(neighbours);
- return true;
- }
-
- return false;
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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;
+using OpenSim.Framework.Interfaces;
+using OpenSim.Framework.Types;
+
+using System.Collections.Generic;
+
+namespace OpenSim.Framework
+{
+ public class RegionCommsListener :IRegionCommsListener
+ {
+ public event ExpectUserDelegate OnExpectUser;
+ public event GenericCall2 OnExpectChildAgent;
+ public event AgentCrossing OnAvatarCrossingIntoRegion;
+ public event UpdateNeighbours OnNeighboursUpdate;
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ public virtual bool TriggerExpectUser(ulong regionHandle, AgentCircuitData agent)
+ {
+ if(OnExpectUser != null)
+ {
+
+ OnExpectUser(regionHandle, agent);
+ return true;
+ }
+
+ return false;
+ }
+
+ public virtual bool TriggerExpectAvatarCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position)
+ {
+ if (OnAvatarCrossingIntoRegion != null)
+ {
+ OnAvatarCrossingIntoRegion(regionHandle, agentID, position);
+ return true;
+ }
+ return false;
+ }
+
+ ///
+ ///
+ ///
+ /// TODO: Doesnt take any args??
+ ///
+ public virtual bool TriggerExpectChildAgent()
+ {
+ if (OnExpectChildAgent != null)
+ {
+ OnExpectChildAgent();
+ return true;
+ }
+
+ return false;
+ }
+
+ ///
+ ///
+ ///
+ /// Added to avoid a unused compiler warning on OnNeighboursUpdate, TODO: Check me
+ ///
+ ///
+ public virtual bool TriggerOnNeighboursUpdate(List neighbours)
+ {
+ if (OnNeighboursUpdate != null)
+ {
+ OnNeighboursUpdate(neighbours);
+ return true;
+ }
+
+ return false;
+ }
+ }
+}
diff --git a/OpenSim/Framework/General/Remoting.cs b/OpenSim/Framework/General/Remoting.cs
index df32db2..0e94b90 100644
--- a/OpenSim/Framework/General/Remoting.cs
+++ b/OpenSim/Framework/General/Remoting.cs
@@ -1,135 +1,135 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Security.Cryptography;
-using System.Text;
-
-namespace OpenSim.Framework
-{
- ///
- /// NEEDS AUDIT.
- ///
- ///
- /// Suggested implementation
- /// Store two digests for each foreign host. A local copy of the local hash using the local challenge (when issued), and a local copy of the remote hash using the remote challenge.
- /// When sending data to the foreign host - run 'Sign' on the data and affix the returned byte[] to the message.
- /// When recieving data from the foreign host - run 'Authenticate' against the data and the attached byte[].
- /// Both hosts should be performing these operations for this to be effective.
- ///
- class RemoteDigest
- {
- private byte[] currentHash;
- private byte[] secret;
-
- private SHA512Managed SHA512;
-
- ///
- /// Initialises a new RemoteDigest authentication mechanism
- ///
- /// Needs an audit by a cryptographic professional - was not "roll your own"'d by choice but rather a serious lack of decent authentication mechanisms in .NET remoting
- /// The shared secret between systems (for inter-sim, this is provided in encrypted form during connection, for grid this is input manually in setup)
- /// Binary salt - some common value - to be decided what
- /// The challenge key provided by the third party
- public RemoteDigest(string sharedSecret, byte[] salt, string challenge)
- {
- SHA512 = new SHA512Managed();
- Rfc2898DeriveBytes RFC2898 = new Rfc2898DeriveBytes(sharedSecret,salt);
- secret = RFC2898.GetBytes(512);
- ASCIIEncoding ASCII = new ASCIIEncoding();
-
- currentHash = SHA512.ComputeHash(AppendArrays(secret, ASCII.GetBytes(challenge)));
- }
-
- ///
- /// Authenticates a piece of incoming data against the local digest. Upon successful authentication, digest string is incremented.
- ///
- /// The incoming data
- /// The remote digest
- ///
- public bool Authenticate(byte[] data, byte[] digest)
- {
- byte[] newHash = SHA512.ComputeHash(AppendArrays(AppendArrays(currentHash, secret), data));
- if (digest == newHash)
- {
- currentHash = newHash;
- return true;
- }
- else
- {
- throw new Exception("Hash comparison failed. Key resync required.");
- }
- }
-
- ///
- /// Signs a new bit of data with the current hash. Returns a byte array which should be affixed to the message.
- /// Signing a piece of data will automatically increment the hash - if you sign data and do not send it, the
- /// hashes will get out of sync and throw an exception when validation is attempted.
- ///
- /// The outgoing data
- /// The local digest
- public byte[] Sign(byte[] data)
- {
- currentHash = SHA512.ComputeHash(AppendArrays(AppendArrays(currentHash, secret), data));
- return currentHash;
- }
-
- ///
- /// Generates a new challenge string to be issued to a foreign host. Challenges are 1024-bit (effective strength of less than 512-bits) messages generated using the Crytographic Random Number Generator.
- ///
- /// A 128-character hexadecimal string containing the challenge.
- public static string GenerateChallenge()
- {
- RNGCryptoServiceProvider RNG = new RNGCryptoServiceProvider();
- byte[] bytes = new byte[64];
- RNG.GetBytes(bytes);
-
- StringBuilder sb = new StringBuilder(bytes.Length * 2);
- foreach (byte b in bytes)
- {
- sb.AppendFormat("{0:x2}", b);
- }
- return sb.ToString();
- }
-
- ///
- /// Helper function, merges two byte arrays
- ///
- /// Sourced from MSDN Forum
- /// A
- /// B
- /// C
- private byte[] AppendArrays(byte[] a, byte[] b)
- {
- byte[] c = new byte[a.Length + b.Length];
- Buffer.BlockCopy(a, 0, c, 0, a.Length);
- Buffer.BlockCopy(b, 0, c, a.Length, b.Length);
- return c;
- }
-
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Security.Cryptography;
+using System.Text;
+
+namespace OpenSim.Framework
+{
+ ///
+ /// NEEDS AUDIT.
+ ///
+ ///
+ /// Suggested implementation
+ /// Store two digests for each foreign host. A local copy of the local hash using the local challenge (when issued), and a local copy of the remote hash using the remote challenge.
+ /// When sending data to the foreign host - run 'Sign' on the data and affix the returned byte[] to the message.
+ /// When recieving data from the foreign host - run 'Authenticate' against the data and the attached byte[].
+ /// Both hosts should be performing these operations for this to be effective.
+ ///
+ class RemoteDigest
+ {
+ private byte[] currentHash;
+ private byte[] secret;
+
+ private SHA512Managed SHA512;
+
+ ///
+ /// Initialises a new RemoteDigest authentication mechanism
+ ///
+ /// Needs an audit by a cryptographic professional - was not "roll your own"'d by choice but rather a serious lack of decent authentication mechanisms in .NET remoting
+ /// The shared secret between systems (for inter-sim, this is provided in encrypted form during connection, for grid this is input manually in setup)
+ /// Binary salt - some common value - to be decided what
+ /// The challenge key provided by the third party
+ public RemoteDigest(string sharedSecret, byte[] salt, string challenge)
+ {
+ SHA512 = new SHA512Managed();
+ Rfc2898DeriveBytes RFC2898 = new Rfc2898DeriveBytes(sharedSecret,salt);
+ secret = RFC2898.GetBytes(512);
+ ASCIIEncoding ASCII = new ASCIIEncoding();
+
+ currentHash = SHA512.ComputeHash(AppendArrays(secret, ASCII.GetBytes(challenge)));
+ }
+
+ ///
+ /// Authenticates a piece of incoming data against the local digest. Upon successful authentication, digest string is incremented.
+ ///
+ /// The incoming data
+ /// The remote digest
+ ///
+ public bool Authenticate(byte[] data, byte[] digest)
+ {
+ byte[] newHash = SHA512.ComputeHash(AppendArrays(AppendArrays(currentHash, secret), data));
+ if (digest == newHash)
+ {
+ currentHash = newHash;
+ return true;
+ }
+ else
+ {
+ throw new Exception("Hash comparison failed. Key resync required.");
+ }
+ }
+
+ ///
+ /// Signs a new bit of data with the current hash. Returns a byte array which should be affixed to the message.
+ /// Signing a piece of data will automatically increment the hash - if you sign data and do not send it, the
+ /// hashes will get out of sync and throw an exception when validation is attempted.
+ ///
+ /// The outgoing data
+ /// The local digest
+ public byte[] Sign(byte[] data)
+ {
+ currentHash = SHA512.ComputeHash(AppendArrays(AppendArrays(currentHash, secret), data));
+ return currentHash;
+ }
+
+ ///
+ /// Generates a new challenge string to be issued to a foreign host. Challenges are 1024-bit (effective strength of less than 512-bits) messages generated using the Crytographic Random Number Generator.
+ ///
+ /// A 128-character hexadecimal string containing the challenge.
+ public static string GenerateChallenge()
+ {
+ RNGCryptoServiceProvider RNG = new RNGCryptoServiceProvider();
+ byte[] bytes = new byte[64];
+ RNG.GetBytes(bytes);
+
+ StringBuilder sb = new StringBuilder(bytes.Length * 2);
+ foreach (byte b in bytes)
+ {
+ sb.AppendFormat("{0:x2}", b);
+ }
+ return sb.ToString();
+ }
+
+ ///
+ /// Helper function, merges two byte arrays
+ ///
+ /// Sourced from MSDN Forum
+ /// A
+ /// B
+ /// C
+ private byte[] AppendArrays(byte[] a, byte[] b)
+ {
+ byte[] c = new byte[a.Length + b.Length];
+ Buffer.BlockCopy(a, 0, c, 0, a.Length);
+ Buffer.BlockCopy(b, 0, c, a.Length, b.Length);
+ return c;
+ }
+
+ }
+}
diff --git a/OpenSim/Framework/General/Types/AgentCiruitData.cs b/OpenSim/Framework/General/Types/AgentCiruitData.cs
index ed9ee3c..36bb26d 100644
--- a/OpenSim/Framework/General/Types/AgentCiruitData.cs
+++ b/OpenSim/Framework/General/Types/AgentCiruitData.cs
@@ -1,49 +1,49 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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;
-using System;
-
-namespace OpenSim.Framework.Types
-{
- [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://www.openmetaverse.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;
+using System;
+
+namespace OpenSim.Framework.Types
+{
+ [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 = "";
+ }
+}
diff --git a/OpenSim/Framework/General/Types/AgentWearable.cs b/OpenSim/Framework/General/Types/AgentWearable.cs
index 6152b7d..404df0d 100644
--- a/OpenSim/Framework/General/Types/AgentWearable.cs
+++ b/OpenSim/Framework/General/Types/AgentWearable.cs
@@ -1,57 +1,57 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Types
-{
- 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 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 = LLUUID.Random();
- return defaultWearables;
- }
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Types
+{
+ 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 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 = LLUUID.Random();
+ return defaultWearables;
+ }
+ }
+ }
+}
diff --git a/OpenSim/Framework/General/Types/AssetBase.cs b/OpenSim/Framework/General/Types/AssetBase.cs
index c203f51..181e1e3 100644
--- a/OpenSim/Framework/General/Types/AssetBase.cs
+++ b/OpenSim/Framework/General/Types/AssetBase.cs
@@ -1,46 +1,46 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Types
-{
- public class AssetBase
- {
- public byte[] Data;
- public LLUUID FullID;
- public sbyte Type;
- public sbyte InvType;
- public string Name;
- public string Description;
-
- public AssetBase()
- {
-
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Types
+{
+ public class AssetBase
+ {
+ public byte[] Data;
+ public LLUUID FullID;
+ public sbyte Type;
+ public sbyte InvType;
+ public string Name;
+ public string Description;
+
+ public AssetBase()
+ {
+
+ }
+ }
+}
diff --git a/OpenSim/Framework/General/Types/AssetLandmark.cs b/OpenSim/Framework/General/Types/AssetLandmark.cs
index 8aa872e..7cec6f6 100644
--- a/OpenSim/Framework/General/Types/AssetLandmark.cs
+++ b/OpenSim/Framework/General/Types/AssetLandmark.cs
@@ -1,59 +1,59 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Types
-{
- public class AssetLandmark : AssetBase
- {
- public int Version;
- public LLVector3 Position;
- public LLUUID RegionID;
-
- public AssetLandmark(AssetBase a)
- {
- this.Data = a.Data;
- this.FullID = a.FullID;
- this.Type = a.Type;
- this.InvType = a.InvType;
- this.Name = a.Name;
- this.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://www.openmetaverse.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.Types
+{
+ public class AssetLandmark : AssetBase
+ {
+ public int Version;
+ public LLVector3 Position;
+ public LLUUID RegionID;
+
+ public AssetLandmark(AssetBase a)
+ {
+ this.Data = a.Data;
+ this.FullID = a.FullID;
+ this.Type = a.Type;
+ this.InvType = a.InvType;
+ this.Name = a.Name;
+ this.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);
+ }
+ }
+}
diff --git a/OpenSim/Framework/General/Types/AssetStorage.cs b/OpenSim/Framework/General/Types/AssetStorage.cs
index 3681336..d49e9e8 100644
--- a/OpenSim/Framework/General/Types/AssetStorage.cs
+++ b/OpenSim/Framework/General/Types/AssetStorage.cs
@@ -1,47 +1,47 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Types
-{
- 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://www.openmetaverse.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.Types
+{
+ public class AssetStorage
+ {
+
+ public AssetStorage() {
+ }
+
+ public AssetStorage(LLUUID assetUUID) {
+ UUID=assetUUID;
+ }
+
+ public byte[] Data;
+ public sbyte Type;
+ public string Name;
+ public LLUUID UUID;
+ }
+}
diff --git a/OpenSim/Framework/General/Types/EstateSettings.cs b/OpenSim/Framework/General/Types/EstateSettings.cs
index 436b109..25b3b18 100644
--- a/OpenSim/Framework/General/Types/EstateSettings.cs
+++ b/OpenSim/Framework/General/Types/EstateSettings.cs
@@ -1,93 +1,93 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Types
-{
- public class EstateSettings
- {
- //Settings to this island
- public float billableFactor = (float)0.0;
- public uint estateID = 0;
- public uint parentEstateID = 0;
-
- public byte maxAgents = 40;
- public float objectBonusFactor = (float)1.0;
-
- public int redirectGridX = 0; //??
- public int redirectGridY = 0; //??
- public Simulator.RegionFlags regionFlags = Simulator.RegionFlags.None; //Booleam values of various region settings
- public Simulator.SimAccess simAccess = Simulator.SimAccess.Mature; //Is sim PG, Mature, etc? Mature by default.
- public float sunHour = 0;
-
- public float terrainRaiseLimit = 0;
- public float terrainLowerLimit = 0;
-
- public bool useFixedSun = false;
- public int pricePerMeter = 1;
-
- public ushort regionWaterHeight = 20;
- public bool regionAllowTerraform = true;
-
- // Region Information
- // Low resolution 'base' textures. No longer used.
- public LLUUID terrainBase0 = new LLUUID("b8d3965a-ad78-bf43-699b-bff8eca6c975"); // Default
- public LLUUID terrainBase1 = new LLUUID("abb783e6-3e93-26c0-248a-247666855da3"); // Default
- public LLUUID terrainBase2 = new LLUUID("179cdabd-398a-9b6b-1391-4dc333ba321f"); // Default
- public LLUUID terrainBase3 = new LLUUID("beb169c7-11ea-fff2-efe5-0f24dc881df2"); // Default
-
- // Higher resolution terrain textures
- public LLUUID terrainDetail0 = new LLUUID("00000000-0000-0000-0000-000000000000");
- public LLUUID terrainDetail1 = new LLUUID("00000000-0000-0000-0000-000000000000");
- public LLUUID terrainDetail2 = new LLUUID("00000000-0000-0000-0000-000000000000");
- public LLUUID terrainDetail3 = new LLUUID("00000000-0000-0000-0000-000000000000");
-
- // First quad - each point is bilinearly interpolated at each meter of terrain
- public float terrainStartHeight0 = 10.0f;
- public float terrainStartHeight1 = 10.0f;
- public float terrainStartHeight2 = 10.0f;
- public float terrainStartHeight3 = 10.0f;
-
- // 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]
- public float terrainHeightRange0 = 60.0f; //00
- public float terrainHeightRange1 = 60.0f; //01
- public float terrainHeightRange2 = 60.0f; //10
- public float terrainHeightRange3 = 60.0f; //11
-
- // Terrain Default (Must be in F32 Format!)
- public string terrainFile = "default.r32";
- public double terrainMultiplier = 60.0;
- public float waterHeight = (float)20.0;
-
- public LLUUID terrainImageID = LLUUID.Zero; // the assetID that is the current Map image for this region
-
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Types
+{
+ public class EstateSettings
+ {
+ //Settings to this island
+ public float billableFactor = (float)0.0;
+ public uint estateID = 0;
+ public uint parentEstateID = 0;
+
+ public byte maxAgents = 40;
+ public float objectBonusFactor = (float)1.0;
+
+ public int redirectGridX = 0; //??
+ public int redirectGridY = 0; //??
+ public Simulator.RegionFlags regionFlags = Simulator.RegionFlags.None; //Booleam values of various region settings
+ public Simulator.SimAccess simAccess = Simulator.SimAccess.Mature; //Is sim PG, Mature, etc? Mature by default.
+ public float sunHour = 0;
+
+ public float terrainRaiseLimit = 0;
+ public float terrainLowerLimit = 0;
+
+ public bool useFixedSun = false;
+ public int pricePerMeter = 1;
+
+ public ushort regionWaterHeight = 20;
+ public bool regionAllowTerraform = true;
+
+ // Region Information
+ // Low resolution 'base' textures. No longer used.
+ public LLUUID terrainBase0 = new LLUUID("b8d3965a-ad78-bf43-699b-bff8eca6c975"); // Default
+ public LLUUID terrainBase1 = new LLUUID("abb783e6-3e93-26c0-248a-247666855da3"); // Default
+ public LLUUID terrainBase2 = new LLUUID("179cdabd-398a-9b6b-1391-4dc333ba321f"); // Default
+ public LLUUID terrainBase3 = new LLUUID("beb169c7-11ea-fff2-efe5-0f24dc881df2"); // Default
+
+ // Higher resolution terrain textures
+ public LLUUID terrainDetail0 = new LLUUID("00000000-0000-0000-0000-000000000000");
+ public LLUUID terrainDetail1 = new LLUUID("00000000-0000-0000-0000-000000000000");
+ public LLUUID terrainDetail2 = new LLUUID("00000000-0000-0000-0000-000000000000");
+ public LLUUID terrainDetail3 = new LLUUID("00000000-0000-0000-0000-000000000000");
+
+ // First quad - each point is bilinearly interpolated at each meter of terrain
+ public float terrainStartHeight0 = 10.0f;
+ public float terrainStartHeight1 = 10.0f;
+ public float terrainStartHeight2 = 10.0f;
+ public float terrainStartHeight3 = 10.0f;
+
+ // 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]
+ public float terrainHeightRange0 = 60.0f; //00
+ public float terrainHeightRange1 = 60.0f; //01
+ public float terrainHeightRange2 = 60.0f; //10
+ public float terrainHeightRange3 = 60.0f; //11
+
+ // Terrain Default (Must be in F32 Format!)
+ public string terrainFile = "default.r32";
+ public double terrainMultiplier = 60.0;
+ public float waterHeight = (float)20.0;
+
+ public LLUUID terrainImageID = LLUUID.Zero; // the assetID that is the current Map image for this region
+
+ }
+}
diff --git a/OpenSim/Framework/General/Types/Login.cs b/OpenSim/Framework/General/Types/Login.cs
index d54c019..3aaf613 100644
--- a/OpenSim/Framework/General/Types/Login.cs
+++ b/OpenSim/Framework/General/Types/Login.cs
@@ -1,49 +1,49 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Types
-{
- 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 Login()
- {
-
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Types
+{
+ 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 Login()
+ {
+
+ }
+ }
+}
diff --git a/OpenSim/Framework/General/Types/MapBlockData.cs b/OpenSim/Framework/General/Types/MapBlockData.cs
index fbb3b73..212ce4b 100644
--- a/OpenSim/Framework/General/Types/MapBlockData.cs
+++ b/OpenSim/Framework/General/Types/MapBlockData.cs
@@ -1,23 +1,23 @@
-using System;
-using libsecondlife;
-
-namespace OpenSim.Framework.Types
-{
- 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()
- {
-
- }
- }
-}
+using System;
+using libsecondlife;
+
+namespace OpenSim.Framework.Types
+{
+ 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()
+ {
+
+ }
+ }
+}
diff --git a/OpenSim/Framework/General/Types/NeighbourInfo.cs b/OpenSim/Framework/General/Types/NeighbourInfo.cs
index bb67981..7e83ffc 100644
--- a/OpenSim/Framework/General/Types/NeighbourInfo.cs
+++ b/OpenSim/Framework/General/Types/NeighbourInfo.cs
@@ -1,42 +1,42 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Types
-{
- 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://www.openmetaverse.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.Types
+{
+ public class NeighbourInfo
+ {
+ public NeighbourInfo()
+ {
+ }
+
+ public ulong regionhandle;
+ public uint RegionLocX;
+ public uint RegionLocY;
+ public string sim_ip;
+ public uint sim_port;
+ }
+}
diff --git a/OpenSim/Framework/General/Types/NetworkServersInfo.cs b/OpenSim/Framework/General/Types/NetworkServersInfo.cs
index 900354c..6259d7b 100644
--- a/OpenSim/Framework/General/Types/NetworkServersInfo.cs
+++ b/OpenSim/Framework/General/Types/NetworkServersInfo.cs
@@ -1,219 +1,219 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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 OpenSim.Framework.Console;
-using OpenSim.Framework.Interfaces;
-
-namespace OpenSim.Framework.Types
-{
- public class NetworkServersInfo
- {
- public string AssetURL = "http://127.0.0.1:8003/";
- 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 uint DefaultHomeLocX = 1000;
- public uint DefaultHomeLocY = 1000;
-
- public int HttpListenerPort = 9000;
- public int RemotingListenerPort = 8895;
-
- public void InitConfig(bool sandboxMode, IGenericConfig configData)
- {
- this.isSandbox = sandboxMode;
-
- try
- {
- string attri = "";
-
- attri = "";
- attri = configData.GetAttribute("HttpListenerPort");
- if (attri == "")
- {
- string location = MainLog.Instance.CmdPrompt("Http Listener Port", "9000");
- configData.SetAttribute("HttpListenerPort", location);
- this.HttpListenerPort = Convert.ToInt32(location);
- }
- else
- {
- this.HttpListenerPort = Convert.ToInt32(attri);
- }
-
- attri = "";
- attri = configData.GetAttribute("RemotingListenerPort");
- if (attri == "")
- {
- string location = MainLog.Instance.CmdPrompt("Remoting Listener Port", "8895");
- configData.SetAttribute("RemotingListenerPort", location);
- this.RemotingListenerPort = Convert.ToInt32(location);
- }
- else
- {
- this.RemotingListenerPort = Convert.ToInt32(attri);
- }
-
- if (sandboxMode)
- {
- // default home location X
- attri = "";
- attri = configData.GetAttribute("DefaultLocationX");
- if (attri == "")
- {
- string location = MainLog.Instance.CmdPrompt("Default Home Location X", "1000");
- configData.SetAttribute("DefaultLocationX", location);
- this.DefaultHomeLocX = (uint)Convert.ToUInt32(location);
- }
- else
- {
- this.DefaultHomeLocX = (uint)Convert.ToUInt32(attri);
- }
-
- // default home location Y
- attri = "";
- attri = configData.GetAttribute("DefaultLocationY");
- if (attri == "")
- {
- string location = MainLog.Instance.CmdPrompt("Default Home Location Y", "1000");
- configData.SetAttribute("DefaultLocationY", location);
- this.DefaultHomeLocY = (uint)Convert.ToUInt32(location);
- }
- else
- {
- this.DefaultHomeLocY = (uint)Convert.ToUInt32(attri);
- }
- }
- if (!isSandbox)
- {
- //Grid Server
- attri = "";
- attri = configData.GetAttribute("GridServerURL");
- if (attri == "")
- {
- this.GridURL = MainLog.Instance.CmdPrompt("Grid server URL", "http://127.0.0.1:8001/");
- configData.SetAttribute("GridServerURL", this.GridURL);
- }
- else
- {
- this.GridURL = attri;
- }
-
- //Grid Send Key
- attri = "";
- attri = configData.GetAttribute("GridSendKey");
- if (attri == "")
- {
- this.GridSendKey = MainLog.Instance.CmdPrompt("Key to send to grid server", "null");
- configData.SetAttribute("GridSendKey", this.GridSendKey);
- }
- else
- {
- this.GridSendKey = attri;
- }
-
- //Grid Receive Key
- attri = "";
- attri = configData.GetAttribute("GridRecvKey");
- if (attri == "")
- {
- this.GridRecvKey = MainLog.Instance.CmdPrompt("Key to expect from grid server", "null");
- configData.SetAttribute("GridRecvKey", this.GridRecvKey);
- }
- else
- {
- this.GridRecvKey = attri;
- }
-
- //Grid Server
- attri = "";
- attri = configData.GetAttribute("UserServerURL");
- if (attri == "")
- {
- this.UserURL= MainLog.Instance.CmdPrompt("User server URL", "http://127.0.0.1:8002/");
- configData.SetAttribute("UserServerURL", this.UserURL);
- }
- else
- {
- this.UserURL = attri;
- }
-
- //Grid Send Key
- attri = "";
- attri = configData.GetAttribute("UserSendKey");
- if (attri == "")
- {
- this.UserSendKey = MainLog.Instance.CmdPrompt("Key to send to user server", "null");
- configData.SetAttribute("UserSendKey", this.UserSendKey);
- }
- else
- {
- this.UserSendKey = attri;
- }
-
- //Grid Receive Key
- attri = "";
- attri = configData.GetAttribute("UserRecvKey");
- if (attri == "")
- {
- this.UserRecvKey = MainLog.Instance.CmdPrompt("Key to expect from user server", "null");
- configData.SetAttribute("UserRecvKey", this.UserRecvKey);
- }
- else
- {
- this.UserRecvKey = attri;
- }
-
- attri = "";
- attri = configData.GetAttribute("AssetServerURL");
- if (attri == "")
- {
- this.AssetURL = MainLog.Instance.CmdPrompt("Asset server URL", "http://127.0.0.1:8003/");
- configData.SetAttribute("AssetServerURL", this.GridURL);
- }
- else
- {
- this.AssetURL = attri;
- }
-
- }
- configData.Commit();
- }
- catch (Exception e)
- {
- MainLog.Instance.Warn("Config.cs:InitConfig() - Exception occured");
- MainLog.Instance.Warn(e.ToString());
- }
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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 OpenSim.Framework.Console;
+using OpenSim.Framework.Interfaces;
+
+namespace OpenSim.Framework.Types
+{
+ public class NetworkServersInfo
+ {
+ public string AssetURL = "http://127.0.0.1:8003/";
+ 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 uint DefaultHomeLocX = 1000;
+ public uint DefaultHomeLocY = 1000;
+
+ public int HttpListenerPort = 9000;
+ public int RemotingListenerPort = 8895;
+
+ public void InitConfig(bool sandboxMode, IGenericConfig configData)
+ {
+ this.isSandbox = sandboxMode;
+
+ try
+ {
+ string attri = "";
+
+ attri = "";
+ attri = configData.GetAttribute("HttpListenerPort");
+ if (attri == "")
+ {
+ string location = MainLog.Instance.CmdPrompt("Http Listener Port", "9000");
+ configData.SetAttribute("HttpListenerPort", location);
+ this.HttpListenerPort = Convert.ToInt32(location);
+ }
+ else
+ {
+ this.HttpListenerPort = Convert.ToInt32(attri);
+ }
+
+ attri = "";
+ attri = configData.GetAttribute("RemotingListenerPort");
+ if (attri == "")
+ {
+ string location = MainLog.Instance.CmdPrompt("Remoting Listener Port", "8895");
+ configData.SetAttribute("RemotingListenerPort", location);
+ this.RemotingListenerPort = Convert.ToInt32(location);
+ }
+ else
+ {
+ this.RemotingListenerPort = Convert.ToInt32(attri);
+ }
+
+ if (sandboxMode)
+ {
+ // default home location X
+ attri = "";
+ attri = configData.GetAttribute("DefaultLocationX");
+ if (attri == "")
+ {
+ string location = MainLog.Instance.CmdPrompt("Default Home Location X", "1000");
+ configData.SetAttribute("DefaultLocationX", location);
+ this.DefaultHomeLocX = (uint)Convert.ToUInt32(location);
+ }
+ else
+ {
+ this.DefaultHomeLocX = (uint)Convert.ToUInt32(attri);
+ }
+
+ // default home location Y
+ attri = "";
+ attri = configData.GetAttribute("DefaultLocationY");
+ if (attri == "")
+ {
+ string location = MainLog.Instance.CmdPrompt("Default Home Location Y", "1000");
+ configData.SetAttribute("DefaultLocationY", location);
+ this.DefaultHomeLocY = (uint)Convert.ToUInt32(location);
+ }
+ else
+ {
+ this.DefaultHomeLocY = (uint)Convert.ToUInt32(attri);
+ }
+ }
+ if (!isSandbox)
+ {
+ //Grid Server
+ attri = "";
+ attri = configData.GetAttribute("GridServerURL");
+ if (attri == "")
+ {
+ this.GridURL = MainLog.Instance.CmdPrompt("Grid server URL", "http://127.0.0.1:8001/");
+ configData.SetAttribute("GridServerURL", this.GridURL);
+ }
+ else
+ {
+ this.GridURL = attri;
+ }
+
+ //Grid Send Key
+ attri = "";
+ attri = configData.GetAttribute("GridSendKey");
+ if (attri == "")
+ {
+ this.GridSendKey = MainLog.Instance.CmdPrompt("Key to send to grid server", "null");
+ configData.SetAttribute("GridSendKey", this.GridSendKey);
+ }
+ else
+ {
+ this.GridSendKey = attri;
+ }
+
+ //Grid Receive Key
+ attri = "";
+ attri = configData.GetAttribute("GridRecvKey");
+ if (attri == "")
+ {
+ this.GridRecvKey = MainLog.Instance.CmdPrompt("Key to expect from grid server", "null");
+ configData.SetAttribute("GridRecvKey", this.GridRecvKey);
+ }
+ else
+ {
+ this.GridRecvKey = attri;
+ }
+
+ //Grid Server
+ attri = "";
+ attri = configData.GetAttribute("UserServerURL");
+ if (attri == "")
+ {
+ this.UserURL= MainLog.Instance.CmdPrompt("User server URL", "http://127.0.0.1:8002/");
+ configData.SetAttribute("UserServerURL", this.UserURL);
+ }
+ else
+ {
+ this.UserURL = attri;
+ }
+
+ //Grid Send Key
+ attri = "";
+ attri = configData.GetAttribute("UserSendKey");
+ if (attri == "")
+ {
+ this.UserSendKey = MainLog.Instance.CmdPrompt("Key to send to user server", "null");
+ configData.SetAttribute("UserSendKey", this.UserSendKey);
+ }
+ else
+ {
+ this.UserSendKey = attri;
+ }
+
+ //Grid Receive Key
+ attri = "";
+ attri = configData.GetAttribute("UserRecvKey");
+ if (attri == "")
+ {
+ this.UserRecvKey = MainLog.Instance.CmdPrompt("Key to expect from user server", "null");
+ configData.SetAttribute("UserRecvKey", this.UserRecvKey);
+ }
+ else
+ {
+ this.UserRecvKey = attri;
+ }
+
+ attri = "";
+ attri = configData.GetAttribute("AssetServerURL");
+ if (attri == "")
+ {
+ this.AssetURL = MainLog.Instance.CmdPrompt("Asset server URL", "http://127.0.0.1:8003/");
+ configData.SetAttribute("AssetServerURL", this.GridURL);
+ }
+ else
+ {
+ this.AssetURL = attri;
+ }
+
+ }
+ configData.Commit();
+ }
+ catch (Exception e)
+ {
+ MainLog.Instance.Warn("Config.cs:InitConfig() - Exception occured");
+ MainLog.Instance.Warn(e.ToString());
+ }
+ }
+ }
+}
diff --git a/OpenSim/Framework/General/Types/ParcelData.cs b/OpenSim/Framework/General/Types/ParcelData.cs
index 17de655..5626299 100644
--- a/OpenSim/Framework/General/Types/ParcelData.cs
+++ b/OpenSim/Framework/General/Types/ParcelData.cs
@@ -1,120 +1,120 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Types
-{
-
- public class ParcelData
- {
- public byte[] parcelBitmapByteArray = new byte[512];
- public string parcelName = "Your Parcel";
- public string parcelDesc = "";
- 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 parcelStatus = Parcel.ParcelStatus.Leased;
- public uint parcelFlags = (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;
- 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 ParcelData()
- {
- globalID = LLUUID.Random();
- }
-
- public ParcelData Copy()
- {
- ParcelData parcelData = new ParcelData();
-
- parcelData.AABBMax = this.AABBMax;
- parcelData.AABBMin = this.AABBMin;
- parcelData.area = this.area;
- parcelData.auctionID = this.auctionID;
- parcelData.authBuyerID = this.authBuyerID;
- parcelData.category = this.category;
- parcelData.claimDate = this.claimDate;
- parcelData.claimPrice = this.claimPrice;
- parcelData.globalID = this.globalID;
- parcelData.groupID = this.groupID;
- parcelData.groupPrims = this.groupPrims;
- parcelData.otherPrims = this.otherPrims;
- parcelData.ownerPrims = this.ownerPrims;
- parcelData.selectedPrims = this.selectedPrims;
- parcelData.isGroupOwned = this.isGroupOwned;
- parcelData.localID = this.localID;
- parcelData.landingType = this.landingType;
- parcelData.mediaAutoScale = this.mediaAutoScale;
- parcelData.mediaID = this.mediaID;
- parcelData.mediaURL = this.mediaURL;
- parcelData.musicURL = this.musicURL;
- parcelData.ownerID = this.ownerID;
- parcelData.parcelBitmapByteArray = (byte[])this.parcelBitmapByteArray.Clone();
- parcelData.parcelDesc = this.parcelDesc;
- parcelData.parcelFlags = this.parcelFlags;
- parcelData.parcelName = this.parcelName;
- parcelData.parcelStatus = this.parcelStatus;
- parcelData.passHours = this.passHours;
- parcelData.passPrice = this.passPrice;
- parcelData.salePrice = this.salePrice;
- parcelData.snapshotID = this.snapshotID;
- parcelData.userLocation = this.userLocation;
- parcelData.userLookAt = this.userLookAt;
-
- return parcelData;
-
- }
- }
-
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Types
+{
+
+ public class ParcelData
+ {
+ public byte[] parcelBitmapByteArray = new byte[512];
+ public string parcelName = "Your Parcel";
+ public string parcelDesc = "";
+ 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 parcelStatus = Parcel.ParcelStatus.Leased;
+ public uint parcelFlags = (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;
+ 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 ParcelData()
+ {
+ globalID = LLUUID.Random();
+ }
+
+ public ParcelData Copy()
+ {
+ ParcelData parcelData = new ParcelData();
+
+ parcelData.AABBMax = this.AABBMax;
+ parcelData.AABBMin = this.AABBMin;
+ parcelData.area = this.area;
+ parcelData.auctionID = this.auctionID;
+ parcelData.authBuyerID = this.authBuyerID;
+ parcelData.category = this.category;
+ parcelData.claimDate = this.claimDate;
+ parcelData.claimPrice = this.claimPrice;
+ parcelData.globalID = this.globalID;
+ parcelData.groupID = this.groupID;
+ parcelData.groupPrims = this.groupPrims;
+ parcelData.otherPrims = this.otherPrims;
+ parcelData.ownerPrims = this.ownerPrims;
+ parcelData.selectedPrims = this.selectedPrims;
+ parcelData.isGroupOwned = this.isGroupOwned;
+ parcelData.localID = this.localID;
+ parcelData.landingType = this.landingType;
+ parcelData.mediaAutoScale = this.mediaAutoScale;
+ parcelData.mediaID = this.mediaID;
+ parcelData.mediaURL = this.mediaURL;
+ parcelData.musicURL = this.musicURL;
+ parcelData.ownerID = this.ownerID;
+ parcelData.parcelBitmapByteArray = (byte[])this.parcelBitmapByteArray.Clone();
+ parcelData.parcelDesc = this.parcelDesc;
+ parcelData.parcelFlags = this.parcelFlags;
+ parcelData.parcelName = this.parcelName;
+ parcelData.parcelStatus = this.parcelStatus;
+ parcelData.passHours = this.passHours;
+ parcelData.passPrice = this.passPrice;
+ parcelData.salePrice = this.salePrice;
+ parcelData.snapshotID = this.snapshotID;
+ parcelData.userLocation = this.userLocation;
+ parcelData.userLookAt = this.userLookAt;
+
+ return parcelData;
+
+ }
+ }
+
+}
diff --git a/OpenSim/Framework/General/Types/PrimData.cs b/OpenSim/Framework/General/Types/PrimData.cs
index ff81bcd..6b8fa3a 100644
--- a/OpenSim/Framework/General/Types/PrimData.cs
+++ b/OpenSim/Framework/General/Types/PrimData.cs
@@ -1,228 +1,228 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Types
-{
- public class PrimData
- {
- private const uint FULL_MASK_PERMISSIONS = 2147483647;
-
- public LLUUID OwnerID;
- 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 uint ParentID = 0;
- 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 Int32 CreationDate;
- public uint OwnerMask = FULL_MASK_PERMISSIONS;
- public uint NextOwnerMask = FULL_MASK_PERMISSIONS;
- public uint GroupMask = FULL_MASK_PERMISSIONS;
- public uint EveryoneMask = FULL_MASK_PERMISSIONS;
- public uint BaseMask = FULL_MASK_PERMISSIONS;
-
- //following only used during prim storage
- public LLVector3 Position;
- public LLQuaternion Rotation = new LLQuaternion(0, 1, 0, 0);
- public uint LocalID;
- public LLUUID FullID;
-
- public PrimData()
- {
-
- }
-
- public PrimData(byte[] data)
- {
- int i = 0;
-
- this.OwnerID = new LLUUID(data, i); i += 16;
- this.PCode = data[i++];
- this.PathBegin = (ushort)(data[i++] + (data[i++] << 8));
- this.PathEnd = (ushort)(data[i++] + (data[i++] << 8));
- this.PathScaleX = data[i++];
- this.PathScaleY = data[i++];
- this.PathShearX = data[i++];
- this.PathShearY = data[i++];
- this.PathSkew = (sbyte)data[i++];
- this.ProfileBegin = (ushort)(data[i++] + (data[i++] << 8));
- this.ProfileEnd = (ushort)(data[i++] + (data[i++] << 8));
- this.Scale = new LLVector3(data, i); i += 12;
- this.PathCurve = data[i++];
- this.ProfileCurve = data[i++];
- this.ParentID = (uint)(data[i++] + (data[i++] << 8) + (data[i++] << 16) + (data[i++] << 24));
- this.ProfileHollow = (ushort)(data[i++] + (data[i++] << 8));
- this.PathRadiusOffset = (sbyte)data[i++];
- this.PathRevolutions = data[i++];
- this.PathTaperX = (sbyte)data[i++];
- this.PathTaperY = (sbyte)data[i++];
- this.PathTwist = (sbyte)data[i++];
- this.PathTwistBegin = (sbyte)data[i++];
- ushort length = (ushort)(data[i++] + (data[i++] << 8));
- this.TextureEntry = new byte[length];
- Array.Copy(data, i, TextureEntry, 0, length); i += length;
- this.CreationDate = (Int32)(data[i++] + (data[i++] << 8) + (data[i++] << 16) + (data[i++] << 24));
- this.OwnerMask = (uint)(data[i++] + (data[i++] << 8) + (data[i++] << 16) + (data[i++] << 24));
- this.NextOwnerMask = (uint)(data[i++] + (data[i++] << 8) + (data[i++] << 16) + (data[i++] << 24));
- this.GroupMask = (uint)(data[i++] + (data[i++] << 8) + (data[i++] << 16) + (data[i++] << 24));
- this.EveryoneMask = (uint)(data[i++] + (data[i++] << 8) + (data[i++] << 16) + (data[i++] << 24));
- this.BaseMask = (uint)(data[i++] + (data[i++] << 8) + (data[i++] << 16) + (data[i++] << 24));
- this.Position = new LLVector3(data, i); i += 12;
- this.Rotation = new LLQuaternion(data, i, true); i += 12;
- this.LocalID = (uint)(data[i++] + (data[i++] << 8) + (data[i++] << 16) + (data[i++] << 24));
- this.FullID = new LLUUID(data, i); i += 16;
-
- }
-
- public byte[] ToBytes()
- {
- int i = 0;
- byte[] bytes = new byte[126 + TextureEntry.Length];
- Array.Copy(OwnerID.GetBytes(), 0, bytes, i, 16); i += 16;
- bytes[i++] = this.PCode;
- bytes[i++] = (byte)(this.PathBegin % 256);
- bytes[i++] = (byte)((this.PathBegin >> 8) % 256);
- bytes[i++] = (byte)(this.PathEnd % 256);
- bytes[i++] = (byte)((this.PathEnd >> 8) % 256);
- bytes[i++] = this.PathScaleX;
- bytes[i++] = this.PathScaleY;
- bytes[i++] = this.PathShearX;
- bytes[i++] = this.PathShearY;
- bytes[i++] = (byte)this.PathSkew;
- bytes[i++] = (byte)(this.ProfileBegin % 256);
- bytes[i++] = (byte)((this.ProfileBegin >> 8) % 256);
- bytes[i++] = (byte)(this.ProfileEnd % 256);
- bytes[i++] = (byte)((this.ProfileEnd >> 8) % 256);
- Array.Copy(Scale.GetBytes(), 0, bytes, i, 12); i += 12;
- bytes[i++] = this.PathCurve;
- bytes[i++] = this.ProfileCurve;
- bytes[i++] = (byte)(ParentID % 256);
- bytes[i++] = (byte)((ParentID >> 8) % 256);
- bytes[i++] = (byte)((ParentID >> 16) % 256);
- bytes[i++] = (byte)((ParentID >> 24) % 256);
- bytes[i++] = (byte)(this.ProfileHollow % 256);
- bytes[i++] = (byte)((this.ProfileHollow >> 8) % 256);
- bytes[i++] = ((byte)this.PathRadiusOffset);
- bytes[i++] = this.PathRevolutions;
- bytes[i++] = ((byte)this.PathTaperX);
- bytes[i++] = ((byte)this.PathTaperY);
- bytes[i++] = ((byte)this.PathTwist);
- bytes[i++] = ((byte)this.PathTwistBegin);
- bytes[i++] = (byte)(TextureEntry.Length % 256);
- bytes[i++] = (byte)((TextureEntry.Length >> 8) % 256);
- Array.Copy(TextureEntry, 0, bytes, i, TextureEntry.Length); i += TextureEntry.Length;
- bytes[i++] = (byte)(this.CreationDate % 256);
- bytes[i++] = (byte)((this.CreationDate >> 8) % 256);
- bytes[i++] = (byte)((this.CreationDate >> 16) % 256);
- bytes[i++] = (byte)((this.CreationDate >> 24) % 256);
- bytes[i++] = (byte)(this.OwnerMask % 256);
- bytes[i++] = (byte)((this.OwnerMask >> 8) % 256);
- bytes[i++] = (byte)((this.OwnerMask >> 16) % 256);
- bytes[i++] = (byte)((this.OwnerMask >> 24) % 256);
- bytes[i++] = (byte)(this.NextOwnerMask % 256);
- bytes[i++] = (byte)((this.NextOwnerMask >> 8) % 256);
- bytes[i++] = (byte)((this.NextOwnerMask >> 16) % 256);
- bytes[i++] = (byte)((this.NextOwnerMask >> 24) % 256);
- bytes[i++] = (byte)(this.GroupMask % 256);
- bytes[i++] = (byte)((this.GroupMask >> 8) % 256);
- bytes[i++] = (byte)((this.GroupMask >> 16) % 256);
- bytes[i++] = (byte)((this.GroupMask >> 24) % 256);
- bytes[i++] = (byte)(this.EveryoneMask % 256);
- bytes[i++] = (byte)((this.EveryoneMask >> 8) % 256);
- bytes[i++] = (byte)((this.EveryoneMask >> 16) % 256);
- bytes[i++] = (byte)((this.EveryoneMask >> 24) % 256);
- bytes[i++] = (byte)(this.BaseMask % 256);
- bytes[i++] = (byte)((this.BaseMask >> 8) % 256);
- bytes[i++] = (byte)((this.BaseMask >> 16) % 256);
- bytes[i++] = (byte)((this.BaseMask >> 24) % 256);
- Array.Copy(this.Position.GetBytes(), 0, bytes, i, 12); i += 12;
- if (this.Rotation == new LLQuaternion(0, 0, 0, 0))
- {
- this.Rotation = new LLQuaternion(0, 1, 0, 0);
- }
- Array.Copy(this.Rotation.GetBytes(), 0, bytes, i, 12); i += 12;
- bytes[i++] = (byte)(this.LocalID % 256);
- bytes[i++] = (byte)((this.LocalID >> 8) % 256);
- bytes[i++] = (byte)((this.LocalID >> 16) % 256);
- bytes[i++] = (byte)((this.LocalID >> 24) % 256);
- Array.Copy(FullID.GetBytes(), 0, bytes, i, 16); i += 16;
-
- return bytes;
- }
-
- public static PrimData DefaultCube()
- {
- PrimData primData = new PrimData();
- primData.CreationDate = (Int32)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds;
- primData.FullID = LLUUID.Random();
- primData.Scale = new LLVector3(0.5f, 0.5f, 0.5f);
- primData.Rotation = new LLQuaternion(0, 0, 0, 1);
- primData.PCode = 9;
- primData.ParentID = 0;
- primData.PathBegin = 0;
- primData.PathEnd = 0;
- primData.PathScaleX = 0;
- primData.PathScaleY = 0;
- primData.PathShearX = 0;
- primData.PathShearY = 0;
- primData.PathSkew = 0;
- primData.ProfileBegin = 0;
- primData.ProfileEnd = 0;
- primData.PathCurve = 16;
- primData.ProfileCurve = 1;
- primData.ProfileHollow = 0;
- primData.PathRadiusOffset = 0;
- primData.PathRevolutions = 0;
- primData.PathTaperX = 0;
- primData.PathTaperY = 0;
- primData.PathTwist = 0;
- primData.PathTwistBegin = 0;
-
- return primData;
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Types
+{
+ public class PrimData
+ {
+ private const uint FULL_MASK_PERMISSIONS = 2147483647;
+
+ public LLUUID OwnerID;
+ 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 uint ParentID = 0;
+ 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 Int32 CreationDate;
+ public uint OwnerMask = FULL_MASK_PERMISSIONS;
+ public uint NextOwnerMask = FULL_MASK_PERMISSIONS;
+ public uint GroupMask = FULL_MASK_PERMISSIONS;
+ public uint EveryoneMask = FULL_MASK_PERMISSIONS;
+ public uint BaseMask = FULL_MASK_PERMISSIONS;
+
+ //following only used during prim storage
+ public LLVector3 Position;
+ public LLQuaternion Rotation = new LLQuaternion(0, 1, 0, 0);
+ public uint LocalID;
+ public LLUUID FullID;
+
+ public PrimData()
+ {
+
+ }
+
+ public PrimData(byte[] data)
+ {
+ int i = 0;
+
+ this.OwnerID = new LLUUID(data, i); i += 16;
+ this.PCode = data[i++];
+ this.PathBegin = (ushort)(data[i++] + (data[i++] << 8));
+ this.PathEnd = (ushort)(data[i++] + (data[i++] << 8));
+ this.PathScaleX = data[i++];
+ this.PathScaleY = data[i++];
+ this.PathShearX = data[i++];
+ this.PathShearY = data[i++];
+ this.PathSkew = (sbyte)data[i++];
+ this.ProfileBegin = (ushort)(data[i++] + (data[i++] << 8));
+ this.ProfileEnd = (ushort)(data[i++] + (data[i++] << 8));
+ this.Scale = new LLVector3(data, i); i += 12;
+ this.PathCurve = data[i++];
+ this.ProfileCurve = data[i++];
+ this.ParentID = (uint)(data[i++] + (data[i++] << 8) + (data[i++] << 16) + (data[i++] << 24));
+ this.ProfileHollow = (ushort)(data[i++] + (data[i++] << 8));
+ this.PathRadiusOffset = (sbyte)data[i++];
+ this.PathRevolutions = data[i++];
+ this.PathTaperX = (sbyte)data[i++];
+ this.PathTaperY = (sbyte)data[i++];
+ this.PathTwist = (sbyte)data[i++];
+ this.PathTwistBegin = (sbyte)data[i++];
+ ushort length = (ushort)(data[i++] + (data[i++] << 8));
+ this.TextureEntry = new byte[length];
+ Array.Copy(data, i, TextureEntry, 0, length); i += length;
+ this.CreationDate = (Int32)(data[i++] + (data[i++] << 8) + (data[i++] << 16) + (data[i++] << 24));
+ this.OwnerMask = (uint)(data[i++] + (data[i++] << 8) + (data[i++] << 16) + (data[i++] << 24));
+ this.NextOwnerMask = (uint)(data[i++] + (data[i++] << 8) + (data[i++] << 16) + (data[i++] << 24));
+ this.GroupMask = (uint)(data[i++] + (data[i++] << 8) + (data[i++] << 16) + (data[i++] << 24));
+ this.EveryoneMask = (uint)(data[i++] + (data[i++] << 8) + (data[i++] << 16) + (data[i++] << 24));
+ this.BaseMask = (uint)(data[i++] + (data[i++] << 8) + (data[i++] << 16) + (data[i++] << 24));
+ this.Position = new LLVector3(data, i); i += 12;
+ this.Rotation = new LLQuaternion(data, i, true); i += 12;
+ this.LocalID = (uint)(data[i++] + (data[i++] << 8) + (data[i++] << 16) + (data[i++] << 24));
+ this.FullID = new LLUUID(data, i); i += 16;
+
+ }
+
+ public byte[] ToBytes()
+ {
+ int i = 0;
+ byte[] bytes = new byte[126 + TextureEntry.Length];
+ Array.Copy(OwnerID.GetBytes(), 0, bytes, i, 16); i += 16;
+ bytes[i++] = this.PCode;
+ bytes[i++] = (byte)(this.PathBegin % 256);
+ bytes[i++] = (byte)((this.PathBegin >> 8) % 256);
+ bytes[i++] = (byte)(this.PathEnd % 256);
+ bytes[i++] = (byte)((this.PathEnd >> 8) % 256);
+ bytes[i++] = this.PathScaleX;
+ bytes[i++] = this.PathScaleY;
+ bytes[i++] = this.PathShearX;
+ bytes[i++] = this.PathShearY;
+ bytes[i++] = (byte)this.PathSkew;
+ bytes[i++] = (byte)(this.ProfileBegin % 256);
+ bytes[i++] = (byte)((this.ProfileBegin >> 8) % 256);
+ bytes[i++] = (byte)(this.ProfileEnd % 256);
+ bytes[i++] = (byte)((this.ProfileEnd >> 8) % 256);
+ Array.Copy(Scale.GetBytes(), 0, bytes, i, 12); i += 12;
+ bytes[i++] = this.PathCurve;
+ bytes[i++] = this.ProfileCurve;
+ bytes[i++] = (byte)(ParentID % 256);
+ bytes[i++] = (byte)((ParentID >> 8) % 256);
+ bytes[i++] = (byte)((ParentID >> 16) % 256);
+ bytes[i++] = (byte)((ParentID >> 24) % 256);
+ bytes[i++] = (byte)(this.ProfileHollow % 256);
+ bytes[i++] = (byte)((this.ProfileHollow >> 8) % 256);
+ bytes[i++] = ((byte)this.PathRadiusOffset);
+ bytes[i++] = this.PathRevolutions;
+ bytes[i++] = ((byte)this.PathTaperX);
+ bytes[i++] = ((byte)this.PathTaperY);
+ bytes[i++] = ((byte)this.PathTwist);
+ bytes[i++] = ((byte)this.PathTwistBegin);
+ bytes[i++] = (byte)(TextureEntry.Length % 256);
+ bytes[i++] = (byte)((TextureEntry.Length >> 8) % 256);
+ Array.Copy(TextureEntry, 0, bytes, i, TextureEntry.Length); i += TextureEntry.Length;
+ bytes[i++] = (byte)(this.CreationDate % 256);
+ bytes[i++] = (byte)((this.CreationDate >> 8) % 256);
+ bytes[i++] = (byte)((this.CreationDate >> 16) % 256);
+ bytes[i++] = (byte)((this.CreationDate >> 24) % 256);
+ bytes[i++] = (byte)(this.OwnerMask % 256);
+ bytes[i++] = (byte)((this.OwnerMask >> 8) % 256);
+ bytes[i++] = (byte)((this.OwnerMask >> 16) % 256);
+ bytes[i++] = (byte)((this.OwnerMask >> 24) % 256);
+ bytes[i++] = (byte)(this.NextOwnerMask % 256);
+ bytes[i++] = (byte)((this.NextOwnerMask >> 8) % 256);
+ bytes[i++] = (byte)((this.NextOwnerMask >> 16) % 256);
+ bytes[i++] = (byte)((this.NextOwnerMask >> 24) % 256);
+ bytes[i++] = (byte)(this.GroupMask % 256);
+ bytes[i++] = (byte)((this.GroupMask >> 8) % 256);
+ bytes[i++] = (byte)((this.GroupMask >> 16) % 256);
+ bytes[i++] = (byte)((this.GroupMask >> 24) % 256);
+ bytes[i++] = (byte)(this.EveryoneMask % 256);
+ bytes[i++] = (byte)((this.EveryoneMask >> 8) % 256);
+ bytes[i++] = (byte)((this.EveryoneMask >> 16) % 256);
+ bytes[i++] = (byte)((this.EveryoneMask >> 24) % 256);
+ bytes[i++] = (byte)(this.BaseMask % 256);
+ bytes[i++] = (byte)((this.BaseMask >> 8) % 256);
+ bytes[i++] = (byte)((this.BaseMask >> 16) % 256);
+ bytes[i++] = (byte)((this.BaseMask >> 24) % 256);
+ Array.Copy(this.Position.GetBytes(), 0, bytes, i, 12); i += 12;
+ if (this.Rotation == new LLQuaternion(0, 0, 0, 0))
+ {
+ this.Rotation = new LLQuaternion(0, 1, 0, 0);
+ }
+ Array.Copy(this.Rotation.GetBytes(), 0, bytes, i, 12); i += 12;
+ bytes[i++] = (byte)(this.LocalID % 256);
+ bytes[i++] = (byte)((this.LocalID >> 8) % 256);
+ bytes[i++] = (byte)((this.LocalID >> 16) % 256);
+ bytes[i++] = (byte)((this.LocalID >> 24) % 256);
+ Array.Copy(FullID.GetBytes(), 0, bytes, i, 16); i += 16;
+
+ return bytes;
+ }
+
+ public static PrimData DefaultCube()
+ {
+ PrimData primData = new PrimData();
+ primData.CreationDate = (Int32)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds;
+ primData.FullID = LLUUID.Random();
+ primData.Scale = new LLVector3(0.5f, 0.5f, 0.5f);
+ primData.Rotation = new LLQuaternion(0, 0, 0, 1);
+ primData.PCode = 9;
+ primData.ParentID = 0;
+ primData.PathBegin = 0;
+ primData.PathEnd = 0;
+ primData.PathScaleX = 0;
+ primData.PathScaleY = 0;
+ primData.PathShearX = 0;
+ primData.PathShearY = 0;
+ primData.PathSkew = 0;
+ primData.ProfileBegin = 0;
+ primData.ProfileEnd = 0;
+ primData.PathCurve = 16;
+ primData.ProfileCurve = 1;
+ primData.ProfileHollow = 0;
+ primData.PathRadiusOffset = 0;
+ primData.PathRevolutions = 0;
+ primData.PathTaperX = 0;
+ primData.PathTaperY = 0;
+ primData.PathTwist = 0;
+ primData.PathTwistBegin = 0;
+
+ return primData;
+ }
+ }
+}
diff --git a/OpenSim/Framework/General/Types/PrimitiveBaseShape.cs b/OpenSim/Framework/General/Types/PrimitiveBaseShape.cs
index a085a44..e058c07 100644
--- a/OpenSim/Framework/General/Types/PrimitiveBaseShape.cs
+++ b/OpenSim/Framework/General/Types/PrimitiveBaseShape.cs
@@ -1,109 +1,109 @@
-using libsecondlife;
-using libsecondlife.Packets;
-
-namespace OpenSim.Framework.Types
-{
- public enum ShapeType
- {
- Box,
- Sphere,
- Ring,
- Tube,
- Torus,
- Prism,
- Scuplted,
- Cylinder,
- Foliage,
- Unknown
- }
-
- public class PrimitiveBaseShape
- {
- private ShapeType type = ShapeType.Unknown;
-
- 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 ShapeType PrimType
- {
- get
- {
- return this.type;
- }
- }
-
- public LLVector3 PrimScale
- {
- get
- {
- return this.Scale;
- }
- }
-
- public PrimitiveBaseShape()
- {
-
- }
-
- //void returns need to change of course
- public void GetMesh()
- {
-
- }
-
- public PrimitiveBaseShape Copy()
- {
- return (PrimitiveBaseShape) this.MemberwiseClone();
- }
-
- public static PrimitiveBaseShape DefaultBox()
- {
- PrimitiveBaseShape primShape = new PrimitiveBaseShape();
-
- primShape.type = ShapeType.Box;
- primShape.Scale = new LLVector3(0.5f, 0.5f, 0.5f);
- primShape.PCode = 9;
- primShape.PathBegin = 0;
- primShape.PathEnd = 0;
- primShape.PathScaleX = 0;
- primShape.PathScaleY = 0;
- primShape.PathShearX = 0;
- primShape.PathShearY = 0;
- primShape.PathSkew = 0;
- primShape.ProfileBegin = 0;
- primShape.ProfileEnd = 0;
- primShape.PathCurve = 16;
- primShape.ProfileCurve = 1;
- primShape.ProfileHollow = 0;
- primShape.PathRadiusOffset = 0;
- primShape.PathRevolutions = 0;
- primShape.PathTaperX = 0;
- primShape.PathTaperY = 0;
- primShape.PathTwist = 0;
- primShape.PathTwistBegin = 0;
- LLObject.TextureEntry ntex = new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-9999-000000000005"));
- primShape.TextureEntry = ntex.ToBytes();
-
- return primShape;
- }
- }
-}
+using libsecondlife;
+using libsecondlife.Packets;
+
+namespace OpenSim.Framework.Types
+{
+ public enum ShapeType
+ {
+ Box,
+ Sphere,
+ Ring,
+ Tube,
+ Torus,
+ Prism,
+ Scuplted,
+ Cylinder,
+ Foliage,
+ Unknown
+ }
+
+ public class PrimitiveBaseShape
+ {
+ private ShapeType type = ShapeType.Unknown;
+
+ 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 ShapeType PrimType
+ {
+ get
+ {
+ return this.type;
+ }
+ }
+
+ public LLVector3 PrimScale
+ {
+ get
+ {
+ return this.Scale;
+ }
+ }
+
+ public PrimitiveBaseShape()
+ {
+
+ }
+
+ //void returns need to change of course
+ public void GetMesh()
+ {
+
+ }
+
+ public PrimitiveBaseShape Copy()
+ {
+ return (PrimitiveBaseShape) this.MemberwiseClone();
+ }
+
+ public static PrimitiveBaseShape DefaultBox()
+ {
+ PrimitiveBaseShape primShape = new PrimitiveBaseShape();
+
+ primShape.type = ShapeType.Box;
+ primShape.Scale = new LLVector3(0.5f, 0.5f, 0.5f);
+ primShape.PCode = 9;
+ primShape.PathBegin = 0;
+ primShape.PathEnd = 0;
+ primShape.PathScaleX = 0;
+ primShape.PathScaleY = 0;
+ primShape.PathShearX = 0;
+ primShape.PathShearY = 0;
+ primShape.PathSkew = 0;
+ primShape.ProfileBegin = 0;
+ primShape.ProfileEnd = 0;
+ primShape.PathCurve = 16;
+ primShape.ProfileCurve = 1;
+ primShape.ProfileHollow = 0;
+ primShape.PathRadiusOffset = 0;
+ primShape.PathRevolutions = 0;
+ primShape.PathTaperX = 0;
+ primShape.PathTaperY = 0;
+ primShape.PathTwist = 0;
+ primShape.PathTwistBegin = 0;
+ LLObject.TextureEntry ntex = new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-9999-000000000005"));
+ primShape.TextureEntry = ntex.ToBytes();
+
+ return primShape;
+ }
+ }
+}
diff --git a/OpenSim/Framework/General/Types/RegionHandle.cs b/OpenSim/Framework/General/Types/RegionHandle.cs
index 4a055ad..d90acc6 100644
--- a/OpenSim/Framework/General/Types/RegionHandle.cs
+++ b/OpenSim/Framework/General/Types/RegionHandle.cs
@@ -1,121 +1,121 @@
-using System;
-using System.Net;
-
-namespace OpenSim.Framework.Types
-{
- ///
- /// A class for manipulating RegionHandle coordinates
- ///
- 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 != System.Net.Sockets.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;
- }
- }
-}
+using System;
+using System.Net;
+
+namespace OpenSim.Framework.Types
+{
+ ///
+ /// A class for manipulating RegionHandle coordinates
+ ///
+ 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 != System.Net.Sockets.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;
+ }
+ }
+}
diff --git a/OpenSim/Framework/General/Types/RegionInfo.cs b/OpenSim/Framework/General/Types/RegionInfo.cs
index cfc0925..a216b52 100644
--- a/OpenSim/Framework/General/Types/RegionInfo.cs
+++ b/OpenSim/Framework/General/Types/RegionInfo.cs
@@ -1,342 +1,342 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Globalization;
-using System.Net;
-using System.Net.Sockets;
-using libsecondlife;
-using OpenSim.Framework.Console;
-using OpenSim.Framework.Interfaces;
-using OpenSim.Framework.Utilities;
-
-namespace OpenSim.Framework.Types
-{
- public class RegionInfo
- {
- public LLUUID SimUUID = new LLUUID();
- public string RegionName = "";
-
- private IPEndPoint m_internalEndPoint;
- public IPEndPoint InternalEndPoint
- {
- get
- {
- return m_internalEndPoint;
- }
- }
-
- public IPEndPoint ExternalEndPoint
- {
- get
- {
- // Old one defaults to IPv6
- //return new IPEndPoint( Dns.GetHostAddresses( m_externalHostName )[0], m_internalEndPoint.Port );
-
- // New method favors IPv4
- IPAddress ia = null;
- 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);
- }
- }
-
- private string m_externalHostName;
- public string ExternalHostName
- {
- get
- {
- return m_externalHostName;
- }
- }
-
- private uint? m_regionLocX;
- public uint RegionLocX
- {
- get
- {
- return m_regionLocX.Value;
- }
- }
-
- private uint? m_regionLocY;
- public uint RegionLocY
- {
- get
- {
- return m_regionLocY.Value;
- }
- }
-
- private ulong? m_regionHandle;
- public ulong RegionHandle
- {
- get
- {
- if (!m_regionHandle.HasValue)
- {
- m_regionHandle = Util.UIntsToLong((RegionLocX * 256), (RegionLocY * 256));
- }
-
- return m_regionHandle.Value;
- }
- }
-
- // Only used for remote regions , ie ones not in the current instance
- private uint m_remotingPort;
- public uint RemotingPort
- {
- get
- {
- return m_remotingPort;
- }
- set
- {
- m_remotingPort = value;
- }
- }
- public string RemotingAddress;
-
- public string DataStore = "";
- public bool isSandbox = false;
-
- public LLUUID MasterAvatarAssignedUUID = new LLUUID();
- public string MasterAvatarFirstName = "";
- public string MasterAvatarLastName = "";
- public string MasterAvatarSandboxPassword = "";
-
- public EstateSettings estateSettings;
-
- public RegionInfo()
- {
- estateSettings = new EstateSettings();
- }
-
- public RegionInfo(uint regionLocX, uint regionLocY, IPEndPoint internalEndPoint, string externalUri)
- : this()
- {
- m_regionLocX = regionLocX;
- m_regionLocY = regionLocY;
-
- m_internalEndPoint = internalEndPoint;
- m_externalHostName = externalUri;
- }
-
- public void InitConfig(bool sandboxMode, IGenericConfig configData)
- {
- this.isSandbox = sandboxMode;
- try
- {
- string attri = "";
-
- // Sim UUID
- string simId = configData.GetAttribute("SimUUID");
- if (String.IsNullOrEmpty( simId ))
- {
- this.SimUUID = LLUUID.Random();
- }
- else
- {
- this.SimUUID = new LLUUID(simId);
- }
- configData.SetAttribute("SimUUID", this.SimUUID.ToString());
-
- this.RegionName = GetString(configData, "SimName", "OpenSim test", "Region Name");
-
- //m_regionLocX = (uint) GetInt(configData, "SimLocationX", 1000, "Grid Location X");
-
- attri = "";
- attri = configData.GetAttribute("SimLocationX");
- if (attri == "")
- {
- string location = MainLog.Instance.CmdPrompt("Grid Location X", "1000");
- configData.SetAttribute("SimLocationX", location);
- m_regionLocX = (uint)Convert.ToUInt32(location);
- }
- else
- {
- m_regionLocX = (uint)Convert.ToUInt32(attri);
- }
- // Sim/Grid location Y
- attri = "";
- attri = configData.GetAttribute("SimLocationY");
- if (attri == "")
- {
- string location = MainLog.Instance.CmdPrompt("Grid Location Y", "1000");
- configData.SetAttribute("SimLocationY", location);
- m_regionLocY = (uint)Convert.ToUInt32(location);
- }
- else
- {
- m_regionLocY = (uint)Convert.ToUInt32(attri);
- }
-
- m_regionHandle = null;
-
- this.DataStore = GetString(configData, "Datastore", "localworld.yap", "Filename for local storage");
-
- IPAddress internalAddress = GetIPAddress(configData, "InternalIPAddress", "0.0.0.0", "Internal IP Address for UDP client connections");
- int internalPort = GetIPPort(configData, "InternalIPPort", "9000", "Internal IP Port for UDP client connections");
- m_internalEndPoint = new IPEndPoint(internalAddress, internalPort);
-
- m_externalHostName = GetString(configData, "ExternalHostName", "127.0.0.1", "External Host Name");
-
- estateSettings.terrainFile =
- GetString(configData, "TerrainFile", "default.r32", "GENERAL SETTING: Default Terrain File");
-
- attri = "";
- attri = configData.GetAttribute("TerrainMultiplier");
- if (attri == "")
- {
- string re = MainLog.Instance.CmdPrompt("GENERAL SETTING: Terrain Height Multiplier", "60.0");
- this.estateSettings.terrainMultiplier = Convert.ToDouble(re, CultureInfo.InvariantCulture);
- configData.SetAttribute("TerrainMultiplier", this.estateSettings.terrainMultiplier.ToString());
- }
- else
- {
- this.estateSettings.terrainMultiplier = Convert.ToDouble(attri);
- }
-
- attri = "";
- attri = configData.GetAttribute("MasterAvatarFirstName");
- if (attri == "")
- {
- this.MasterAvatarFirstName = MainLog.Instance.CmdPrompt("First name of Master Avatar (Land and Region Owner)", "Test");
-
- configData.SetAttribute("MasterAvatarFirstName", this.MasterAvatarFirstName);
- }
- else
- {
- this.MasterAvatarFirstName = attri;
- }
-
- attri = "";
- attri = configData.GetAttribute("MasterAvatarLastName");
- if (attri == "")
- {
- this.MasterAvatarLastName = MainLog.Instance.CmdPrompt("Last name of Master Avatar (Land and Region Owner)", "User");
-
- configData.SetAttribute("MasterAvatarLastName", this.MasterAvatarLastName);
- }
- else
- {
- this.MasterAvatarLastName = attri;
- }
-
- if (isSandbox) //Sandbox Mode Specific Settings
- {
- attri = "";
- attri = configData.GetAttribute("MasterAvatarSandboxPassword");
- if (attri == "")
- {
- this.MasterAvatarSandboxPassword = MainLog.Instance.CmdPrompt("Password of Master Avatar (Needed for sandbox mode account creation only)", "test");
-
- //Should I store this?
- configData.SetAttribute("MasterAvatarSandboxPassword", this.MasterAvatarSandboxPassword);
- }
- else
- {
- this.MasterAvatarSandboxPassword = attri;
- }
- }
-
- configData.Commit();
- }
- catch (Exception e)
- {
- MainLog.Instance.Warn("Config.cs:InitConfig() - Exception occured");
- MainLog.Instance.Warn(e.ToString());
- }
-
- MainLog.Instance.Verbose("Sim settings loaded:");
- MainLog.Instance.Verbose("UUID: " + this.SimUUID.ToStringHyphenated());
- MainLog.Instance.Verbose("Name: " + this.RegionName);
- MainLog.Instance.Verbose("Region Location: [" + this.RegionLocX.ToString() + "," + this.RegionLocY + "]");
- MainLog.Instance.Verbose("Region Handle: " + this.RegionHandle.ToString());
- MainLog.Instance.Verbose("Listening on IP end point: " + m_internalEndPoint.ToString() );
- MainLog.Instance.Verbose("Sandbox Mode? " + isSandbox.ToString());
-
- }
-
- private uint GetInt(IGenericConfig configData, string p, int p_3, string p_4)
- {
- throw new Exception("The method or operation is not implemented.");
- }
-
- private string GetString(IGenericConfig configData, string attrName, string defaultvalue, string prompt)
- {
- string s = configData.GetAttribute(attrName);
-
- if (String.IsNullOrEmpty( s ))
- {
- s = MainLog.Instance.CmdPrompt(prompt, defaultvalue);
- configData.SetAttribute(attrName, s );
- }
- return s;
- }
-
- private IPAddress GetIPAddress(IGenericConfig configData, string attrName, string defaultvalue, string prompt)
- {
- string addressStr = configData.GetAttribute(attrName);
-
- IPAddress address;
-
- if (!IPAddress.TryParse(addressStr, out address))
- {
- address = MainLog.Instance.CmdPromptIPAddress(prompt, defaultvalue);
- configData.SetAttribute(attrName, address.ToString());
- }
- return address;
- }
-
- private int GetIPPort(IGenericConfig configData, string attrName, string defaultvalue, string prompt)
- {
- string portStr = configData.GetAttribute(attrName);
-
- int port;
-
- if (!int.TryParse(portStr, out port))
- {
- port = MainLog.Instance.CmdPromptIPPort(prompt, defaultvalue);
- configData.SetAttribute(attrName, port.ToString());
- }
-
- return port;
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Globalization;
+using System.Net;
+using System.Net.Sockets;
+using libsecondlife;
+using OpenSim.Framework.Console;
+using OpenSim.Framework.Interfaces;
+using OpenSim.Framework.Utilities;
+
+namespace OpenSim.Framework.Types
+{
+ public class RegionInfo
+ {
+ public LLUUID SimUUID = new LLUUID();
+ public string RegionName = "";
+
+ private IPEndPoint m_internalEndPoint;
+ public IPEndPoint InternalEndPoint
+ {
+ get
+ {
+ return m_internalEndPoint;
+ }
+ }
+
+ public IPEndPoint ExternalEndPoint
+ {
+ get
+ {
+ // Old one defaults to IPv6
+ //return new IPEndPoint( Dns.GetHostAddresses( m_externalHostName )[0], m_internalEndPoint.Port );
+
+ // New method favors IPv4
+ IPAddress ia = null;
+ 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);
+ }
+ }
+
+ private string m_externalHostName;
+ public string ExternalHostName
+ {
+ get
+ {
+ return m_externalHostName;
+ }
+ }
+
+ private uint? m_regionLocX;
+ public uint RegionLocX
+ {
+ get
+ {
+ return m_regionLocX.Value;
+ }
+ }
+
+ private uint? m_regionLocY;
+ public uint RegionLocY
+ {
+ get
+ {
+ return m_regionLocY.Value;
+ }
+ }
+
+ private ulong? m_regionHandle;
+ public ulong RegionHandle
+ {
+ get
+ {
+ if (!m_regionHandle.HasValue)
+ {
+ m_regionHandle = Util.UIntsToLong((RegionLocX * 256), (RegionLocY * 256));
+ }
+
+ return m_regionHandle.Value;
+ }
+ }
+
+ // Only used for remote regions , ie ones not in the current instance
+ private uint m_remotingPort;
+ public uint RemotingPort
+ {
+ get
+ {
+ return m_remotingPort;
+ }
+ set
+ {
+ m_remotingPort = value;
+ }
+ }
+ public string RemotingAddress;
+
+ public string DataStore = "";
+ public bool isSandbox = false;
+
+ public LLUUID MasterAvatarAssignedUUID = new LLUUID();
+ public string MasterAvatarFirstName = "";
+ public string MasterAvatarLastName = "";
+ public string MasterAvatarSandboxPassword = "";
+
+ public EstateSettings estateSettings;
+
+ public RegionInfo()
+ {
+ estateSettings = new EstateSettings();
+ }
+
+ public RegionInfo(uint regionLocX, uint regionLocY, IPEndPoint internalEndPoint, string externalUri)
+ : this()
+ {
+ m_regionLocX = regionLocX;
+ m_regionLocY = regionLocY;
+
+ m_internalEndPoint = internalEndPoint;
+ m_externalHostName = externalUri;
+ }
+
+ public void InitConfig(bool sandboxMode, IGenericConfig configData)
+ {
+ this.isSandbox = sandboxMode;
+ try
+ {
+ string attri = "";
+
+ // Sim UUID
+ string simId = configData.GetAttribute("SimUUID");
+ if (String.IsNullOrEmpty( simId ))
+ {
+ this.SimUUID = LLUUID.Random();
+ }
+ else
+ {
+ this.SimUUID = new LLUUID(simId);
+ }
+ configData.SetAttribute("SimUUID", this.SimUUID.ToString());
+
+ this.RegionName = GetString(configData, "SimName", "OpenSim test", "Region Name");
+
+ //m_regionLocX = (uint) GetInt(configData, "SimLocationX", 1000, "Grid Location X");
+
+ attri = "";
+ attri = configData.GetAttribute("SimLocationX");
+ if (attri == "")
+ {
+ string location = MainLog.Instance.CmdPrompt("Grid Location X", "1000");
+ configData.SetAttribute("SimLocationX", location);
+ m_regionLocX = (uint)Convert.ToUInt32(location);
+ }
+ else
+ {
+ m_regionLocX = (uint)Convert.ToUInt32(attri);
+ }
+ // Sim/Grid location Y
+ attri = "";
+ attri = configData.GetAttribute("SimLocationY");
+ if (attri == "")
+ {
+ string location = MainLog.Instance.CmdPrompt("Grid Location Y", "1000");
+ configData.SetAttribute("SimLocationY", location);
+ m_regionLocY = (uint)Convert.ToUInt32(location);
+ }
+ else
+ {
+ m_regionLocY = (uint)Convert.ToUInt32(attri);
+ }
+
+ m_regionHandle = null;
+
+ this.DataStore = GetString(configData, "Datastore", "localworld.yap", "Filename for local storage");
+
+ IPAddress internalAddress = GetIPAddress(configData, "InternalIPAddress", "0.0.0.0", "Internal IP Address for UDP client connections");
+ int internalPort = GetIPPort(configData, "InternalIPPort", "9000", "Internal IP Port for UDP client connections");
+ m_internalEndPoint = new IPEndPoint(internalAddress, internalPort);
+
+ m_externalHostName = GetString(configData, "ExternalHostName", "127.0.0.1", "External Host Name");
+
+ estateSettings.terrainFile =
+ GetString(configData, "TerrainFile", "default.r32", "GENERAL SETTING: Default Terrain File");
+
+ attri = "";
+ attri = configData.GetAttribute("TerrainMultiplier");
+ if (attri == "")
+ {
+ string re = MainLog.Instance.CmdPrompt("GENERAL SETTING: Terrain Height Multiplier", "60.0");
+ this.estateSettings.terrainMultiplier = Convert.ToDouble(re, CultureInfo.InvariantCulture);
+ configData.SetAttribute("TerrainMultiplier", this.estateSettings.terrainMultiplier.ToString());
+ }
+ else
+ {
+ this.estateSettings.terrainMultiplier = Convert.ToDouble(attri);
+ }
+
+ attri = "";
+ attri = configData.GetAttribute("MasterAvatarFirstName");
+ if (attri == "")
+ {
+ this.MasterAvatarFirstName = MainLog.Instance.CmdPrompt("First name of Master Avatar (Land and Region Owner)", "Test");
+
+ configData.SetAttribute("MasterAvatarFirstName", this.MasterAvatarFirstName);
+ }
+ else
+ {
+ this.MasterAvatarFirstName = attri;
+ }
+
+ attri = "";
+ attri = configData.GetAttribute("MasterAvatarLastName");
+ if (attri == "")
+ {
+ this.MasterAvatarLastName = MainLog.Instance.CmdPrompt("Last name of Master Avatar (Land and Region Owner)", "User");
+
+ configData.SetAttribute("MasterAvatarLastName", this.MasterAvatarLastName);
+ }
+ else
+ {
+ this.MasterAvatarLastName = attri;
+ }
+
+ if (isSandbox) //Sandbox Mode Specific Settings
+ {
+ attri = "";
+ attri = configData.GetAttribute("MasterAvatarSandboxPassword");
+ if (attri == "")
+ {
+ this.MasterAvatarSandboxPassword = MainLog.Instance.CmdPrompt("Password of Master Avatar (Needed for sandbox mode account creation only)", "test");
+
+ //Should I store this?
+ configData.SetAttribute("MasterAvatarSandboxPassword", this.MasterAvatarSandboxPassword);
+ }
+ else
+ {
+ this.MasterAvatarSandboxPassword = attri;
+ }
+ }
+
+ configData.Commit();
+ }
+ catch (Exception e)
+ {
+ MainLog.Instance.Warn("Config.cs:InitConfig() - Exception occured");
+ MainLog.Instance.Warn(e.ToString());
+ }
+
+ MainLog.Instance.Verbose("Sim settings loaded:");
+ MainLog.Instance.Verbose("UUID: " + this.SimUUID.ToStringHyphenated());
+ MainLog.Instance.Verbose("Name: " + this.RegionName);
+ MainLog.Instance.Verbose("Region Location: [" + this.RegionLocX.ToString() + "," + this.RegionLocY + "]");
+ MainLog.Instance.Verbose("Region Handle: " + this.RegionHandle.ToString());
+ MainLog.Instance.Verbose("Listening on IP end point: " + m_internalEndPoint.ToString() );
+ MainLog.Instance.Verbose("Sandbox Mode? " + isSandbox.ToString());
+
+ }
+
+ private uint GetInt(IGenericConfig configData, string p, int p_3, string p_4)
+ {
+ throw new Exception("The method or operation is not implemented.");
+ }
+
+ private string GetString(IGenericConfig configData, string attrName, string defaultvalue, string prompt)
+ {
+ string s = configData.GetAttribute(attrName);
+
+ if (String.IsNullOrEmpty( s ))
+ {
+ s = MainLog.Instance.CmdPrompt(prompt, defaultvalue);
+ configData.SetAttribute(attrName, s );
+ }
+ return s;
+ }
+
+ private IPAddress GetIPAddress(IGenericConfig configData, string attrName, string defaultvalue, string prompt)
+ {
+ string addressStr = configData.GetAttribute(attrName);
+
+ IPAddress address;
+
+ if (!IPAddress.TryParse(addressStr, out address))
+ {
+ address = MainLog.Instance.CmdPromptIPAddress(prompt, defaultvalue);
+ configData.SetAttribute(attrName, address.ToString());
+ }
+ return address;
+ }
+
+ private int GetIPPort(IGenericConfig configData, string attrName, string defaultvalue, string prompt)
+ {
+ string portStr = configData.GetAttribute(attrName);
+
+ int port;
+
+ if (!int.TryParse(portStr, out port))
+ {
+ port = MainLog.Instance.CmdPromptIPPort(prompt, defaultvalue);
+ configData.SetAttribute(attrName, port.ToString());
+ }
+
+ return port;
+ }
+ }
+}
diff --git a/OpenSim/Framework/General/Types/UUID.cs b/OpenSim/Framework/General/Types/UUID.cs
index 9cde18e..9e9654d 100644
--- a/OpenSim/Framework/General/Types/UUID.cs
+++ b/OpenSim/Framework/General/Types/UUID.cs
@@ -1,127 +1,127 @@
-using System;
-using libsecondlife;
-
-namespace OpenSim.Framework.Types
-{
- 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);
- }
- }
-}
+using System;
+using libsecondlife;
+
+namespace OpenSim.Framework.Types
+{
+ 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);
+ }
+ }
+}
diff --git a/OpenSim/Framework/General/UserProfile.cs b/OpenSim/Framework/General/UserProfile.cs
index 243208a..ec5a485 100644
--- a/OpenSim/Framework/General/UserProfile.cs
+++ b/OpenSim/Framework/General/UserProfile.cs
@@ -1,87 +1,87 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Collections.Generic;
-using System.Security.Cryptography;
-using libsecondlife;
-using OpenSim.Framework.Inventory;
-
-namespace OpenSim.Framework.User
-{
- public class UserProfile
- {
-
- public string firstname;
- public string lastname;
- public ulong homeregionhandle;
- public LLVector3 homepos;
- public LLVector3 homelookat;
-
- public bool IsGridGod = false;
- public bool IsLocal = true; // will be used in future for visitors from foreign grids
- public string AssetURL;
- public string MD5passwd;
-
- public LLUUID CurrentSessionID;
- public LLUUID CurrentSecureSessionID;
- public LLUUID UUID;
- public Dictionary Circuits = new Dictionary(); // tracks circuit codes
-
- public AgentInventory Inventory;
-
- public UserProfile()
- {
- Circuits = new Dictionary();
- Inventory = new AgentInventory();
- homeregionhandle = Helpers.UIntsToLong((1000 * 256), (1000 * 256));
- homepos = new LLVector3();
- homelookat = new LLVector3();
- }
-
- public void InitSessionData()
- {
- RNGCryptoServiceProvider rand = new RNGCryptoServiceProvider();
-
- byte[] randDataS = new byte[16];
- byte[] randDataSS = new byte[16];
-
- rand.GetBytes(randDataS);
- rand.GetBytes(randDataSS);
-
- CurrentSecureSessionID = new LLUUID(randDataSS,0);
- CurrentSessionID = new LLUUID(randDataS,0);
-
- }
-
- public void AddSimCircuit(uint circuitCode, LLUUID regionUUID)
- {
- if (this.Circuits.ContainsKey(regionUUID) == false)
- this.Circuits.Add(regionUUID, circuitCode);
- }
-
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Collections.Generic;
+using System.Security.Cryptography;
+using libsecondlife;
+using OpenSim.Framework.Inventory;
+
+namespace OpenSim.Framework.User
+{
+ public class UserProfile
+ {
+
+ public string firstname;
+ public string lastname;
+ public ulong homeregionhandle;
+ public LLVector3 homepos;
+ public LLVector3 homelookat;
+
+ public bool IsGridGod = false;
+ public bool IsLocal = true; // will be used in future for visitors from foreign grids
+ public string AssetURL;
+ public string MD5passwd;
+
+ public LLUUID CurrentSessionID;
+ public LLUUID CurrentSecureSessionID;
+ public LLUUID UUID;
+ public Dictionary Circuits = new Dictionary(); // tracks circuit codes
+
+ public AgentInventory Inventory;
+
+ public UserProfile()
+ {
+ Circuits = new Dictionary();
+ Inventory = new AgentInventory();
+ homeregionhandle = Helpers.UIntsToLong((1000 * 256), (1000 * 256));
+ homepos = new LLVector3();
+ homelookat = new LLVector3();
+ }
+
+ public void InitSessionData()
+ {
+ RNGCryptoServiceProvider rand = new RNGCryptoServiceProvider();
+
+ byte[] randDataS = new byte[16];
+ byte[] randDataSS = new byte[16];
+
+ rand.GetBytes(randDataS);
+ rand.GetBytes(randDataSS);
+
+ CurrentSecureSessionID = new LLUUID(randDataSS,0);
+ CurrentSessionID = new LLUUID(randDataS,0);
+
+ }
+
+ public void AddSimCircuit(uint circuitCode, LLUUID regionUUID)
+ {
+ if (this.Circuits.ContainsKey(regionUUID) == false)
+ this.Circuits.Add(regionUUID, circuitCode);
+ }
+
+ }
+}
diff --git a/OpenSim/Framework/General/Util.cs b/OpenSim/Framework/General/Util.cs
index 13e3af2..3333ced 100644
--- a/OpenSim/Framework/General/Util.cs
+++ b/OpenSim/Framework/General/Util.cs
@@ -1,184 +1,184 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Security.Cryptography;
-using System.Text;
-using libsecondlife;
-
-namespace OpenSim.Framework.Utilities
-{
- public class Util
- {
- private static Random randomClass = new Random();
- private static uint nextXferID = 5000;
- private static object XferLock = new object();
-
- public static ulong UIntsToLong(uint X, uint Y)
- {
- return Helpers.UIntsToLong(X, Y);
- }
-
- public static Random RandomClass
- {
- get
- {
- return randomClass;
- }
- }
-
- public static uint GetNextXferID()
- {
- uint id = 0;
- lock(XferLock)
- {
- id = nextXferID;
- nextXferID++;
- }
- return id;
- }
-
- public static int UnixTimeSinceEpoch()
- {
- TimeSpan t = (DateTime.UtcNow - new DateTime(1970, 1, 1));
- int timestamp = (int)t.TotalSeconds;
- return timestamp;
- }
-
- public static string Md5Hash(string pass)
- {
- MD5 md5 = MD5CryptoServiceProvider.Create();
- byte[] dataMd5 = md5.ComputeHash(Encoding.Default.GetBytes(pass));
- StringBuilder sb = new StringBuilder();
- for (int i = 0; i < dataMd5.Length; i++)
- sb.AppendFormat("{0:x2}", dataMd5[i]);
- return sb.ToString();
- }
-
- public static string GetRandomCapsPath()
- {
- LLUUID caps = LLUUID.Random();
- string capsPath = caps.ToStringHyphenated();
- capsPath = capsPath.Remove(capsPath.Length - 4, 4);
- return capsPath;
- }
-
- //public static int fast_distance2d(int x, int y)
- //{
- // x = System.Math.Abs(x);
- // y = System.Math.Abs(y);
-
- // int min = System.Math.Min(x, y);
-
- // return (x + y - (min >> 1) - (min >> 2) + (min >> 4));
- //}
-
- public static string FieldToString(byte[] bytes)
- {
- return FieldToString(bytes, String.Empty);
- }
-
- ///
- /// Convert a variable length field (byte array) to a string, with a
- /// field name prepended to each line of the output
- ///
- /// If the byte array has unprintable characters in it, a
- /// hex dump will be put in the string instead
- /// The byte array to convert to a string
- /// A field name to prepend to each line of output
- /// An ASCII string or a string containing a hex dump, minus
- /// the null terminator
- public static string FieldToString(byte[] bytes, string fieldName)
- {
- // Check for a common case
- if (bytes.Length == 0) return String.Empty;
-
- StringBuilder output = new StringBuilder();
- bool printable = true;
-
- for (int i = 0; i < bytes.Length; ++i)
- {
- // Check if there are any unprintable characters in the array
- if ((bytes[i] < 0x20 || bytes[i] > 0x7E) && bytes[i] != 0x09
- && bytes[i] != 0x0D && bytes[i] != 0x0A && bytes[i] != 0x00)
- {
- printable = false;
- break;
- }
- }
-
- if (printable)
- {
- if (fieldName.Length > 0)
- {
- output.Append(fieldName);
- output.Append(": ");
- }
-
- if (bytes[bytes.Length - 1] == 0x00)
- output.Append(UTF8Encoding.UTF8.GetString(bytes, 0, bytes.Length - 1));
- else
- output.Append(UTF8Encoding.UTF8.GetString(bytes));
- }
- else
- {
- for (int i = 0; i < bytes.Length; i += 16)
- {
- if (i != 0)
- output.Append(Environment.NewLine);
- if (fieldName.Length > 0)
- {
- output.Append(fieldName);
- output.Append(": ");
- }
-
- for (int j = 0; j < 16; j++)
- {
- if ((i + j) < bytes.Length)
- output.Append(String.Format("{0:X2} ", bytes[i + j]));
- else
- output.Append(" ");
- }
-
- for (int j = 0; j < 16 && (i + j) < bytes.Length; j++)
- {
- if (bytes[i + j] >= 0x20 && bytes[i + j] < 0x7E)
- output.Append((char)bytes[i + j]);
- else
- output.Append(".");
- }
- }
- }
-
- return output.ToString();
- }
- public Util()
- {
-
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Security.Cryptography;
+using System.Text;
+using libsecondlife;
+
+namespace OpenSim.Framework.Utilities
+{
+ public class Util
+ {
+ private static Random randomClass = new Random();
+ private static uint nextXferID = 5000;
+ private static object XferLock = new object();
+
+ public static ulong UIntsToLong(uint X, uint Y)
+ {
+ return Helpers.UIntsToLong(X, Y);
+ }
+
+ public static Random RandomClass
+ {
+ get
+ {
+ return randomClass;
+ }
+ }
+
+ public static uint GetNextXferID()
+ {
+ uint id = 0;
+ lock(XferLock)
+ {
+ id = nextXferID;
+ nextXferID++;
+ }
+ return id;
+ }
+
+ public static int UnixTimeSinceEpoch()
+ {
+ TimeSpan t = (DateTime.UtcNow - new DateTime(1970, 1, 1));
+ int timestamp = (int)t.TotalSeconds;
+ return timestamp;
+ }
+
+ public static string Md5Hash(string pass)
+ {
+ MD5 md5 = MD5CryptoServiceProvider.Create();
+ byte[] dataMd5 = md5.ComputeHash(Encoding.Default.GetBytes(pass));
+ StringBuilder sb = new StringBuilder();
+ for (int i = 0; i < dataMd5.Length; i++)
+ sb.AppendFormat("{0:x2}", dataMd5[i]);
+ return sb.ToString();
+ }
+
+ public static string GetRandomCapsPath()
+ {
+ LLUUID caps = LLUUID.Random();
+ string capsPath = caps.ToStringHyphenated();
+ capsPath = capsPath.Remove(capsPath.Length - 4, 4);
+ return capsPath;
+ }
+
+ //public static int fast_distance2d(int x, int y)
+ //{
+ // x = System.Math.Abs(x);
+ // y = System.Math.Abs(y);
+
+ // int min = System.Math.Min(x, y);
+
+ // return (x + y - (min >> 1) - (min >> 2) + (min >> 4));
+ //}
+
+ public static string FieldToString(byte[] bytes)
+ {
+ return FieldToString(bytes, String.Empty);
+ }
+
+ ///
+ /// Convert a variable length field (byte array) to a string, with a
+ /// field name prepended to each line of the output
+ ///
+ /// If the byte array has unprintable characters in it, a
+ /// hex dump will be put in the string instead
+ /// The byte array to convert to a string
+ /// A field name to prepend to each line of output
+ /// An ASCII string or a string containing a hex dump, minus
+ /// the null terminator
+ public static string FieldToString(byte[] bytes, string fieldName)
+ {
+ // Check for a common case
+ if (bytes.Length == 0) return String.Empty;
+
+ StringBuilder output = new StringBuilder();
+ bool printable = true;
+
+ for (int i = 0; i < bytes.Length; ++i)
+ {
+ // Check if there are any unprintable characters in the array
+ if ((bytes[i] < 0x20 || bytes[i] > 0x7E) && bytes[i] != 0x09
+ && bytes[i] != 0x0D && bytes[i] != 0x0A && bytes[i] != 0x00)
+ {
+ printable = false;
+ break;
+ }
+ }
+
+ if (printable)
+ {
+ if (fieldName.Length > 0)
+ {
+ output.Append(fieldName);
+ output.Append(": ");
+ }
+
+ if (bytes[bytes.Length - 1] == 0x00)
+ output.Append(UTF8Encoding.UTF8.GetString(bytes, 0, bytes.Length - 1));
+ else
+ output.Append(UTF8Encoding.UTF8.GetString(bytes));
+ }
+ else
+ {
+ for (int i = 0; i < bytes.Length; i += 16)
+ {
+ if (i != 0)
+ output.Append(Environment.NewLine);
+ if (fieldName.Length > 0)
+ {
+ output.Append(fieldName);
+ output.Append(": ");
+ }
+
+ for (int j = 0; j < 16; j++)
+ {
+ if ((i + j) < bytes.Length)
+ output.Append(String.Format("{0:X2} ", bytes[i + j]));
+ else
+ output.Append(" ");
+ }
+
+ for (int j = 0; j < 16 && (i + j) < bytes.Length; j++)
+ {
+ if (bytes[i + j] >= 0x20 && bytes[i + j] < 0x7E)
+ output.Append((char)bytes[i + j]);
+ else
+ output.Append(".");
+ }
+ }
+ }
+
+ return output.ToString();
+ }
+ public Util()
+ {
+
+ }
+ }
+}
diff --git a/OpenSim/Framework/GenericConfig/Xml/Properties/AssemblyInfo.cs b/OpenSim/Framework/GenericConfig/Xml/Properties/AssemblyInfo.cs
index fcffd67..28779ee 100644
--- a/OpenSim/Framework/GenericConfig/Xml/Properties/AssemblyInfo.cs
+++ b/OpenSim/Framework/GenericConfig/Xml/Properties/AssemblyInfo.cs
@@ -1,33 +1,33 @@
-using System.Reflection;
-using System.Runtime.InteropServices;
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("OpenSim.GenericConfig")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("OpenSim.GenericConfig")]
-[assembly: AssemblyCopyright("Copyright © 2007")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("285a3047-f165-46c8-8767-b51428738a09")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Revision and Build Numbers
-// by using the '*' as shown below:
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+using System.Reflection;
+using System.Runtime.InteropServices;
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("OpenSim.GenericConfig")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("OpenSim.GenericConfig")]
+[assembly: AssemblyCopyright("Copyright © 2007")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("285a3047-f165-46c8-8767-b51428738a09")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers
+// by using the '*' as shown below:
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/OpenSim/Framework/GenericConfig/Xml/XmlConfig.cs b/OpenSim/Framework/GenericConfig/Xml/XmlConfig.cs
index 7fa085d..2ed8d28 100644
--- a/OpenSim/Framework/GenericConfig/Xml/XmlConfig.cs
+++ b/OpenSim/Framework/GenericConfig/Xml/XmlConfig.cs
@@ -1,122 +1,122 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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 System.Xml;
-using OpenSim.Framework.Interfaces;
-
-namespace OpenSim.GenericConfig
-{
- public class XmlConfig : IGenericConfig
- {
- private XmlDocument doc;
- private XmlNode rootNode;
- private XmlNode configNode;
- private string fileName;
- private bool createdFile = false;
-
- public XmlConfig(string filename)
- {
- fileName = filename;
- }
-
- public void LoadData()
- {
- doc = new XmlDocument();
-
- if (File.Exists(fileName))
- {
- XmlTextReader reader = new XmlTextReader(fileName);
- reader.WhitespaceHandling = WhitespaceHandling.None;
- doc.Load(reader);
- reader.Close();
- }
- else
- {
- createdFile = true;
- rootNode = doc.CreateNode(XmlNodeType.Element, "Root", "");
- doc.AppendChild(rootNode);
- configNode = doc.CreateNode(XmlNodeType.Element, "Config", "");
- rootNode.AppendChild(configNode);
- }
-
-
- rootNode = doc.FirstChild;
- if (rootNode.Name != "Root")
- throw new Exception("Error: Invalid .xml File. Missing ");
-
- configNode = rootNode.FirstChild;
- if (configNode.Name != "Config")
- throw new Exception("Error: Invalid .xml File. first child should be ");
-
- if (createdFile)
- {
- this.Commit();
- }
- }
-
- public string GetAttribute(string attributeName)
- {
- string result = "";
- if (configNode.Attributes[attributeName] != null)
- {
- result = ((XmlAttribute)configNode.Attributes.GetNamedItem(attributeName)).Value;
- }
- return result;
- }
-
- public bool SetAttribute(string attributeName, string attributeValue)
- {
- if (configNode.Attributes[attributeName] != null)
- {
- ((XmlAttribute)configNode.Attributes.GetNamedItem(attributeName)).Value = attributeValue;
- }
- else
- {
- XmlAttribute attri;
- attri = doc.CreateAttribute(attributeName);
- attri.Value = attributeValue;
- configNode.Attributes.Append(attri);
- }
- return true;
- }
-
- public void Commit()
- {
- doc.Save(fileName);
- }
-
- public void Close()
- {
- configNode = null;
- rootNode = null;
- doc = null;
- }
-
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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 System.Xml;
+using OpenSim.Framework.Interfaces;
+
+namespace OpenSim.GenericConfig
+{
+ public class XmlConfig : IGenericConfig
+ {
+ private XmlDocument doc;
+ private XmlNode rootNode;
+ private XmlNode configNode;
+ private string fileName;
+ private bool createdFile = false;
+
+ public XmlConfig(string filename)
+ {
+ fileName = filename;
+ }
+
+ public void LoadData()
+ {
+ doc = new XmlDocument();
+
+ if (File.Exists(fileName))
+ {
+ XmlTextReader reader = new XmlTextReader(fileName);
+ reader.WhitespaceHandling = WhitespaceHandling.None;
+ doc.Load(reader);
+ reader.Close();
+ }
+ else
+ {
+ createdFile = true;
+ rootNode = doc.CreateNode(XmlNodeType.Element, "Root", "");
+ doc.AppendChild(rootNode);
+ configNode = doc.CreateNode(XmlNodeType.Element, "Config", "");
+ rootNode.AppendChild(configNode);
+ }
+
+
+ rootNode = doc.FirstChild;
+ if (rootNode.Name != "Root")
+ throw new Exception("Error: Invalid .xml File. Missing ");
+
+ configNode = rootNode.FirstChild;
+ if (configNode.Name != "Config")
+ throw new Exception("Error: Invalid .xml File. first child should be ");
+
+ if (createdFile)
+ {
+ this.Commit();
+ }
+ }
+
+ public string GetAttribute(string attributeName)
+ {
+ string result = "";
+ if (configNode.Attributes[attributeName] != null)
+ {
+ result = ((XmlAttribute)configNode.Attributes.GetNamedItem(attributeName)).Value;
+ }
+ return result;
+ }
+
+ public bool SetAttribute(string attributeName, string attributeValue)
+ {
+ if (configNode.Attributes[attributeName] != null)
+ {
+ ((XmlAttribute)configNode.Attributes.GetNamedItem(attributeName)).Value = attributeValue;
+ }
+ else
+ {
+ XmlAttribute attri;
+ attri = doc.CreateAttribute(attributeName);
+ attri.Value = attributeValue;
+ configNode.Attributes.Append(attri);
+ }
+ return true;
+ }
+
+ public void Commit()
+ {
+ doc.Save(fileName);
+ }
+
+ public void Close()
+ {
+ configNode = null;
+ rootNode = null;
+ doc = null;
+ }
+
+ }
+}
diff --git a/OpenSim/Framework/Servers/BaseHttpServer.cs b/OpenSim/Framework/Servers/BaseHttpServer.cs
index f790477..4b3b3de 100644
--- a/OpenSim/Framework/Servers/BaseHttpServer.cs
+++ b/OpenSim/Framework/Servers/BaseHttpServer.cs
@@ -1,224 +1,224 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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;
-using System.Collections.Generic;
-using System.IO;
-using System.Net;
-using System.Text;
-using System.Text.RegularExpressions;
-using System.Threading;
-using Nwc.XmlRpc;
-using OpenSim.Framework.Console;
-
-namespace OpenSim.Framework.Servers
-{
- public class BaseHttpServer
- {
- protected Thread m_workerThread;
- protected HttpListener m_httpListener;
- protected Dictionary m_rpcHandlers = new Dictionary();
- protected Dictionary m_streamHandlers = new Dictionary();
- protected int m_port;
- protected bool m_firstcaps = true;
-
- public BaseHttpServer(int port)
- {
- m_port = port;
- }
-
- public void AddStreamHandler( IStreamHandler handler)
- {
- string httpMethod = handler.HttpMethod;
- string path = handler.Path;
-
- string handlerKey = GetHandlerKey(httpMethod, path);
- m_streamHandlers.Add(handlerKey, handler);
- }
-
- private static string GetHandlerKey(string httpMethod, string path)
- {
- return httpMethod + ":" + path;
- }
-
- public bool AddXmlRPCHandler(string method, XmlRpcMethod handler)
- {
- if (!this.m_rpcHandlers.ContainsKey(method))
- {
- this.m_rpcHandlers.Add(method, handler);
- return true;
- }
-
- //must already have a handler for that path so return false
- return false;
- }
-
-
- public virtual void HandleRequest(Object stateinfo)
- {
- HttpListenerContext context = (HttpListenerContext)stateinfo;
-
- HttpListenerRequest request = context.Request;
- HttpListenerResponse response = context.Response;
-
- response.KeepAlive = false;
- response.SendChunked = false;
-
- string path = request.RawUrl;
- string handlerKey = GetHandlerKey( request.HttpMethod, path );
-
- IStreamHandler streamHandler;
-
- if (TryGetStreamHandler( handlerKey, out streamHandler))
- {
- byte[] buffer = streamHandler.Handle(path, request.InputStream);
- request.InputStream.Close();
-
- response.ContentType = streamHandler.ContentType;
- response.ContentLength64 = buffer.LongLength;
- response.OutputStream.Write(buffer, 0, buffer.Length);
- response.OutputStream.Close();
- }
- else
- {
- HandleXmlRpcRequests(request, response);
- }
- }
-
- private bool TryGetStreamHandler(string handlerKey, out IStreamHandler streamHandler)
- {
- string bestMatch = null;
-
- foreach (string pattern in m_streamHandlers.Keys)
- {
- if (handlerKey.StartsWith(pattern))
- {
- if (String.IsNullOrEmpty(bestMatch) || pattern.Length > bestMatch.Length)
- {
- bestMatch = pattern;
- }
- }
- }
-
- if (String.IsNullOrEmpty(bestMatch))
- {
- streamHandler = null;
- return false;
- }
- else
- {
- streamHandler = m_streamHandlers[bestMatch];
- return true;
- }
- }
-
- private void HandleXmlRpcRequests(HttpListenerRequest request, HttpListenerResponse response)
- {
- Stream requestStream = request.InputStream;
-
- Encoding encoding = Encoding.UTF8;
- StreamReader reader = new StreamReader(requestStream, encoding);
-
- string requestBody = reader.ReadToEnd();
- reader.Close();
- requestStream.Close();
-
- XmlRpcRequest xmlRprcRequest = (XmlRpcRequest)(new XmlRpcRequestDeserializer()).Deserialize(requestBody);
-
- string methodName = xmlRprcRequest.MethodName;
-
- XmlRpcResponse xmlRpcResponse;
-
- XmlRpcMethod method;
- if (this.m_rpcHandlers.TryGetValue(methodName, out method))
- {
- xmlRpcResponse = method(xmlRprcRequest);
- }
- else
- {
- xmlRpcResponse = new XmlRpcResponse();
- Hashtable unknownMethodError = new Hashtable();
- unknownMethodError["reason"] = "XmlRequest"; ;
- unknownMethodError["message"] = "Unknown Rpc Request ["+methodName+"]";
- unknownMethodError["login"] = "false";
- xmlRpcResponse.Value = unknownMethodError;
- }
-
- response.AddHeader("Content-type", "text/xml");
-
- string responseString = XmlRpcResponseSerializer.Singleton.Serialize(xmlRpcResponse);
-
- byte[] buffer = Encoding.UTF8.GetBytes(responseString);
-
- response.SendChunked = false;
- response.ContentLength64 = buffer.Length;
- response.ContentEncoding = Encoding.UTF8;
-
- response.OutputStream.Write(buffer, 0, buffer.Length);
- response.OutputStream.Close();
- }
-
- public void Start()
- {
- MainLog.Instance.WriteLine(LogPriority.LOW, "BaseHttpServer.cs: Starting up HTTP Server");
-
- m_workerThread = new Thread(new ThreadStart(StartHTTP));
- m_workerThread.IsBackground = true;
- m_workerThread.Start();
- }
-
- private void StartHTTP()
- {
- try
- {
- MainLog.Instance.WriteLine(LogPriority.LOW, "BaseHttpServer.cs: StartHTTP() - Spawned main thread OK");
- m_httpListener = new HttpListener();
-
- m_httpListener.Prefixes.Add("http://+:" + m_port + "/");
- m_httpListener.Start();
-
- HttpListenerContext context;
- while (true)
- {
- context = m_httpListener.GetContext();
- ThreadPool.QueueUserWorkItem(new WaitCallback(HandleRequest), context);
- }
- }
- catch (Exception e)
- {
- MainLog.Instance.WriteLine(LogPriority.MEDIUM, e.Message);
- }
- }
-
-
- public void RemoveStreamHandler(string httpMethod, string path)
- {
- m_streamHandlers.Remove(GetHandlerKey(httpMethod, path));
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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;
+using System.Collections.Generic;
+using System.IO;
+using System.Net;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Threading;
+using Nwc.XmlRpc;
+using OpenSim.Framework.Console;
+
+namespace OpenSim.Framework.Servers
+{
+ public class BaseHttpServer
+ {
+ protected Thread m_workerThread;
+ protected HttpListener m_httpListener;
+ protected Dictionary m_rpcHandlers = new Dictionary();
+ protected Dictionary m_streamHandlers = new Dictionary();
+ protected int m_port;
+ protected bool m_firstcaps = true;
+
+ public BaseHttpServer(int port)
+ {
+ m_port = port;
+ }
+
+ public void AddStreamHandler( IStreamHandler handler)
+ {
+ string httpMethod = handler.HttpMethod;
+ string path = handler.Path;
+
+ string handlerKey = GetHandlerKey(httpMethod, path);
+ m_streamHandlers.Add(handlerKey, handler);
+ }
+
+ private static string GetHandlerKey(string httpMethod, string path)
+ {
+ return httpMethod + ":" + path;
+ }
+
+ public bool AddXmlRPCHandler(string method, XmlRpcMethod handler)
+ {
+ if (!this.m_rpcHandlers.ContainsKey(method))
+ {
+ this.m_rpcHandlers.Add(method, handler);
+ return true;
+ }
+
+ //must already have a handler for that path so return false
+ return false;
+ }
+
+
+ public virtual void HandleRequest(Object stateinfo)
+ {
+ HttpListenerContext context = (HttpListenerContext)stateinfo;
+
+ HttpListenerRequest request = context.Request;
+ HttpListenerResponse response = context.Response;
+
+ response.KeepAlive = false;
+ response.SendChunked = false;
+
+ string path = request.RawUrl;
+ string handlerKey = GetHandlerKey( request.HttpMethod, path );
+
+ IStreamHandler streamHandler;
+
+ if (TryGetStreamHandler( handlerKey, out streamHandler))
+ {
+ byte[] buffer = streamHandler.Handle(path, request.InputStream);
+ request.InputStream.Close();
+
+ response.ContentType = streamHandler.ContentType;
+ response.ContentLength64 = buffer.LongLength;
+ response.OutputStream.Write(buffer, 0, buffer.Length);
+ response.OutputStream.Close();
+ }
+ else
+ {
+ HandleXmlRpcRequests(request, response);
+ }
+ }
+
+ private bool TryGetStreamHandler(string handlerKey, out IStreamHandler streamHandler)
+ {
+ string bestMatch = null;
+
+ foreach (string pattern in m_streamHandlers.Keys)
+ {
+ if (handlerKey.StartsWith(pattern))
+ {
+ if (String.IsNullOrEmpty(bestMatch) || pattern.Length > bestMatch.Length)
+ {
+ bestMatch = pattern;
+ }
+ }
+ }
+
+ if (String.IsNullOrEmpty(bestMatch))
+ {
+ streamHandler = null;
+ return false;
+ }
+ else
+ {
+ streamHandler = m_streamHandlers[bestMatch];
+ return true;
+ }
+ }
+
+ private void HandleXmlRpcRequests(HttpListenerRequest request, HttpListenerResponse response)
+ {
+ Stream requestStream = request.InputStream;
+
+ Encoding encoding = Encoding.UTF8;
+ StreamReader reader = new StreamReader(requestStream, encoding);
+
+ string requestBody = reader.ReadToEnd();
+ reader.Close();
+ requestStream.Close();
+
+ XmlRpcRequest xmlRprcRequest = (XmlRpcRequest)(new XmlRpcRequestDeserializer()).Deserialize(requestBody);
+
+ string methodName = xmlRprcRequest.MethodName;
+
+ XmlRpcResponse xmlRpcResponse;
+
+ XmlRpcMethod method;
+ if (this.m_rpcHandlers.TryGetValue(methodName, out method))
+ {
+ xmlRpcResponse = method(xmlRprcRequest);
+ }
+ else
+ {
+ xmlRpcResponse = new XmlRpcResponse();
+ Hashtable unknownMethodError = new Hashtable();
+ unknownMethodError["reason"] = "XmlRequest"; ;
+ unknownMethodError["message"] = "Unknown Rpc Request ["+methodName+"]";
+ unknownMethodError["login"] = "false";
+ xmlRpcResponse.Value = unknownMethodError;
+ }
+
+ response.AddHeader("Content-type", "text/xml");
+
+ string responseString = XmlRpcResponseSerializer.Singleton.Serialize(xmlRpcResponse);
+
+ byte[] buffer = Encoding.UTF8.GetBytes(responseString);
+
+ response.SendChunked = false;
+ response.ContentLength64 = buffer.Length;
+ response.ContentEncoding = Encoding.UTF8;
+
+ response.OutputStream.Write(buffer, 0, buffer.Length);
+ response.OutputStream.Close();
+ }
+
+ public void Start()
+ {
+ MainLog.Instance.WriteLine(LogPriority.LOW, "BaseHttpServer.cs: Starting up HTTP Server");
+
+ m_workerThread = new Thread(new ThreadStart(StartHTTP));
+ m_workerThread.IsBackground = true;
+ m_workerThread.Start();
+ }
+
+ private void StartHTTP()
+ {
+ try
+ {
+ MainLog.Instance.WriteLine(LogPriority.LOW, "BaseHttpServer.cs: StartHTTP() - Spawned main thread OK");
+ m_httpListener = new HttpListener();
+
+ m_httpListener.Prefixes.Add("http://+:" + m_port + "/");
+ m_httpListener.Start();
+
+ HttpListenerContext context;
+ while (true)
+ {
+ context = m_httpListener.GetContext();
+ ThreadPool.QueueUserWorkItem(new WaitCallback(HandleRequest), context);
+ }
+ }
+ catch (Exception e)
+ {
+ MainLog.Instance.WriteLine(LogPriority.MEDIUM, e.Message);
+ }
+ }
+
+
+ public void RemoveStreamHandler(string httpMethod, string path)
+ {
+ m_streamHandlers.Remove(GetHandlerKey(httpMethod, path));
+ }
+ }
+}
diff --git a/OpenSim/Framework/Servers/BaseStreamHandler.cs b/OpenSim/Framework/Servers/BaseStreamHandler.cs
index 0d9c674..0c714e6 100644
--- a/OpenSim/Framework/Servers/BaseStreamHandler.cs
+++ b/OpenSim/Framework/Servers/BaseStreamHandler.cs
@@ -1,40 +1,40 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.IO;
-
-namespace OpenSim.Framework.Servers
-{
- public abstract class BaseStreamHandler : IStreamHandler
- {
- virtual public string ContentType
- {
- get { return "application/xml"; }
- }
-
- private string m_httpMethod;
- virtual public string HttpMethod
- {
- get { return m_httpMethod; }
- }
-
- private string m_path;
- virtual public string Path
- {
- get { return m_path; }
- }
-
- protected string GetParam( string path )
- {
- return path.Substring( m_path.Length );
- }
-
- public abstract byte[] Handle(string path, Stream request);
-
- protected BaseStreamHandler(string httpMethod, string path)
- {
- m_httpMethod = httpMethod;
- m_path = path;
- }
- }
-}
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.IO;
+
+namespace OpenSim.Framework.Servers
+{
+ public abstract class BaseStreamHandler : IStreamHandler
+ {
+ virtual public string ContentType
+ {
+ get { return "application/xml"; }
+ }
+
+ private string m_httpMethod;
+ virtual public string HttpMethod
+ {
+ get { return m_httpMethod; }
+ }
+
+ private string m_path;
+ virtual public string Path
+ {
+ get { return m_path; }
+ }
+
+ protected string GetParam( string path )
+ {
+ return path.Substring( m_path.Length );
+ }
+
+ public abstract byte[] Handle(string path, Stream request);
+
+ protected BaseStreamHandler(string httpMethod, string path)
+ {
+ m_httpMethod = httpMethod;
+ m_path = path;
+ }
+ }
+}
diff --git a/OpenSim/Framework/Servers/BinaryStreamHandler.cs b/OpenSim/Framework/Servers/BinaryStreamHandler.cs
index 7d4e4ce..6e512f6 100644
--- a/OpenSim/Framework/Servers/BinaryStreamHandler.cs
+++ b/OpenSim/Framework/Servers/BinaryStreamHandler.cs
@@ -1,49 +1,49 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.IO;
-
-namespace OpenSim.Framework.Servers
-{
- public delegate string BinaryMethod(byte[] data, string path, string param);
-
- public class BinaryStreamHandler : BaseStreamHandler
- {
- BinaryMethod m_method;
-
- override public byte[] Handle(string path, Stream request)
- {
- byte[] data = ReadFully(request);
- string param = GetParam(path);
- string responseString = m_method(data, path, param);
-
- return Encoding.UTF8.GetBytes(responseString);
- }
-
- public BinaryStreamHandler(string httpMethod, string path, BinaryMethod binaryMethod)
- : base(httpMethod, path)
- {
- m_method = binaryMethod;
- }
-
- private byte[] ReadFully(Stream stream)
- {
- byte[] buffer = new byte[32768];
- using (MemoryStream ms = new MemoryStream())
- {
- while (true)
- {
- int read = stream.Read(buffer, 0, buffer.Length);
-
- if (read <= 0)
- {
- return ms.ToArray();
- }
-
- ms.Write(buffer, 0, read);
- }
- }
- }
- }
-
-}
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.IO;
+
+namespace OpenSim.Framework.Servers
+{
+ public delegate string BinaryMethod(byte[] data, string path, string param);
+
+ public class BinaryStreamHandler : BaseStreamHandler
+ {
+ BinaryMethod m_method;
+
+ override public byte[] Handle(string path, Stream request)
+ {
+ byte[] data = ReadFully(request);
+ string param = GetParam(path);
+ string responseString = m_method(data, path, param);
+
+ return Encoding.UTF8.GetBytes(responseString);
+ }
+
+ public BinaryStreamHandler(string httpMethod, string path, BinaryMethod binaryMethod)
+ : base(httpMethod, path)
+ {
+ m_method = binaryMethod;
+ }
+
+ private byte[] ReadFully(Stream stream)
+ {
+ byte[] buffer = new byte[32768];
+ using (MemoryStream ms = new MemoryStream())
+ {
+ while (true)
+ {
+ int read = stream.Read(buffer, 0, buffer.Length);
+
+ if (read <= 0)
+ {
+ return ms.ToArray();
+ }
+
+ ms.Write(buffer, 0, read);
+ }
+ }
+ }
+ }
+
+}
diff --git a/OpenSim/Framework/Servers/CheckSumServer.cs b/OpenSim/Framework/Servers/CheckSumServer.cs
index 89ec095..b1fa5cd 100644
--- a/OpenSim/Framework/Servers/CheckSumServer.cs
+++ b/OpenSim/Framework/Servers/CheckSumServer.cs
@@ -1,127 +1,127 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Servers
-{/*
- public class CheckSumServer : UDPServerBase
- {
- //protected ConsoleBase m_log;
-
- public CheckSumServer(int port)
- : base(port)
- {
- }
-
- protected override void OnReceivedData(IAsyncResult result)
- {
- ipeSender = new IPEndPoint(IPAddress.Any, 0);
- epSender = (EndPoint)ipeSender;
- Packet packet = null;
- int numBytes = Server.EndReceiveFrom(result, ref epSender);
- int packetEnd = numBytes - 1;
-
- packet = Packet.BuildPacket(RecvBuffer, ref packetEnd, ZeroBuffer);
-
- if (packet.Type == PacketType.SecuredTemplateChecksumRequest)
- {
- SecuredTemplateChecksumRequestPacket checksum = (SecuredTemplateChecksumRequestPacket)packet;
- TemplateChecksumReplyPacket checkreply = new TemplateChecksumReplyPacket();
- checkreply.DataBlock.Checksum = 3220703154;//180572585;
- checkreply.DataBlock.Flags = 0;
- checkreply.DataBlock.MajorVersion = 1;
- checkreply.DataBlock.MinorVersion = 15;
- checkreply.DataBlock.PatchVersion = 0;
- checkreply.DataBlock.ServerVersion = 0;
- checkreply.TokenBlock.Token = checksum.TokenBlock.Token;
- this.SendPacket(checkreply, epSender);
-
- /*
- //if we wanted to echo the the checksum/ version from the client (so that any client worked)
- SecuredTemplateChecksumRequestPacket checkrequest = new SecuredTemplateChecksumRequestPacket();
- checkrequest.TokenBlock.Token = checksum.TokenBlock.Token;
- this.SendPacket(checkrequest, epSender);
-
- }
- else if (packet.Type == PacketType.TemplateChecksumReply)
- {
- //echo back the client checksum reply (Hegemon's method)
- TemplateChecksumReplyPacket checksum2 = (TemplateChecksumReplyPacket)packet;
- TemplateChecksumReplyPacket checkreply2 = new TemplateChecksumReplyPacket();
- checkreply2.DataBlock.Checksum = checksum2.DataBlock.Checksum;
- checkreply2.DataBlock.Flags = checksum2.DataBlock.Flags;
- checkreply2.DataBlock.MajorVersion = checksum2.DataBlock.MajorVersion;
- checkreply2.DataBlock.MinorVersion = checksum2.DataBlock.MinorVersion;
- checkreply2.DataBlock.PatchVersion = checksum2.DataBlock.PatchVersion;
- checkreply2.DataBlock.ServerVersion = checksum2.DataBlock.ServerVersion;
- checkreply2.TokenBlock.Token = checksum2.TokenBlock.Token;
- this.SendPacket(checkreply2, epSender);
- }
- else
- {
- }
-
- Server.BeginReceiveFrom(RecvBuffer, 0, RecvBuffer.Length, SocketFlags.None, ref epSender, ReceivedData, null);
- }
-
- private void SendPacket(Packet Pack, EndPoint endp)
- {
- if (!Pack.Header.Resent)
- {
- Pack.Header.Sequence = 1;
- }
-
- byte[] ZeroOutBuffer = new byte[4096];
- byte[] sendbuffer;
- sendbuffer = Pack.ToBytes();
-
- try
- {
- if (Pack.Header.Zerocoded)
- {
- int packetsize = Helpers.ZeroEncode(sendbuffer, sendbuffer.Length, ZeroOutBuffer);
- this.SendPackTo(ZeroOutBuffer, packetsize, SocketFlags.None, endp);
- }
- else
- {
- this.SendPackTo(sendbuffer, sendbuffer.Length, SocketFlags.None, endp);
- }
- }
- catch (Exception)
- {
- OpenSim.Framework.Console.MainLog.Instance.Warn("OpenSimClient.cs:ProcessOutPacket() - WARNING: Socket exception occurred on connection ");
-
- }
- }
-
- private void SendPackTo(byte[] buffer, int size, SocketFlags flags, EndPoint endp)
- {
- this.Server.SendTo(buffer, size, flags, endp);
- }
- * }
- */
-
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Servers
+{/*
+ public class CheckSumServer : UDPServerBase
+ {
+ //protected ConsoleBase m_log;
+
+ public CheckSumServer(int port)
+ : base(port)
+ {
+ }
+
+ protected override void OnReceivedData(IAsyncResult result)
+ {
+ ipeSender = new IPEndPoint(IPAddress.Any, 0);
+ epSender = (EndPoint)ipeSender;
+ Packet packet = null;
+ int numBytes = Server.EndReceiveFrom(result, ref epSender);
+ int packetEnd = numBytes - 1;
+
+ packet = Packet.BuildPacket(RecvBuffer, ref packetEnd, ZeroBuffer);
+
+ if (packet.Type == PacketType.SecuredTemplateChecksumRequest)
+ {
+ SecuredTemplateChecksumRequestPacket checksum = (SecuredTemplateChecksumRequestPacket)packet;
+ TemplateChecksumReplyPacket checkreply = new TemplateChecksumReplyPacket();
+ checkreply.DataBlock.Checksum = 3220703154;//180572585;
+ checkreply.DataBlock.Flags = 0;
+ checkreply.DataBlock.MajorVersion = 1;
+ checkreply.DataBlock.MinorVersion = 15;
+ checkreply.DataBlock.PatchVersion = 0;
+ checkreply.DataBlock.ServerVersion = 0;
+ checkreply.TokenBlock.Token = checksum.TokenBlock.Token;
+ this.SendPacket(checkreply, epSender);
+
+ /*
+ //if we wanted to echo the the checksum/ version from the client (so that any client worked)
+ SecuredTemplateChecksumRequestPacket checkrequest = new SecuredTemplateChecksumRequestPacket();
+ checkrequest.TokenBlock.Token = checksum.TokenBlock.Token;
+ this.SendPacket(checkrequest, epSender);
+
+ }
+ else if (packet.Type == PacketType.TemplateChecksumReply)
+ {
+ //echo back the client checksum reply (Hegemon's method)
+ TemplateChecksumReplyPacket checksum2 = (TemplateChecksumReplyPacket)packet;
+ TemplateChecksumReplyPacket checkreply2 = new TemplateChecksumReplyPacket();
+ checkreply2.DataBlock.Checksum = checksum2.DataBlock.Checksum;
+ checkreply2.DataBlock.Flags = checksum2.DataBlock.Flags;
+ checkreply2.DataBlock.MajorVersion = checksum2.DataBlock.MajorVersion;
+ checkreply2.DataBlock.MinorVersion = checksum2.DataBlock.MinorVersion;
+ checkreply2.DataBlock.PatchVersion = checksum2.DataBlock.PatchVersion;
+ checkreply2.DataBlock.ServerVersion = checksum2.DataBlock.ServerVersion;
+ checkreply2.TokenBlock.Token = checksum2.TokenBlock.Token;
+ this.SendPacket(checkreply2, epSender);
+ }
+ else
+ {
+ }
+
+ Server.BeginReceiveFrom(RecvBuffer, 0, RecvBuffer.Length, SocketFlags.None, ref epSender, ReceivedData, null);
+ }
+
+ private void SendPacket(Packet Pack, EndPoint endp)
+ {
+ if (!Pack.Header.Resent)
+ {
+ Pack.Header.Sequence = 1;
+ }
+
+ byte[] ZeroOutBuffer = new byte[4096];
+ byte[] sendbuffer;
+ sendbuffer = Pack.ToBytes();
+
+ try
+ {
+ if (Pack.Header.Zerocoded)
+ {
+ int packetsize = Helpers.ZeroEncode(sendbuffer, sendbuffer.Length, ZeroOutBuffer);
+ this.SendPackTo(ZeroOutBuffer, packetsize, SocketFlags.None, endp);
+ }
+ else
+ {
+ this.SendPackTo(sendbuffer, sendbuffer.Length, SocketFlags.None, endp);
+ }
+ }
+ catch (Exception)
+ {
+ OpenSim.Framework.Console.MainLog.Instance.Warn("OpenSimClient.cs:ProcessOutPacket() - WARNING: Socket exception occurred on connection ");
+
+ }
+ }
+
+ private void SendPackTo(byte[] buffer, int size, SocketFlags flags, EndPoint endp)
+ {
+ this.Server.SendTo(buffer, size, flags, endp);
+ }
+ * }
+ */
+
}
\ No newline at end of file
diff --git a/OpenSim/Framework/Servers/IStreamHandler.cs b/OpenSim/Framework/Servers/IStreamHandler.cs
index 6cab40d..8858c99 100644
--- a/OpenSim/Framework/Servers/IStreamHandler.cs
+++ b/OpenSim/Framework/Servers/IStreamHandler.cs
@@ -1,22 +1,22 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.IO;
-
-namespace OpenSim.Framework.Servers
-{
- public interface IStreamHandler
- {
- // Handle request stream, return byte array
- byte[] Handle(string path, Stream request );
-
- // Return response content type
- string ContentType { get; }
-
- // Return required http method
- string HttpMethod { get;}
-
- // Return path
- string Path { get; }
- }
-}
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.IO;
+
+namespace OpenSim.Framework.Servers
+{
+ public interface IStreamHandler
+ {
+ // Handle request stream, return byte array
+ byte[] Handle(string path, Stream request );
+
+ // Return response content type
+ string ContentType { get; }
+
+ // Return required http method
+ string HttpMethod { get;}
+
+ // Return path
+ string Path { get; }
+ }
+}
diff --git a/OpenSim/Framework/Servers/RestMethod.cs b/OpenSim/Framework/Servers/RestMethod.cs
index c6cb230..0c2624b 100644
--- a/OpenSim/Framework/Servers/RestMethod.cs
+++ b/OpenSim/Framework/Servers/RestMethod.cs
@@ -1,31 +1,31 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Servers
-{
- public delegate string RestMethod( string request, string path, string param );
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Servers
+{
+ public delegate string RestMethod( string request, string path, string param );
+}
diff --git a/OpenSim/Framework/Servers/RestStreamHandler.cs b/OpenSim/Framework/Servers/RestStreamHandler.cs
index 1b3b41c..6753a06 100644
--- a/OpenSim/Framework/Servers/RestStreamHandler.cs
+++ b/OpenSim/Framework/Servers/RestStreamHandler.cs
@@ -1,31 +1,31 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.IO;
-
-namespace OpenSim.Framework.Servers
-{
- public class RestStreamHandler : BaseStreamHandler
- {
- RestMethod m_restMethod;
-
- override public byte[] Handle(string path, Stream request )
- {
- Encoding encoding = Encoding.UTF8;
- StreamReader streamReader = new StreamReader(request, encoding);
-
- string requestBody = streamReader.ReadToEnd();
- streamReader.Close();
-
- string param = GetParam(path);
- string responseString = m_restMethod(requestBody, path, param );
-
- return Encoding.UTF8.GetBytes(responseString);
- }
-
- public RestStreamHandler(string httpMethod, string path, RestMethod restMethod) : base( httpMethod, path )
- {
- m_restMethod = restMethod;
- }
- }
-}
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.IO;
+
+namespace OpenSim.Framework.Servers
+{
+ public class RestStreamHandler : BaseStreamHandler
+ {
+ RestMethod m_restMethod;
+
+ override public byte[] Handle(string path, Stream request )
+ {
+ Encoding encoding = Encoding.UTF8;
+ StreamReader streamReader = new StreamReader(request, encoding);
+
+ string requestBody = streamReader.ReadToEnd();
+ streamReader.Close();
+
+ string param = GetParam(path);
+ string responseString = m_restMethod(requestBody, path, param );
+
+ return Encoding.UTF8.GetBytes(responseString);
+ }
+
+ public RestStreamHandler(string httpMethod, string path, RestMethod restMethod) : base( httpMethod, path )
+ {
+ m_restMethod = restMethod;
+ }
+ }
+}
diff --git a/OpenSim/Framework/Servers/UDPServerBase.cs b/OpenSim/Framework/Servers/UDPServerBase.cs
index 508eb9d..8113207 100644
--- a/OpenSim/Framework/Servers/UDPServerBase.cs
+++ b/OpenSim/Framework/Servers/UDPServerBase.cs
@@ -1,87 +1,87 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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.Packets;
-
-namespace OpenSim.Framework.Servers
-{
- public class UDPServerBase
- {
- public Socket Server;
- protected IPEndPoint ServerIncoming;
- protected byte[] RecvBuffer = new byte[4096];
- protected byte[] ZeroBuffer = new byte[8192];
- protected IPEndPoint ipeSender;
- protected EndPoint epSender;
- protected AsyncCallback ReceivedData;
- protected int listenPort;
-
- public UDPServerBase(int port)
- {
- listenPort = port;
- }
-
- protected virtual void OnReceivedData(IAsyncResult result)
- {
- ipeSender = new IPEndPoint(IPAddress.Parse("0.0.0.0"), 0);
- epSender = (EndPoint)ipeSender;
- Packet packet = null;
- int numBytes = Server.EndReceiveFrom(result, ref epSender);
- int packetEnd = numBytes - 1;
-
- packet = Packet.BuildPacket(RecvBuffer, ref packetEnd, ZeroBuffer);
-
- Server.BeginReceiveFrom(RecvBuffer, 0, RecvBuffer.Length, SocketFlags.None, ref epSender, ReceivedData, null);
- }
-
- protected virtual void AddNewClient(Packet packet)
- {
- }
-
- public virtual void ServerListener()
- {
-
- ServerIncoming = new IPEndPoint(IPAddress.Parse("0.0.0.0"), listenPort);
- Server = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
- Server.Bind(ServerIncoming);
-
- ipeSender = new IPEndPoint(IPAddress.Parse("0.0.0.0"), 0);
- epSender = (EndPoint)ipeSender;
- ReceivedData = new AsyncCallback(this.OnReceivedData);
- Server.BeginReceiveFrom(RecvBuffer, 0, RecvBuffer.Length, SocketFlags.None, ref epSender, ReceivedData, null);
- }
-
- public virtual void SendPacketTo(byte[] buffer, int size, SocketFlags flags, uint circuitcode)
- {
-
- }
- }
-}
-
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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.Packets;
+
+namespace OpenSim.Framework.Servers
+{
+ public class UDPServerBase
+ {
+ public Socket Server;
+ protected IPEndPoint ServerIncoming;
+ protected byte[] RecvBuffer = new byte[4096];
+ protected byte[] ZeroBuffer = new byte[8192];
+ protected IPEndPoint ipeSender;
+ protected EndPoint epSender;
+ protected AsyncCallback ReceivedData;
+ protected int listenPort;
+
+ public UDPServerBase(int port)
+ {
+ listenPort = port;
+ }
+
+ protected virtual void OnReceivedData(IAsyncResult result)
+ {
+ ipeSender = new IPEndPoint(IPAddress.Parse("0.0.0.0"), 0);
+ epSender = (EndPoint)ipeSender;
+ Packet packet = null;
+ int numBytes = Server.EndReceiveFrom(result, ref epSender);
+ int packetEnd = numBytes - 1;
+
+ packet = Packet.BuildPacket(RecvBuffer, ref packetEnd, ZeroBuffer);
+
+ Server.BeginReceiveFrom(RecvBuffer, 0, RecvBuffer.Length, SocketFlags.None, ref epSender, ReceivedData, null);
+ }
+
+ protected virtual void AddNewClient(Packet packet)
+ {
+ }
+
+ public virtual void ServerListener()
+ {
+
+ ServerIncoming = new IPEndPoint(IPAddress.Parse("0.0.0.0"), listenPort);
+ Server = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
+ Server.Bind(ServerIncoming);
+
+ ipeSender = new IPEndPoint(IPAddress.Parse("0.0.0.0"), 0);
+ epSender = (EndPoint)ipeSender;
+ ReceivedData = new AsyncCallback(this.OnReceivedData);
+ Server.BeginReceiveFrom(RecvBuffer, 0, RecvBuffer.Length, SocketFlags.None, ref epSender, ReceivedData, null);
+ }
+
+ public virtual void SendPacketTo(byte[] buffer, int size, SocketFlags flags, uint circuitcode)
+ {
+
+ }
+ }
+}
+
diff --git a/OpenSim/Framework/Servers/XmlRpcMethod.cs b/OpenSim/Framework/Servers/XmlRpcMethod.cs
index b76ac51..b8abecf 100644
--- a/OpenSim/Framework/Servers/XmlRpcMethod.cs
+++ b/OpenSim/Framework/Servers/XmlRpcMethod.cs
@@ -1,33 +1,33 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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 Nwc.XmlRpc;
-
-namespace OpenSim.Framework.Servers
-{
- public delegate XmlRpcResponse XmlRpcMethod( XmlRpcRequest request );
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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 Nwc.XmlRpc;
+
+namespace OpenSim.Framework.Servers
+{
+ public delegate XmlRpcResponse XmlRpcMethod( XmlRpcRequest request );
+}
diff --git a/OpenSim/Framework/UserManager/LoginResponse.cs b/OpenSim/Framework/UserManager/LoginResponse.cs
index abcbd48..d3dfd5b 100644
--- a/OpenSim/Framework/UserManager/LoginResponse.cs
+++ b/OpenSim/Framework/UserManager/LoginResponse.cs
@@ -1,643 +1,643 @@
-using System;
-using System.Collections;
-using libsecondlife;
-using Nwc.XmlRpc;
-using OpenSim.Framework.Console;
-
-namespace OpenSim.Framework.UserManagement
-{
-
- ///
- /// A temp class to handle login response.
- /// Should make use of UserProfileManager where possible.
- ///
-
- public class LoginResponse
- {
- private Hashtable loginFlagsHash;
- private Hashtable globalTexturesHash;
- private Hashtable loginError;
- private Hashtable eventCategoriesHash;
- private Hashtable uiConfigHash;
- private Hashtable classifiedCategoriesHash;
-
- private ArrayList loginFlags;
- private ArrayList globalTextures;
- private ArrayList eventCategories;
- private ArrayList uiConfig;
- private ArrayList classifiedCategories;
- private ArrayList inventoryRoot;
- private ArrayList initialOutfit;
- private ArrayList agentInventory;
-
- private UserInfo userProfile;
-
- private LLUUID agentID;
- private LLUUID sessionID;
- private LLUUID secureSessionID;
-
- // Login Flags
- private string dst;
- private string stipendSinceLogin;
- private string gendered;
- private string everLoggedIn;
- private string login;
- private int simPort;
- private string simAddress;
- private string agentAccess;
- private Int32 circuitCode;
- private uint regionX;
- private uint regionY;
-
- // Login
- private string firstname;
- private string lastname;
-
- // Global Textures
- private string sunTexture;
- private string cloudTexture;
- private string moonTexture;
-
- // Error Flags
- private string errorReason;
- private string errorMessage;
-
- // Response
- private XmlRpcResponse xmlRpcResponse;
- private XmlRpcResponse defaultXmlRpcResponse;
-
- private string welcomeMessage;
- private string startLocation;
- private string allowFirstLife;
- private string home;
- private string seedCapability;
- private string lookAt;
-
- public LoginResponse()
- {
- this.loginFlags = new ArrayList();
- this.globalTextures = new ArrayList();
- this.eventCategories = new ArrayList();
- this.uiConfig = new ArrayList();
- this.classifiedCategories = new ArrayList();
-
- this.loginError = new Hashtable();
- this.eventCategoriesHash = new Hashtable();
- this.classifiedCategoriesHash = new Hashtable();
- this.uiConfigHash = new Hashtable();
-
- this.defaultXmlRpcResponse = new XmlRpcResponse();
- this.userProfile = new UserInfo();
- this.inventoryRoot = new ArrayList();
- this.initialOutfit = new ArrayList();
- this.agentInventory = new ArrayList();
-
- this.xmlRpcResponse = new XmlRpcResponse();
- this.defaultXmlRpcResponse = new XmlRpcResponse();
-
- this.SetDefaultValues();
- } // LoginServer
-
- public void SetDefaultValues()
- {
- this.DST = "N";
- this.StipendSinceLogin = "N";
- this.Gendered = "Y";
- this.EverLoggedIn = "Y";
- this.login = "false";
- this.firstname = "Test";
- this.lastname = "User";
- this.agentAccess = "M";
- this.startLocation = "last";
- this.allowFirstLife = "Y";
-
- this.SunTexture = "cce0f112-878f-4586-a2e2-a8f104bba271";
- this.CloudTexture = "fc4b9f0b-d008-45c6-96a4-01dd947ac621";
- this.MoonTexture = "fc4b9f0b-d008-45c6-96a4-01dd947ac621";
-
- this.ErrorMessage = "You have entered an invalid name/password combination. Check Caps/lock.";
- this.ErrorReason = "key";
- this.welcomeMessage = "Welcome to OpenSim!";
- this.seedCapability = "";
- this.home = "{'region_handle':[r" + (1000 * 256).ToString() + ",r" + (1000 * 256).ToString() + "], 'position':[r" + this.userProfile.homepos.X.ToString() + ",r" + this.userProfile.homepos.Y.ToString() + ",r" + this.userProfile.homepos.Z.ToString() + "], 'look_at':[r" + this.userProfile.homelookat.X.ToString() + ",r" + this.userProfile.homelookat.Y.ToString() + ",r" + this.userProfile.homelookat.Z.ToString() + "]}";
- this.lookAt = "[r0.99949799999999999756,r0.03166859999999999814,r0]";
- this.RegionX = (uint)255232;
- this.RegionY = (uint)254976;
-
- // Classifieds;
- this.AddClassifiedCategory((Int32)1, "Shopping");
- this.AddClassifiedCategory((Int32)2, "Land Rental");
- this.AddClassifiedCategory((Int32)3, "Property Rental");
- this.AddClassifiedCategory((Int32)4, "Special Attraction");
- this.AddClassifiedCategory((Int32)5, "New Products");
- this.AddClassifiedCategory((Int32)6, "Employment");
- this.AddClassifiedCategory((Int32)7, "Wanted");
- this.AddClassifiedCategory((Int32)8, "Service");
- this.AddClassifiedCategory((Int32)9, "Personal");
-
-
- this.SessionID = LLUUID.Random();
- this.SecureSessionID = LLUUID.Random();
- this.AgentID = LLUUID.Random();
-
- Hashtable InitialOutfitHash = new Hashtable();
- InitialOutfitHash["folder_name"] = "Nightclub Female";
- InitialOutfitHash["gender"] = "female";
- this.initialOutfit.Add(InitialOutfitHash);
-
-
- } // SetDefaultValues
-
- #region Login Failure Methods
- public XmlRpcResponse GenerateFailureResponse(string reason, string message, string login)
- {
- // Overwrite any default values;
- this.xmlRpcResponse = new XmlRpcResponse();
-
- // Ensure Login Failed message/reason;
- this.ErrorMessage = message;
- this.ErrorReason = reason;
-
- this.loginError["reason"] = this.ErrorReason;
- this.loginError["message"] = this.ErrorMessage;
- this.loginError["login"] = login;
- this.xmlRpcResponse.Value = this.loginError;
- return (this.xmlRpcResponse);
- } // GenerateResponse
-
- public XmlRpcResponse CreateFailedResponse()
- {
- return (this.CreateLoginFailedResponse());
- } // CreateErrorConnectingToGridResponse()
-
- public XmlRpcResponse CreateLoginFailedResponse()
- {
- return (this.GenerateFailureResponse("key", "Could not authenticate your avatar. Please check your username and password, and check the grid if problems persist.", "false"));
- } // LoginFailedResponse
-
- public XmlRpcResponse CreateAlreadyLoggedInResponse()
- {
- return (this.GenerateFailureResponse("presence", "You appear to be already logged in, if this is not the case please wait for your session to timeout, if this takes longer than a few minutes please contact the grid owner", "false"));
- } // CreateAlreadyLoggedInResponse()
-
- public XmlRpcResponse CreateDeadRegionResponse()
- {
- return (this.GenerateFailureResponse("key", "The region you are attempting to log into is not responding. Please select another region and try again.", "false"));
- }
-
- public XmlRpcResponse CreateGridErrorResponse()
- {
- return (this.GenerateFailureResponse("key", "Error connecting to grid. Could not percieve credentials from login XML.", "false"));
- }
-
- #endregion
-
- public XmlRpcResponse ToXmlRpcResponse()
- {
- try
- {
-
- Hashtable responseData = new Hashtable();
-
- this.loginFlagsHash = new Hashtable();
- this.loginFlagsHash["daylight_savings"] = this.DST;
- this.loginFlagsHash["stipend_since_login"] = this.StipendSinceLogin;
- this.loginFlagsHash["gendered"] = this.Gendered;
- this.loginFlagsHash["ever_logged_in"] = this.EverLoggedIn;
- this.loginFlags.Add(this.loginFlagsHash);
-
- responseData["first_name"] = this.Firstname;
- responseData["last_name"] = this.Lastname;
- responseData["agent_access"] = this.agentAccess;
-
- this.globalTexturesHash = new Hashtable();
- this.globalTexturesHash["sun_texture_id"] = this.SunTexture;
- this.globalTexturesHash["cloud_texture_id"] = this.CloudTexture;
- this.globalTexturesHash["moon_texture_id"] = this.MoonTexture;
- this.globalTextures.Add(this.globalTexturesHash);
- this.eventCategories.Add(this.eventCategoriesHash);
-
- this.AddToUIConfig("allow_first_life", this.allowFirstLife);
- this.uiConfig.Add(this.uiConfigHash);
-
- responseData["sim_port"] =(Int32) this.SimPort;
- responseData["sim_ip"] = this.SimAddress;
-
- MainLog.Instance.Warn("SIM IP: " + responseData["sim_ip"] + "; SIM PORT: " + responseData["sim_port"]);
-
- responseData["agent_id"] = this.AgentID.ToStringHyphenated();
- responseData["session_id"] = this.SessionID.ToStringHyphenated();
- responseData["secure_session_id"] = this.SecureSessionID.ToStringHyphenated();
- responseData["circuit_code"] = this.CircuitCode;
- responseData["seconds_since_epoch"] = (Int32)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds;
- responseData["login-flags"] = this.loginFlags;
- responseData["global-textures"] = this.globalTextures;
- responseData["seed_capability"] = this.seedCapability;
-
- responseData["event_categories"] = this.eventCategories;
- responseData["event_notifications"] = new ArrayList(); // todo
- responseData["classified_categories"] = this.classifiedCategories;
- responseData["ui-config"] = this.uiConfig;
-
- responseData["inventory-skeleton"] = this.agentInventory;
- responseData["inventory-skel-lib"] = new ArrayList(); // todo
- responseData["inventory-root"] = this.inventoryRoot;
- responseData["gestures"] = new ArrayList(); // todo
- responseData["inventory-lib-owner"] = new ArrayList(); // todo
- responseData["initial-outfit"] = this.initialOutfit;
- responseData["start_location"] = this.startLocation;
- responseData["seed_capability"] = this.seedCapability;
- responseData["home"] = this.home;
- responseData["look_at"] = this.lookAt;
- responseData["message"] = this.welcomeMessage;
- responseData["region_x"] = (Int32)this.RegionX * 256;
- responseData["region_y"] = (Int32)this.RegionY * 256;
-
- //responseData["inventory-lib-root"] = new ArrayList(); // todo
- //responseData["buddy-list"] = new ArrayList(); // todo
-
- responseData["login"] = "true";
- this.xmlRpcResponse.Value = responseData;
-
- return (this.xmlRpcResponse);
- }
- catch (Exception e)
- {
- MainLog.Instance.WriteLine(
- LogPriority.LOW,
- "LoginResponse: Error creating XML-RPC Response: " + e.Message
- );
- return (this.GenerateFailureResponse("Internal Error", "Error generating Login Response", "false"));
-
- }
-
- } // ToXmlRpcResponse
-
- public void SetEventCategories(string category, string value)
- {
- this.eventCategoriesHash[category] = value;
- } // SetEventCategories
-
- public void AddToUIConfig(string itemName, string item)
- {
- this.uiConfigHash[itemName] = item;
- } // SetUIConfig
-
- public void AddClassifiedCategory(Int32 ID, string categoryName)
- {
- this.classifiedCategoriesHash["category_name"] = categoryName;
- this.classifiedCategoriesHash["category_id"] = ID;
- this.classifiedCategories.Add(this.classifiedCategoriesHash);
- // this.classifiedCategoriesHash.Clear();
- } // SetClassifiedCategory
-
- #region Properties
- public string Login
- {
- get
- {
- return this.login;
- }
- set
- {
- this.login = value;
- }
- } // Login
-
- public string DST
- {
- get
- {
- return this.dst;
- }
- set
- {
- this.dst = value;
- }
- } // DST
-
- public string StipendSinceLogin
- {
- get
- {
- return this.stipendSinceLogin;
- }
- set
- {
- this.stipendSinceLogin = value;
- }
- } // StipendSinceLogin
-
- public string Gendered
- {
- get
- {
- return this.gendered;
- }
- set
- {
- this.gendered = value;
- }
- } // Gendered
-
- public string EverLoggedIn
- {
- get
- {
- return this.everLoggedIn;
- }
- set
- {
- this.everLoggedIn = value;
- }
- } // EverLoggedIn
-
- public int SimPort
- {
- get
- {
- return this.simPort;
- }
- set
- {
- this.simPort = value;
- }
- } // SimPort
-
- public string SimAddress
- {
- get
- {
- return this.simAddress;
- }
- set
- {
- this.simAddress = value;
- }
- } // SimAddress
-
- public LLUUID AgentID
- {
- get
- {
- return this.agentID;
- }
- set
- {
- this.agentID = value;
- }
- } // AgentID
-
- public LLUUID SessionID
- {
- get
- {
- return this.sessionID;
- }
- set
- {
- this.sessionID = value;
- }
- } // SessionID
-
- public LLUUID SecureSessionID
- {
- get
- {
- return this.secureSessionID;
- }
- set
- {
- this.secureSessionID = value;
- }
- } // SecureSessionID
-
- public Int32 CircuitCode
- {
- get
- {
- return this.circuitCode;
- }
- set
- {
- this.circuitCode = value;
- }
- } // CircuitCode
-
- public uint RegionX
- {
- get
- {
- return this.regionX;
- }
- set
- {
- this.regionX = value;
- }
- } // RegionX
-
- public uint RegionY
- {
- get
- {
- return this.regionY;
- }
- set
- {
- this.regionY = value;
- }
- } // RegionY
-
- public string SunTexture
- {
- get
- {
- return this.sunTexture;
- }
- set
- {
- this.sunTexture = value;
- }
- } // SunTexture
-
- public string CloudTexture
- {
- get
- {
- return this.cloudTexture;
- }
- set
- {
- this.cloudTexture = value;
- }
- } // CloudTexture
-
- public string MoonTexture
- {
- get
- {
- return this.moonTexture;
- }
- set
- {
- this.moonTexture = value;
- }
- } // MoonTexture
-
- public string Firstname
- {
- get
- {
- return this.firstname;
- }
- set
- {
- this.firstname = value;
- }
- } // Firstname
-
- public string Lastname
- {
- get
- {
- return this.lastname;
- }
- set
- {
- this.lastname = value;
- }
- } // Lastname
-
- public string AgentAccess
- {
- get
- {
- return this.agentAccess;
- }
- set
- {
- this.agentAccess = value;
- }
- }
-
- public string StartLocation
- {
- get
- {
- return this.startLocation;
- }
- set
- {
- this.startLocation = value;
- }
- } // StartLocation
-
- public string LookAt
- {
- get
- {
- return this.lookAt;
- }
- set
- {
- this.lookAt = value;
- }
- }
-
- public string SeedCapability
- {
- get
- {
- return this.seedCapability;
- }
- set
- {
- this.seedCapability = value;
- }
- } // SeedCapability
-
- public string ErrorReason
- {
- get
- {
- return this.errorReason;
- }
- set
- {
- this.errorReason = value;
- }
- } // ErrorReason
-
- public string ErrorMessage
- {
- get
- {
- return this.errorMessage;
- }
- set
- {
- this.errorMessage = value;
- }
- } // ErrorMessage
-
- public ArrayList InventoryRoot
- {
- get
- {
- return this.inventoryRoot;
- }
- set
- {
- this.inventoryRoot = value;
- }
- }
-
- public ArrayList InventorySkeleton
- {
- get
- {
- return this.agentInventory;
- }
- set
- {
- this.agentInventory = value;
- }
- }
-
- public string Home
- {
- get
- {
- return this.home;
- }
- set
- {
- this.home = value;
- }
- }
-
- public string Message
- {
- get
- {
- return this.welcomeMessage;
- }
- set
- {
- this.welcomeMessage = value;
- }
- }
- #endregion
-
-
- public class UserInfo
- {
- public string firstname;
- public string lastname;
- public ulong homeregionhandle;
- public LLVector3 homepos;
- public LLVector3 homelookat;
- }
- }
-}
-
+using System;
+using System.Collections;
+using libsecondlife;
+using Nwc.XmlRpc;
+using OpenSim.Framework.Console;
+
+namespace OpenSim.Framework.UserManagement
+{
+
+ ///
+ /// A temp class to handle login response.
+ /// Should make use of UserProfileManager where possible.
+ ///
+
+ public class LoginResponse
+ {
+ private Hashtable loginFlagsHash;
+ private Hashtable globalTexturesHash;
+ private Hashtable loginError;
+ private Hashtable eventCategoriesHash;
+ private Hashtable uiConfigHash;
+ private Hashtable classifiedCategoriesHash;
+
+ private ArrayList loginFlags;
+ private ArrayList globalTextures;
+ private ArrayList eventCategories;
+ private ArrayList uiConfig;
+ private ArrayList classifiedCategories;
+ private ArrayList inventoryRoot;
+ private ArrayList initialOutfit;
+ private ArrayList agentInventory;
+
+ private UserInfo userProfile;
+
+ private LLUUID agentID;
+ private LLUUID sessionID;
+ private LLUUID secureSessionID;
+
+ // Login Flags
+ private string dst;
+ private string stipendSinceLogin;
+ private string gendered;
+ private string everLoggedIn;
+ private string login;
+ private int simPort;
+ private string simAddress;
+ private string agentAccess;
+ private Int32 circuitCode;
+ private uint regionX;
+ private uint regionY;
+
+ // Login
+ private string firstname;
+ private string lastname;
+
+ // Global Textures
+ private string sunTexture;
+ private string cloudTexture;
+ private string moonTexture;
+
+ // Error Flags
+ private string errorReason;
+ private string errorMessage;
+
+ // Response
+ private XmlRpcResponse xmlRpcResponse;
+ private XmlRpcResponse defaultXmlRpcResponse;
+
+ private string welcomeMessage;
+ private string startLocation;
+ private string allowFirstLife;
+ private string home;
+ private string seedCapability;
+ private string lookAt;
+
+ public LoginResponse()
+ {
+ this.loginFlags = new ArrayList();
+ this.globalTextures = new ArrayList();
+ this.eventCategories = new ArrayList();
+ this.uiConfig = new ArrayList();
+ this.classifiedCategories = new ArrayList();
+
+ this.loginError = new Hashtable();
+ this.eventCategoriesHash = new Hashtable();
+ this.classifiedCategoriesHash = new Hashtable();
+ this.uiConfigHash = new Hashtable();
+
+ this.defaultXmlRpcResponse = new XmlRpcResponse();
+ this.userProfile = new UserInfo();
+ this.inventoryRoot = new ArrayList();
+ this.initialOutfit = new ArrayList();
+ this.agentInventory = new ArrayList();
+
+ this.xmlRpcResponse = new XmlRpcResponse();
+ this.defaultXmlRpcResponse = new XmlRpcResponse();
+
+ this.SetDefaultValues();
+ } // LoginServer
+
+ public void SetDefaultValues()
+ {
+ this.DST = "N";
+ this.StipendSinceLogin = "N";
+ this.Gendered = "Y";
+ this.EverLoggedIn = "Y";
+ this.login = "false";
+ this.firstname = "Test";
+ this.lastname = "User";
+ this.agentAccess = "M";
+ this.startLocation = "last";
+ this.allowFirstLife = "Y";
+
+ this.SunTexture = "cce0f112-878f-4586-a2e2-a8f104bba271";
+ this.CloudTexture = "fc4b9f0b-d008-45c6-96a4-01dd947ac621";
+ this.MoonTexture = "fc4b9f0b-d008-45c6-96a4-01dd947ac621";
+
+ this.ErrorMessage = "You have entered an invalid name/password combination. Check Caps/lock.";
+ this.ErrorReason = "key";
+ this.welcomeMessage = "Welcome to OpenSim!";
+ this.seedCapability = "";
+ this.home = "{'region_handle':[r" + (1000 * 256).ToString() + ",r" + (1000 * 256).ToString() + "], 'position':[r" + this.userProfile.homepos.X.ToString() + ",r" + this.userProfile.homepos.Y.ToString() + ",r" + this.userProfile.homepos.Z.ToString() + "], 'look_at':[r" + this.userProfile.homelookat.X.ToString() + ",r" + this.userProfile.homelookat.Y.ToString() + ",r" + this.userProfile.homelookat.Z.ToString() + "]}";
+ this.lookAt = "[r0.99949799999999999756,r0.03166859999999999814,r0]";
+ this.RegionX = (uint)255232;
+ this.RegionY = (uint)254976;
+
+ // Classifieds;
+ this.AddClassifiedCategory((Int32)1, "Shopping");
+ this.AddClassifiedCategory((Int32)2, "Land Rental");
+ this.AddClassifiedCategory((Int32)3, "Property Rental");
+ this.AddClassifiedCategory((Int32)4, "Special Attraction");
+ this.AddClassifiedCategory((Int32)5, "New Products");
+ this.AddClassifiedCategory((Int32)6, "Employment");
+ this.AddClassifiedCategory((Int32)7, "Wanted");
+ this.AddClassifiedCategory((Int32)8, "Service");
+ this.AddClassifiedCategory((Int32)9, "Personal");
+
+
+ this.SessionID = LLUUID.Random();
+ this.SecureSessionID = LLUUID.Random();
+ this.AgentID = LLUUID.Random();
+
+ Hashtable InitialOutfitHash = new Hashtable();
+ InitialOutfitHash["folder_name"] = "Nightclub Female";
+ InitialOutfitHash["gender"] = "female";
+ this.initialOutfit.Add(InitialOutfitHash);
+
+
+ } // SetDefaultValues
+
+ #region Login Failure Methods
+ public XmlRpcResponse GenerateFailureResponse(string reason, string message, string login)
+ {
+ // Overwrite any default values;
+ this.xmlRpcResponse = new XmlRpcResponse();
+
+ // Ensure Login Failed message/reason;
+ this.ErrorMessage = message;
+ this.ErrorReason = reason;
+
+ this.loginError["reason"] = this.ErrorReason;
+ this.loginError["message"] = this.ErrorMessage;
+ this.loginError["login"] = login;
+ this.xmlRpcResponse.Value = this.loginError;
+ return (this.xmlRpcResponse);
+ } // GenerateResponse
+
+ public XmlRpcResponse CreateFailedResponse()
+ {
+ return (this.CreateLoginFailedResponse());
+ } // CreateErrorConnectingToGridResponse()
+
+ public XmlRpcResponse CreateLoginFailedResponse()
+ {
+ return (this.GenerateFailureResponse("key", "Could not authenticate your avatar. Please check your username and password, and check the grid if problems persist.", "false"));
+ } // LoginFailedResponse
+
+ public XmlRpcResponse CreateAlreadyLoggedInResponse()
+ {
+ return (this.GenerateFailureResponse("presence", "You appear to be already logged in, if this is not the case please wait for your session to timeout, if this takes longer than a few minutes please contact the grid owner", "false"));
+ } // CreateAlreadyLoggedInResponse()
+
+ public XmlRpcResponse CreateDeadRegionResponse()
+ {
+ return (this.GenerateFailureResponse("key", "The region you are attempting to log into is not responding. Please select another region and try again.", "false"));
+ }
+
+ public XmlRpcResponse CreateGridErrorResponse()
+ {
+ return (this.GenerateFailureResponse("key", "Error connecting to grid. Could not percieve credentials from login XML.", "false"));
+ }
+
+ #endregion
+
+ public XmlRpcResponse ToXmlRpcResponse()
+ {
+ try
+ {
+
+ Hashtable responseData = new Hashtable();
+
+ this.loginFlagsHash = new Hashtable();
+ this.loginFlagsHash["daylight_savings"] = this.DST;
+ this.loginFlagsHash["stipend_since_login"] = this.StipendSinceLogin;
+ this.loginFlagsHash["gendered"] = this.Gendered;
+ this.loginFlagsHash["ever_logged_in"] = this.EverLoggedIn;
+ this.loginFlags.Add(this.loginFlagsHash);
+
+ responseData["first_name"] = this.Firstname;
+ responseData["last_name"] = this.Lastname;
+ responseData["agent_access"] = this.agentAccess;
+
+ this.globalTexturesHash = new Hashtable();
+ this.globalTexturesHash["sun_texture_id"] = this.SunTexture;
+ this.globalTexturesHash["cloud_texture_id"] = this.CloudTexture;
+ this.globalTexturesHash["moon_texture_id"] = this.MoonTexture;
+ this.globalTextures.Add(this.globalTexturesHash);
+ this.eventCategories.Add(this.eventCategoriesHash);
+
+ this.AddToUIConfig("allow_first_life", this.allowFirstLife);
+ this.uiConfig.Add(this.uiConfigHash);
+
+ responseData["sim_port"] =(Int32) this.SimPort;
+ responseData["sim_ip"] = this.SimAddress;
+
+ MainLog.Instance.Warn("SIM IP: " + responseData["sim_ip"] + "; SIM PORT: " + responseData["sim_port"]);
+
+ responseData["agent_id"] = this.AgentID.ToStringHyphenated();
+ responseData["session_id"] = this.SessionID.ToStringHyphenated();
+ responseData["secure_session_id"] = this.SecureSessionID.ToStringHyphenated();
+ responseData["circuit_code"] = this.CircuitCode;
+ responseData["seconds_since_epoch"] = (Int32)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds;
+ responseData["login-flags"] = this.loginFlags;
+ responseData["global-textures"] = this.globalTextures;
+ responseData["seed_capability"] = this.seedCapability;
+
+ responseData["event_categories"] = this.eventCategories;
+ responseData["event_notifications"] = new ArrayList(); // todo
+ responseData["classified_categories"] = this.classifiedCategories;
+ responseData["ui-config"] = this.uiConfig;
+
+ responseData["inventory-skeleton"] = this.agentInventory;
+ responseData["inventory-skel-lib"] = new ArrayList(); // todo
+ responseData["inventory-root"] = this.inventoryRoot;
+ responseData["gestures"] = new ArrayList(); // todo
+ responseData["inventory-lib-owner"] = new ArrayList(); // todo
+ responseData["initial-outfit"] = this.initialOutfit;
+ responseData["start_location"] = this.startLocation;
+ responseData["seed_capability"] = this.seedCapability;
+ responseData["home"] = this.home;
+ responseData["look_at"] = this.lookAt;
+ responseData["message"] = this.welcomeMessage;
+ responseData["region_x"] = (Int32)this.RegionX * 256;
+ responseData["region_y"] = (Int32)this.RegionY * 256;
+
+ //responseData["inventory-lib-root"] = new ArrayList(); // todo
+ //responseData["buddy-list"] = new ArrayList(); // todo
+
+ responseData["login"] = "true";
+ this.xmlRpcResponse.Value = responseData;
+
+ return (this.xmlRpcResponse);
+ }
+ catch (Exception e)
+ {
+ MainLog.Instance.WriteLine(
+ LogPriority.LOW,
+ "LoginResponse: Error creating XML-RPC Response: " + e.Message
+ );
+ return (this.GenerateFailureResponse("Internal Error", "Error generating Login Response", "false"));
+
+ }
+
+ } // ToXmlRpcResponse
+
+ public void SetEventCategories(string category, string value)
+ {
+ this.eventCategoriesHash[category] = value;
+ } // SetEventCategories
+
+ public void AddToUIConfig(string itemName, string item)
+ {
+ this.uiConfigHash[itemName] = item;
+ } // SetUIConfig
+
+ public void AddClassifiedCategory(Int32 ID, string categoryName)
+ {
+ this.classifiedCategoriesHash["category_name"] = categoryName;
+ this.classifiedCategoriesHash["category_id"] = ID;
+ this.classifiedCategories.Add(this.classifiedCategoriesHash);
+ // this.classifiedCategoriesHash.Clear();
+ } // SetClassifiedCategory
+
+ #region Properties
+ public string Login
+ {
+ get
+ {
+ return this.login;
+ }
+ set
+ {
+ this.login = value;
+ }
+ } // Login
+
+ public string DST
+ {
+ get
+ {
+ return this.dst;
+ }
+ set
+ {
+ this.dst = value;
+ }
+ } // DST
+
+ public string StipendSinceLogin
+ {
+ get
+ {
+ return this.stipendSinceLogin;
+ }
+ set
+ {
+ this.stipendSinceLogin = value;
+ }
+ } // StipendSinceLogin
+
+ public string Gendered
+ {
+ get
+ {
+ return this.gendered;
+ }
+ set
+ {
+ this.gendered = value;
+ }
+ } // Gendered
+
+ public string EverLoggedIn
+ {
+ get
+ {
+ return this.everLoggedIn;
+ }
+ set
+ {
+ this.everLoggedIn = value;
+ }
+ } // EverLoggedIn
+
+ public int SimPort
+ {
+ get
+ {
+ return this.simPort;
+ }
+ set
+ {
+ this.simPort = value;
+ }
+ } // SimPort
+
+ public string SimAddress
+ {
+ get
+ {
+ return this.simAddress;
+ }
+ set
+ {
+ this.simAddress = value;
+ }
+ } // SimAddress
+
+ public LLUUID AgentID
+ {
+ get
+ {
+ return this.agentID;
+ }
+ set
+ {
+ this.agentID = value;
+ }
+ } // AgentID
+
+ public LLUUID SessionID
+ {
+ get
+ {
+ return this.sessionID;
+ }
+ set
+ {
+ this.sessionID = value;
+ }
+ } // SessionID
+
+ public LLUUID SecureSessionID
+ {
+ get
+ {
+ return this.secureSessionID;
+ }
+ set
+ {
+ this.secureSessionID = value;
+ }
+ } // SecureSessionID
+
+ public Int32 CircuitCode
+ {
+ get
+ {
+ return this.circuitCode;
+ }
+ set
+ {
+ this.circuitCode = value;
+ }
+ } // CircuitCode
+
+ public uint RegionX
+ {
+ get
+ {
+ return this.regionX;
+ }
+ set
+ {
+ this.regionX = value;
+ }
+ } // RegionX
+
+ public uint RegionY
+ {
+ get
+ {
+ return this.regionY;
+ }
+ set
+ {
+ this.regionY = value;
+ }
+ } // RegionY
+
+ public string SunTexture
+ {
+ get
+ {
+ return this.sunTexture;
+ }
+ set
+ {
+ this.sunTexture = value;
+ }
+ } // SunTexture
+
+ public string CloudTexture
+ {
+ get
+ {
+ return this.cloudTexture;
+ }
+ set
+ {
+ this.cloudTexture = value;
+ }
+ } // CloudTexture
+
+ public string MoonTexture
+ {
+ get
+ {
+ return this.moonTexture;
+ }
+ set
+ {
+ this.moonTexture = value;
+ }
+ } // MoonTexture
+
+ public string Firstname
+ {
+ get
+ {
+ return this.firstname;
+ }
+ set
+ {
+ this.firstname = value;
+ }
+ } // Firstname
+
+ public string Lastname
+ {
+ get
+ {
+ return this.lastname;
+ }
+ set
+ {
+ this.lastname = value;
+ }
+ } // Lastname
+
+ public string AgentAccess
+ {
+ get
+ {
+ return this.agentAccess;
+ }
+ set
+ {
+ this.agentAccess = value;
+ }
+ }
+
+ public string StartLocation
+ {
+ get
+ {
+ return this.startLocation;
+ }
+ set
+ {
+ this.startLocation = value;
+ }
+ } // StartLocation
+
+ public string LookAt
+ {
+ get
+ {
+ return this.lookAt;
+ }
+ set
+ {
+ this.lookAt = value;
+ }
+ }
+
+ public string SeedCapability
+ {
+ get
+ {
+ return this.seedCapability;
+ }
+ set
+ {
+ this.seedCapability = value;
+ }
+ } // SeedCapability
+
+ public string ErrorReason
+ {
+ get
+ {
+ return this.errorReason;
+ }
+ set
+ {
+ this.errorReason = value;
+ }
+ } // ErrorReason
+
+ public string ErrorMessage
+ {
+ get
+ {
+ return this.errorMessage;
+ }
+ set
+ {
+ this.errorMessage = value;
+ }
+ } // ErrorMessage
+
+ public ArrayList InventoryRoot
+ {
+ get
+ {
+ return this.inventoryRoot;
+ }
+ set
+ {
+ this.inventoryRoot = value;
+ }
+ }
+
+ public ArrayList InventorySkeleton
+ {
+ get
+ {
+ return this.agentInventory;
+ }
+ set
+ {
+ this.agentInventory = value;
+ }
+ }
+
+ public string Home
+ {
+ get
+ {
+ return this.home;
+ }
+ set
+ {
+ this.home = value;
+ }
+ }
+
+ public string Message
+ {
+ get
+ {
+ return this.welcomeMessage;
+ }
+ set
+ {
+ this.welcomeMessage = value;
+ }
+ }
+ #endregion
+
+
+ public class UserInfo
+ {
+ public string firstname;
+ public string lastname;
+ public ulong homeregionhandle;
+ public LLVector3 homepos;
+ public LLVector3 homelookat;
+ }
+ }
+}
+
diff --git a/OpenSim/Framework/UserManager/UserManagerBase.cs b/OpenSim/Framework/UserManager/UserManagerBase.cs
index 4e688f7..fe45d1b 100644
--- a/OpenSim/Framework/UserManager/UserManagerBase.cs
+++ b/OpenSim/Framework/UserManager/UserManagerBase.cs
@@ -1,631 +1,631 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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;
-using System.Collections.Generic;
-using System.Reflection;
-using System.Security.Cryptography;
-using libsecondlife;
-using Nwc.XmlRpc;
-using OpenSim.Framework.Console;
-using OpenSim.Framework.Data;
-using OpenSim.Framework.Interfaces;
-using OpenSim.Framework.Inventory;
-using OpenSim.Framework.Utilities;
-
-namespace OpenSim.Framework.UserManagement
-{
- public abstract class UserManagerBase
- {
- public UserConfig _config;
- Dictionary _plugins = new Dictionary();
-
- ///
- /// Adds a new user server plugin - user servers will be requested in the order they were loaded.
- ///
- /// The filename to the user server plugin DLL
- public void AddPlugin(string FileName)
- {
- MainLog.Instance.Verbose( "Userstorage: Attempting to load " + FileName);
- Assembly pluginAssembly = Assembly.LoadFrom(FileName);
-
- MainLog.Instance.Verbose( "Userstorage: Found " + pluginAssembly.GetTypes().Length + " interfaces.");
- foreach (Type pluginType in pluginAssembly.GetTypes())
- {
- if (!pluginType.IsAbstract)
- {
- Type typeInterface = pluginType.GetInterface("IUserData", true);
-
- if (typeInterface != null)
- {
- IUserData plug = (IUserData)Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString()));
- plug.Initialise();
- this._plugins.Add(plug.getName(), plug);
- MainLog.Instance.Verbose( "Userstorage: Added IUserData Interface");
- }
-
- typeInterface = null;
- }
- }
-
- pluginAssembly = null;
- }
-
- #region Get UserProfile
- ///
- /// Loads a user profile from a database by UUID
- ///
- /// The target UUID
- /// A user profile
- public UserProfileData getUserProfile(LLUUID uuid)
- {
- foreach (KeyValuePair plugin in _plugins)
- {
- try
- {
- UserProfileData profile = plugin.Value.getUserByUUID(uuid);
- profile.currentAgent = getUserAgent(profile.UUID);
- return profile;
- }
- catch (Exception e)
- {
- MainLog.Instance.Verbose( "Unable to find user via " + plugin.Key + "(" + e.ToString() + ")");
- }
- }
-
- return null;
- }
-
-
- ///
- /// Loads a user profile by name
- ///
- /// The target name
- /// A user profile
- public UserProfileData getUserProfile(string name)
- {
- foreach (KeyValuePair plugin in _plugins)
- {
- try
- {
- UserProfileData profile = plugin.Value.getUserByName(name);
- profile.currentAgent = getUserAgent(profile.UUID);
- return profile;
- }
- catch (Exception e)
- {
- System.Console.WriteLine("EEK!");
- MainLog.Instance.Verbose( "Unable to find user via " + plugin.Key + "(" + e.ToString() + ")");
- }
- }
-
- return null;
- }
-
- ///
- /// Loads a user profile by name
- ///
- /// First name
- /// Last name
- /// A user profile
- public UserProfileData getUserProfile(string fname, string lname)
- {
- foreach (KeyValuePair plugin in _plugins)
- {
- try
- {
- UserProfileData profile = plugin.Value.getUserByName(fname,lname);
-
- profile.currentAgent = getUserAgent(profile.UUID);
-
- return profile;
- }
- catch (Exception e)
- {
- MainLog.Instance.Verbose( "Unable to find user via " + plugin.Key + "(" + e.ToString() + ")");
- }
- }
-
- return null;
- }
- #endregion
-
- #region Get UserAgent
- ///
- /// Loads a user agent by uuid (not called directly)
- ///
- /// The agents UUID
- /// Agent profiles
- public UserAgentData getUserAgent(LLUUID uuid)
- {
- foreach (KeyValuePair plugin in _plugins)
- {
- try
- {
- return plugin.Value.getAgentByUUID(uuid);
- }
- catch (Exception e)
- {
- MainLog.Instance.Verbose( "Unable to find user via " + plugin.Key + "(" + e.ToString() + ")");
- }
- }
-
- return null;
- }
-
- ///
- /// Loads a user agent by name (not called directly)
- ///
- /// The agents name
- /// A user agent
- public UserAgentData getUserAgent(string name)
- {
- foreach (KeyValuePair plugin in _plugins)
- {
- try
- {
- return plugin.Value.getAgentByName(name);
- }
- catch (Exception e)
- {
- MainLog.Instance.Verbose( "Unable to find user via " + plugin.Key + "(" + e.ToString() + ")");
- }
- }
-
- return null;
- }
-
- ///
- /// Loads a user agent by name (not called directly)
- ///
- /// The agents firstname
- /// The agents lastname
- /// A user agent
- public UserAgentData getUserAgent(string fname, string lname)
- {
- foreach (KeyValuePair plugin in _plugins)
- {
- try
- {
- return plugin.Value.getAgentByName(fname,lname);
- }
- catch (Exception e)
- {
- MainLog.Instance.Verbose( "Unable to find user via " + plugin.Key + "(" + e.ToString() + ")");
- }
- }
-
- return null;
- }
-
- #endregion
-
- #region CreateAgent
- ///
- /// Creates and initialises a new user agent - make sure to use CommitAgent when done to submit to the DB
- ///
- /// The users profile
- /// The users loginrequest
- public void CreateAgent(UserProfileData profile, XmlRpcRequest request)
- {
- Hashtable requestData = (Hashtable)request.Params[0];
-
- UserAgentData agent = new UserAgentData();
-
- // User connection
- agent.agentOnline = true;
-
- // Generate sessions
- RNGCryptoServiceProvider rand = new RNGCryptoServiceProvider();
- byte[] randDataS = new byte[16];
- byte[] randDataSS = new byte[16];
- rand.GetBytes(randDataS);
- rand.GetBytes(randDataSS);
-
- agent.secureSessionID = new LLUUID(randDataSS, 0);
- agent.sessionID = new LLUUID(randDataS, 0);
-
- // Profile UUID
- agent.UUID = profile.UUID;
-
- // Current position (from Home)
- agent.currentHandle = profile.homeRegion;
- agent.currentPos = profile.homeLocation;
-
- // If user specified additional start, use that
- if (requestData.ContainsKey("start"))
- {
- string startLoc = ((string)requestData["start"]).Trim();
- if (!(startLoc == "last" || startLoc == "home"))
- {
- // Format: uri:Ahern&162&213&34
- try
- {
- string[] parts = startLoc.Remove(0, 4).Split('&');
- string region = parts[0];
-
- ////////////////////////////////////////////////////
- //SimProfile SimInfo = new SimProfile();
- //SimInfo = SimInfo.LoadFromGrid(theUser.currentAgent.currentHandle, _config.GridServerURL, _config.GridSendKey, _config.GridRecvKey);
- }
- catch (Exception)
- {
-
- }
- }
- }
-
- // What time did the user login?
- agent.loginTime = Util.UnixTimeSinceEpoch();
- agent.logoutTime = 0;
-
- // Current location
- agent.regionID = new LLUUID(); // Fill in later
- agent.currentRegion = new LLUUID(); // Fill in later
-
- profile.currentAgent = agent;
- }
-
- ///
- /// Saves a target agent to the database
- ///
- /// The users profile
- /// Successful?
- public bool CommitAgent(ref UserProfileData profile)
- {
- // Saves the agent to database
- return true;
- }
-
- #endregion
-
- ///
- /// Checks a user against it's password hash
- ///
- /// The users profile
- /// The supplied password
- /// Authenticated?
- public virtual bool AuthenticateUser(UserProfileData profile, string password)
- {
- MainLog.Instance.Verbose(
- "Authenticating " + profile.username + " " + profile.surname);
-
- password = password.Remove(0, 3); //remove $1$
-
- string s = Util.Md5Hash(password + ":" + profile.passwordSalt);
-
- return profile.passwordHash.Equals(s.ToString(), StringComparison.InvariantCultureIgnoreCase);
- }
-
- #region Xml Response
-
- ///
- ///
- ///
- ///
- ///
- ///
- public virtual UserProfileData GetTheUser(string firstname, string lastname)
- {
- return getUserProfile(firstname, lastname);
- }
-
- ///
- ///
- ///
- ///
- public virtual string GetMessage()
- {
- return _config.DefaultStartupMsg;
- }
-
- ///
- /// Customises the login response and fills in missing values.
- ///
- /// The existing response
- /// The user profile
- public abstract void CustomiseResponse( LoginResponse response, UserProfileData theUser);
-
- ///
- /// Main user login function
- ///
- /// The XMLRPC request
- /// The response to send
- public XmlRpcResponse XmlRpcLoginMethod(XmlRpcRequest request)
- {
-
- System.Console.WriteLine("Attempting login now...");
- XmlRpcResponse response = new XmlRpcResponse();
- Hashtable requestData = (Hashtable)request.Params[0];
-
- bool GoodXML = (requestData.Contains("first") && requestData.Contains("last") && requestData.Contains("passwd"));
- bool GoodLogin = false;
- string firstname = "";
- string lastname = "";
- string passwd = "";
-
- UserProfileData userProfile;
- LoginResponse logResponse = new LoginResponse();
-
- if (GoodXML)
- {
- firstname = (string)requestData["first"];
- lastname = (string)requestData["last"];
- passwd = (string)requestData["passwd"];
-
- userProfile = GetTheUser(firstname, lastname);
- if (userProfile == null)
- return logResponse.CreateLoginFailedResponse();
-
- GoodLogin = AuthenticateUser(userProfile, passwd);
- }
- else
- {
- return logResponse.CreateGridErrorResponse();
- }
-
- if (!GoodLogin)
- {
- return logResponse.CreateLoginFailedResponse();
- }
- else
- {
- // If we already have a session...
- if (userProfile.currentAgent != null && userProfile.currentAgent.agentOnline)
- {
- // Reject the login
- return logResponse.CreateAlreadyLoggedInResponse();
- }
- // Otherwise...
- // Create a new agent session
- CreateAgent( userProfile, request);
-
- try
- {
-
- LLUUID AgentID = userProfile.UUID;
-
- // Inventory Library Section
- ArrayList AgentInventoryArray = new ArrayList();
- Hashtable TempHash;
-
- AgentInventory Library = new AgentInventory();
- Library.CreateRootFolder(AgentID, true);
-
- foreach (InventoryFolder InvFolder in Library.InventoryFolders.Values)
- {
- TempHash = new Hashtable();
- TempHash["name"] = InvFolder.FolderName;
- TempHash["parent_id"] = InvFolder.ParentID.ToStringHyphenated();
- TempHash["version"] = (Int32)InvFolder.Version;
- TempHash["type_default"] = (Int32)InvFolder.DefaultType;
- TempHash["folder_id"] = InvFolder.FolderID.ToStringHyphenated();
- AgentInventoryArray.Add(TempHash);
- }
-
- Hashtable InventoryRootHash = new Hashtable();
- InventoryRootHash["folder_id"] = Library.InventoryRoot.FolderID.ToStringHyphenated();
- ArrayList InventoryRoot = new ArrayList();
- InventoryRoot.Add(InventoryRootHash);
-
- // Circuit Code
- uint circode = (uint)(Util.RandomClass.Next());
-
- logResponse.Lastname = userProfile.surname;
- logResponse.Firstname = userProfile.username;
- logResponse.AgentID = AgentID.ToStringHyphenated();
- logResponse.SessionID = userProfile.currentAgent.sessionID.ToStringHyphenated();
- logResponse.SecureSessionID = userProfile.currentAgent.secureSessionID.ToStringHyphenated();
- logResponse.InventoryRoot = InventoryRoot;
- logResponse.InventorySkeleton = AgentInventoryArray;
- logResponse.CircuitCode = (Int32)circode;
- //logResponse.RegionX = 0; //overwritten
- //logResponse.RegionY = 0; //overwritten
- logResponse.Home = "!!null temporary value {home}!!"; // Overwritten
- //logResponse.LookAt = "\n[r" + TheUser.homeLookAt.X.ToString() + ",r" + TheUser.homeLookAt.Y.ToString() + ",r" + TheUser.homeLookAt.Z.ToString() + "]\n";
- //logResponse.SimAddress = "127.0.0.1"; //overwritten
- //logResponse.SimPort = 0; //overwritten
- logResponse.Message = this.GetMessage();
-
- try
- {
- this.CustomiseResponse( logResponse, userProfile);
- }
- catch (Exception e)
- {
- System.Console.WriteLine(e.ToString());
- return logResponse.CreateDeadRegionResponse();
- //return logResponse.ToXmlRpcResponse();
- }
- CommitAgent(ref userProfile);
- return logResponse.ToXmlRpcResponse();
-
- }
-
- catch (Exception E)
- {
- System.Console.WriteLine(E.ToString());
- }
- //}
- }
- return response;
-
- }
-
- #endregion
-
- ///
- /// Deletes an active agent session
- ///
- /// The request
- /// The path (eg /bork/narf/test)
- /// Parameters sent
- /// Success "OK" else error
- public string RestDeleteUserSessionMethod(string request, string path, string param)
- {
- // TODO! Important!
-
- return "OK";
- }
-
- ///
- ///
- ///
- ///
- public void AddUserProfile(string firstName, string lastName, string pass, uint regX, uint regY)
- {
- UserProfileData user = new UserProfileData();
- user.homeLocation = new LLVector3(128, 128, 100);
- user.UUID = LLUUID.Random();
- user.username = firstName;
- user.surname = lastName;
- user.passwordHash = pass;
- user.passwordSalt = "";
- user.created = Util.UnixTimeSinceEpoch();
- user.homeLookAt = new LLVector3(100, 100, 100);
- user.homeRegion = Util.UIntsToLong((regX * 256), (regY * 256));
-
- foreach (KeyValuePair plugin in _plugins)
- {
- try
- {
- plugin.Value.addNewUserProfile(user);
-
- }
- catch (Exception e)
- {
- MainLog.Instance.Verbose("Unable to add user via " + plugin.Key + "(" + e.ToString() + ")");
- }
- }
- }
-
- ///
- /// Returns an error message that the user could not be found in the database
- ///
- /// XML string consisting of a error element containing individual error(s)
- public XmlRpcResponse CreateUnknownUserErrorResponse()
- {
- XmlRpcResponse response = new XmlRpcResponse();
- Hashtable responseData = new Hashtable();
- responseData["error_type"] = "unknown_user";
- responseData["error_desc"] = "The user requested is not in the database";
-
- response.Value = responseData;
- return response;
- }
-
- ///
- /// Converts a user profile to an XML element which can be returned
- ///
- /// The user profile
- /// A string containing an XML Document of the user profile
- public XmlRpcResponse ProfileToXmlRPCResponse(UserProfileData profile)
- {
- XmlRpcResponse response = new XmlRpcResponse();
- Hashtable responseData = new Hashtable();
-
- // Account information
- responseData["firstname"] = profile.username;
- responseData["lastname"] = profile.surname;
- responseData["uuid"] = profile.UUID.ToStringHyphenated();
- // Server Information
- responseData["server_inventory"] = profile.userInventoryURI;
- responseData["server_asset"] = profile.userAssetURI;
- // Profile Information
- responseData["profile_about"] = profile.profileAboutText;
- responseData["profile_firstlife_about"] = profile.profileFirstText;
- responseData["profile_firstlife_image"] = profile.profileFirstImage.ToStringHyphenated();
- responseData["profile_can_do"] = profile.profileCanDoMask.ToString();
- responseData["profile_want_do"] = profile.profileWantDoMask.ToString();
- responseData["profile_image"] = profile.profileImage.ToStringHyphenated();
- responseData["profile_created"] = profile.created.ToString();
- responseData["profile_lastlogin"] = profile.lastLogin.ToString();
- // Home region information
- responseData["home_coordinates_x"] = profile.homeLocation.X.ToString();
- responseData["home_coordinates_y"] = profile.homeLocation.Y.ToString();
- responseData["home_coordinates_z"] = profile.homeLocation.Z.ToString();
-
- responseData["home_region"] = profile.homeRegion.ToString();
-
- responseData["home_look_x"] = profile.homeLookAt.X.ToString();
- responseData["home_look_y"] = profile.homeLookAt.Y.ToString();
- responseData["home_look_z"] = profile.homeLookAt.Z.ToString();
- response.Value = responseData;
-
- return response;
- }
-
- #region XMLRPC User Methods
- //should most likely move out of here and into the grid's userserver sub class
- public XmlRpcResponse XmlRPCGetUserMethodName(XmlRpcRequest request)
- {
- XmlRpcResponse response = new XmlRpcResponse();
- Hashtable requestData = (Hashtable)request.Params[0];
- UserProfileData userProfile;
- if (requestData.Contains("avatar_name"))
- {
- userProfile = getUserProfile((string)requestData["avatar_name"]);
- if (userProfile == null)
- {
- return CreateUnknownUserErrorResponse();
- }
- }
- else
- {
- return CreateUnknownUserErrorResponse();
- }
-
- return ProfileToXmlRPCResponse(userProfile);
- }
-
- public XmlRpcResponse XmlRPCGetUserMethodUUID(XmlRpcRequest request)
- {
- XmlRpcResponse response = new XmlRpcResponse();
- Hashtable requestData = (Hashtable)request.Params[0];
- UserProfileData userProfile;
- System.Console.WriteLine("METHOD BY UUID CALLED");
- if (requestData.Contains("avatar_uuid"))
- {
- userProfile = getUserProfile((LLUUID)requestData["avatar_uuid"]);
- if (userProfile == null)
- {
- return CreateUnknownUserErrorResponse();
- }
- }
- else
- {
- return CreateUnknownUserErrorResponse();
- }
-
-
- return ProfileToXmlRPCResponse(userProfile);
- }
- #endregion
-
- }
-}
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Security.Cryptography;
+using libsecondlife;
+using Nwc.XmlRpc;
+using OpenSim.Framework.Console;
+using OpenSim.Framework.Data;
+using OpenSim.Framework.Interfaces;
+using OpenSim.Framework.Inventory;
+using OpenSim.Framework.Utilities;
+
+namespace OpenSim.Framework.UserManagement
+{
+ public abstract class UserManagerBase
+ {
+ public UserConfig _config;
+ Dictionary _plugins = new Dictionary();
+
+ ///
+ /// Adds a new user server plugin - user servers will be requested in the order they were loaded.
+ ///
+ /// The filename to the user server plugin DLL
+ public void AddPlugin(string FileName)
+ {
+ MainLog.Instance.Verbose( "Userstorage: Attempting to load " + FileName);
+ Assembly pluginAssembly = Assembly.LoadFrom(FileName);
+
+ MainLog.Instance.Verbose( "Userstorage: Found " + pluginAssembly.GetTypes().Length + " interfaces.");
+ foreach (Type pluginType in pluginAssembly.GetTypes())
+ {
+ if (!pluginType.IsAbstract)
+ {
+ Type typeInterface = pluginType.GetInterface("IUserData", true);
+
+ if (typeInterface != null)
+ {
+ IUserData plug = (IUserData)Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString()));
+ plug.Initialise();
+ this._plugins.Add(plug.getName(), plug);
+ MainLog.Instance.Verbose( "Userstorage: Added IUserData Interface");
+ }
+
+ typeInterface = null;
+ }
+ }
+
+ pluginAssembly = null;
+ }
+
+ #region Get UserProfile
+ ///
+ /// Loads a user profile from a database by UUID
+ ///
+ /// The target UUID
+ /// A user profile
+ public UserProfileData getUserProfile(LLUUID uuid)
+ {
+ foreach (KeyValuePair plugin in _plugins)
+ {
+ try
+ {
+ UserProfileData profile = plugin.Value.getUserByUUID(uuid);
+ profile.currentAgent = getUserAgent(profile.UUID);
+ return profile;
+ }
+ catch (Exception e)
+ {
+ MainLog.Instance.Verbose( "Unable to find user via " + plugin.Key + "(" + e.ToString() + ")");
+ }
+ }
+
+ return null;
+ }
+
+
+ ///
+ /// Loads a user profile by name
+ ///
+ /// The target name
+ /// A user profile
+ public UserProfileData getUserProfile(string name)
+ {
+ foreach (KeyValuePair plugin in _plugins)
+ {
+ try
+ {
+ UserProfileData profile = plugin.Value.getUserByName(name);
+ profile.currentAgent = getUserAgent(profile.UUID);
+ return profile;
+ }
+ catch (Exception e)
+ {
+ System.Console.WriteLine("EEK!");
+ MainLog.Instance.Verbose( "Unable to find user via " + plugin.Key + "(" + e.ToString() + ")");
+ }
+ }
+
+ return null;
+ }
+
+ ///
+ /// Loads a user profile by name
+ ///
+ /// First name
+ /// Last name
+ /// A user profile
+ public UserProfileData getUserProfile(string fname, string lname)
+ {
+ foreach (KeyValuePair plugin in _plugins)
+ {
+ try
+ {
+ UserProfileData profile = plugin.Value.getUserByName(fname,lname);
+
+ profile.currentAgent = getUserAgent(profile.UUID);
+
+ return profile;
+ }
+ catch (Exception e)
+ {
+ MainLog.Instance.Verbose( "Unable to find user via " + plugin.Key + "(" + e.ToString() + ")");
+ }
+ }
+
+ return null;
+ }
+ #endregion
+
+ #region Get UserAgent
+ ///
+ /// Loads a user agent by uuid (not called directly)
+ ///
+ /// The agents UUID
+ /// Agent profiles
+ public UserAgentData getUserAgent(LLUUID uuid)
+ {
+ foreach (KeyValuePair plugin in _plugins)
+ {
+ try
+ {
+ return plugin.Value.getAgentByUUID(uuid);
+ }
+ catch (Exception e)
+ {
+ MainLog.Instance.Verbose( "Unable to find user via " + plugin.Key + "(" + e.ToString() + ")");
+ }
+ }
+
+ return null;
+ }
+
+ ///
+ /// Loads a user agent by name (not called directly)
+ ///
+ /// The agents name
+ /// A user agent
+ public UserAgentData getUserAgent(string name)
+ {
+ foreach (KeyValuePair plugin in _plugins)
+ {
+ try
+ {
+ return plugin.Value.getAgentByName(name);
+ }
+ catch (Exception e)
+ {
+ MainLog.Instance.Verbose( "Unable to find user via " + plugin.Key + "(" + e.ToString() + ")");
+ }
+ }
+
+ return null;
+ }
+
+ ///