diff --git a/OpenSim/Tests/Common/ANumericalToleranceConstraint.cs b/OpenSim/Tests/Common/ANumericalToleranceConstraint.cs new file mode 100644 index 0000000000..893862f330 --- /dev/null +++ b/OpenSim/Tests/Common/ANumericalToleranceConstraint.cs @@ -0,0 +1,57 @@ +/* +* Copyright (c) Contributors, http://opensimulator.org/ +* See CONTRIBUTORS.TXT for a full list of copyright holders. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* * Neither the name of the OpenSim Project nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +using System; +using NUnit.Framework.Constraints; + +namespace OpenSim.Tests.Common +{ + public abstract class ANumericalToleranceConstraint : Constraint + { + protected double _tolerance; + + public ANumericalToleranceConstraint(double tolerance) + { + if (tolerance < 0) + { + throw new ArgumentException("Tolerance cannot be negative."); + } + _tolerance = tolerance; + } + + protected bool IsWithinDoubleConstraint(double doubleValue, double baseValue) + { + if (doubleValue >= baseValue - _tolerance && doubleValue <= baseValue + _tolerance) + { + return true; + } + + return false; + } + } +} diff --git a/OpenSim/Tests/Common/DoubleToleranceConstraint.cs b/OpenSim/Tests/Common/DoubleToleranceConstraint.cs new file mode 100644 index 0000000000..29b808df6d --- /dev/null +++ b/OpenSim/Tests/Common/DoubleToleranceConstraint.cs @@ -0,0 +1,80 @@ +/* +* Copyright (c) Contributors, http://opensimulator.org/ +* See CONTRIBUTORS.TXT for a full list of copyright holders. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* * Neither the name of the OpenSim Project nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +using System; +using NUnit.Framework; +using NUnit.Framework.Constraints; +using OpenSim.Tests.Common; + +namespace OpenSim.Tests.Common +{ + public class DoubleToleranceConstraint : ANumericalToleranceConstraint + { + + private double _baseValue; + private double _valueToBeTested; + + public DoubleToleranceConstraint(double baseValue, double tolerance) : base(tolerance) + { + _baseValue = baseValue; + } + + /// + ///Test whether the constraint is satisfied by a given value + /// + ///The value to be tested + /// + ///True for success, false for failure + /// + public override bool Matches(object valueToBeTested) + { + if (valueToBeTested == null) + { + throw new ArgumentException("Constraint cannot be used upon null values."); + } + if( valueToBeTested.GetType() != typeof(double)) + { + throw new ArgumentException("Constraint cannot be used upon non double-values."); + } + + _valueToBeTested = (double)valueToBeTested; + + return IsWithinDoubleConstraint(_valueToBeTested, _baseValue ); + } + + public override void WriteDescriptionTo(MessageWriter writer) + { + writer.WriteExpectedValue(string.Format("A value {0} within tolerance of plus or minus {1}",_baseValue,_tolerance)); + } + + public override void WriteActualValueTo(MessageWriter writer) + { + writer.WriteActualValue(_valueToBeTested); + } + } +} diff --git a/OpenSim/Tests/Common/TestHelper.cs b/OpenSim/Tests/Common/TestHelper.cs new file mode 100644 index 0000000000..1ec9e65ec7 --- /dev/null +++ b/OpenSim/Tests/Common/TestHelper.cs @@ -0,0 +1,53 @@ +/* +* Copyright (c) Contributors, http://opensimulator.org/ +* See CONTRIBUTORS.TXT for a full list of copyright holders. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* * Neither the name of the OpenSim Project nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +using System; +using System.Collections.Generic; +using System.Text; + +namespace OpenSim.Tests.Common +{ + public delegate void TestDelegate(); + + public class TestHelper + { + public static bool AssertThisDelegateCausesArgumentException(TestDelegate d) + { + try + { + d(); + } + catch(ArgumentException e) + { + return true; + } + + return false; + } + } +} diff --git a/OpenSim/Tests/Common/VectorToleranceConstraint.cs b/OpenSim/Tests/Common/VectorToleranceConstraint.cs new file mode 100644 index 0000000000..39f1b1a59d --- /dev/null +++ b/OpenSim/Tests/Common/VectorToleranceConstraint.cs @@ -0,0 +1,86 @@ +/* +* Copyright (c) Contributors, http://opensimulator.org/ +* See CONTRIBUTORS.TXT for a full list of copyright holders. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* * Neither the name of the OpenSim Project nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +using System; +using libsecondlife; +using NUnit.Framework; + +namespace OpenSim.Tests.Common +{ + public class VectorToleranceConstraint : ANumericalToleranceConstraint + { + private LLVector3 _baseValue; + private LLVector3 _valueToBeTested; + + public VectorToleranceConstraint(LLVector3 baseValue, double tolerance) : base(tolerance) + { + _baseValue = baseValue; + } + + /// + ///Test whether the constraint is satisfied by a given value + /// + ///The value to be tested + /// + ///True for success, false for failure + /// + public override bool Matches(object valueToBeTested) + { + if (valueToBeTested == null) + { + throw new ArgumentException("Constraint cannot be used upon null values."); + } + if (valueToBeTested.GetType() != typeof (LLVector3)) + { + throw new ArgumentException("Constraint cannot be used upon non vector values."); + } + + _valueToBeTested = (LLVector3) valueToBeTested; + + if ( IsWithinDoubleConstraint(_valueToBeTested.X,_baseValue.X) && + IsWithinDoubleConstraint(_valueToBeTested.Y,_baseValue.Y) && + IsWithinDoubleConstraint(_valueToBeTested.Z,_baseValue.Z) ) + { + return true; + } + + return false; + } + + public override void WriteDescriptionTo(MessageWriter writer) + { + writer.WriteExpectedValue( + string.Format("A value {0} within tolerance of plus or minus {1}", _baseValue, _tolerance)); + } + + public override void WriteActualValueTo(MessageWriter writer) + { + writer.WriteActualValue(_valueToBeTested); + } + } +} diff --git a/OpenSim/Tests/Inventory/Properties/AssemblyInfo.cs b/OpenSim/Tests/Inventory/Properties/AssemblyInfo.cs index dd537a557b..ac5dbd9820 100644 --- a/OpenSim/Tests/Inventory/Properties/AssemblyInfo.cs +++ b/OpenSim/Tests/Inventory/Properties/AssemblyInfo.cs @@ -1,3 +1,4 @@ +<<<<<<< .working using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; @@ -33,3 +34,68 @@ using System.Runtime.InteropServices; // by using the '*' as shown below: [assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyFileVersion("1.0.0.0")] +======= +/* +* Copyright (c) Contributors, http://opensimulator.org/ +* See CONTRIBUTORS.TXT for a full list of copyright holders. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* * Neither the name of the OpenSim Project nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +using System.Reflection; +using System.Runtime.CompilerServices; +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("Inventory")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Lauridsen")] +[assembly: AssemblyProduct("Inventory")] +[assembly: AssemblyCopyright("Copyright © Lauridsen 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("2330add7-08a2-4f33-9ab8-74894fe7e3dd")] + +// 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")] +>>>>>>> .merge-right.r3604 diff --git a/OpenSim/Tests/Inventory/TestInventory.cs b/OpenSim/Tests/Inventory/TestInventory.cs index bc339b39c8..18a22c46eb 100644 --- a/OpenSim/Tests/Inventory/TestInventory.cs +++ b/OpenSim/Tests/Inventory/TestInventory.cs @@ -1,1008 +1,1008 @@ -/* -* Copyright (c) Contributors, http://opensimulator.org/ -* See CONTRIBUTORS.TXT for a full list of copyright holders. -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions are met: -* * Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* * Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the distribution. -* * Neither the name of the OpenSim Project nor the -* names of its contributors may be used to endorse or promote products -* derived from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY -* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY -* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - -using System; -using System.Collections.Generic; -using System.Text; -using NUnit.Framework; - -using libsecondlife; -using OpenSim.Framework.Types; -using OpenSim.Framework.Data; -using OpenSim.Framework.Data.SQLite; -using OpenSim.Framework.Data.MySQL; -using OpenSim.Framework.Console; - -namespace OpenSim.Test.Inventory -{ - [TestFixture] - public class TestInventory - { - IInventoryData _dbPlugin; - LLUUID _agent_1_id; - public static LLUUID LibraryFolderRootUuid = new LLUUID("5926de2a-c2d7-4c11-ac4e-74512ffeb6d1"); - - Random _rnd = new Random((int)DateTime.Now.Ticks); - - [TestFixtureSetUp] - public void SetupInventoryTest() - { - - _agent_1_id = LLUUID.Random(); - - MainLog.Instance = new LogBase("UnitTest.log", "TEST", null, false); -// _dbPlugin = new SQLiteInventoryStore(); - _dbPlugin = new MySQLInventoryData(); - _dbPlugin.Initialise(); - } - - [TestFixtureTearDown] - public void TeardownInventoryTest() - { - _dbPlugin.Close(); - } - - private bool AreFoldersIdentical(InventoryFolderBase a, InventoryFolderBase b) - { - if (a.agentID != b.agentID) return false; - if (a.folderID != b.folderID) return false; - if (a.name != b.name) return false; - if (a.parentID != b.parentID) return false; - if (a.type != b.type) return false; - if (a.version != b.version) return false; - return true; - } - - private bool AreItemsIdentical(InventoryItemBase a, InventoryItemBase b) - { - if (a.assetID != b.assetID) return false; - if (a.assetType != b.assetType) return false; - if (a.avatarID != b.avatarID) return false; - if (a.creatorsID != b.creatorsID) return false; - if (a.inventoryBasePermissions != b.inventoryBasePermissions) return false; - if (a.inventoryCurrentPermissions != b.inventoryCurrentPermissions) return false; - if (a.inventoryEveryOnePermissions != b.inventoryEveryOnePermissions) return false; - if (a.inventoryNextPermissions != b.inventoryNextPermissions) return false; - if (a.inventoryID != b.inventoryID) return false; - if (a.inventoryDescription != b.inventoryDescription) return false; - if (a.inventoryName != b.inventoryName) return false; - if (a.invType != b.invType) return false; - if (a.parentFolderID != b.parentFolderID) return false; - return true; - } - - /// - /// Test that we can insert a root folder - /// - [Test] - public void T01_SetupRootFolder() - { - InventoryFolderBase root = new InventoryFolderBase(); - root.agentID = _agent_1_id; - root.folderID = _agent_1_id; - root.name = "Root folder"; - root.parentID = LLUUID.Zero; - root.type = 2; - root.version = 2; - _dbPlugin.addInventoryFolder(root); - - InventoryFolderBase f = _dbPlugin.getInventoryFolder(root.folderID); - Assert.IsNotNull(f, "Failed to get existing folder"); - Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data"); - - // Test that we only get the root folder, based on it's id, i.e. any other gui will not find the folder - f = _dbPlugin.getInventoryFolder(LLUUID.Zero); - Assert.IsNull(f, "get folder returned a folder, but shouldn't find one"); - - f = _dbPlugin.getInventoryFolder(LLUUID.Random()); - Assert.IsNull(f, "get folder returned a folder, but shouldn't find one"); - - // test that we can delete the folder - - _dbPlugin.deleteInventoryFolder(_agent_1_id); - f = _dbPlugin.getInventoryFolder(root.folderID); - Assert.IsNull(f, "get folder returned a folder, but it should have been deleted"); - } - - /// - /// Make sure that all folders reported as root folders are root folders - /// - [Test] - public void T02_TestRootFolder() - { - InventoryFolderBase root = new InventoryFolderBase(); - root.agentID = _agent_1_id; - root.folderID = _agent_1_id; - root.name = "Root folder"; - root.parentID = LLUUID.Zero; - root.type = 2; - root.version = 2; - _dbPlugin.addInventoryFolder(root); - - List folders = _dbPlugin.getUserRootFolders(_agent_1_id); - Assert.IsNotNull(folders, "Failed to get rootfolders for user"); - - bool foundRoot = false; - foreach(InventoryFolderBase f in folders) { - - // a root folder has a zero valued LLUUID - Assert.AreEqual(f.parentID, LLUUID.Zero, "non root folder returned"); - - - if(f.agentID == root.agentID) - { - // we cannot have two different user specific root folders - Assert.IsFalse(foundRoot, "Two different user specific root folders returned"); - - Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data"); - foundRoot = false; - } - } - _dbPlugin.deleteInventoryFolder(_agent_1_id); - } - - /// - /// Test of folder hierarchy - /// - [Test] - public void T03_TestRootFolder() - { - InventoryFolderBase root = new InventoryFolderBase(); - root.agentID = _agent_1_id; - root.folderID = _agent_1_id; - root.name = "Root folder"; - root.parentID = LLUUID.Zero; - root.type = 2; - root.version = 2; - _dbPlugin.addInventoryFolder(root); - - List folders = _dbPlugin.getInventoryFolders(_agent_1_id); - Assert.IsNotNull(folders, "null was returned, but an empty list of subfolders were expected"); - Assert.IsEmpty(folders, "non empty collection was returned, even though the list of sub-folders should be empty"); - - InventoryFolderBase child1 = new InventoryFolderBase(); - child1.agentID = _agent_1_id; - child1.folderID = LLUUID.Random(); - child1.name = "Child 1"; - child1.parentID = root.folderID; - child1.type = 3; - child1.version = 3; - _dbPlugin.addInventoryFolder(child1); - - InventoryFolderBase child2 = new InventoryFolderBase(); - child2.agentID = _agent_1_id; - child2.folderID = LLUUID.Random(); - child2.name = "Child 2"; - child2.parentID = root.folderID; - child2.type = 4; - child2.version = 4; - _dbPlugin.addInventoryFolder(child2); - - folders = _dbPlugin.getInventoryFolders(_agent_1_id); - Assert.IsNotNull(folders, "null was returned, but an empty list of subfolders were expected"); - Assert.AreEqual(folders.Count, 2, "two children were reported as inserted into the root folder"); - - bool foundChild1 = false; - bool foundChild2 = false; - - foreach (InventoryFolderBase f in folders) - { - if (f.folderID == child1.folderID) - { - Assert.IsTrue(AreFoldersIdentical(child1, f), "Difference between stored and retrieved folder data"); - foundChild1 = true; - } - else if (f.folderID == child2.folderID) - { - Assert.IsTrue(AreFoldersIdentical(child2, f), "Difference between stored and retrieved folder data"); - foundChild2 = true; - } - else - { - Assert.Fail("found unknown child folder"); - } - } - - if (foundChild1 == false || foundChild2 == false) - { - Assert.Fail("one of the two child folders was not returned"); - } - - _dbPlugin.deleteInventoryFolder(child2.folderID); - _dbPlugin.deleteInventoryFolder(child1.folderID); - _dbPlugin.deleteInventoryFolder(_agent_1_id); - } - - /// - /// Test of folder hierarchy, and deletion - /// - [Test] - public void T04_TestRootFolder() - { - InventoryFolderBase root = new InventoryFolderBase(); - root.agentID = _agent_1_id; - root.folderID = _agent_1_id; - root.name = "Root folder"; - root.parentID = LLUUID.Zero; - root.type = 2; - root.version = 2; - _dbPlugin.addInventoryFolder(root); - - InventoryFolderBase child1 = new InventoryFolderBase(); - child1.agentID = _agent_1_id; - child1.folderID = LLUUID.Random(); - child1.name = "Child 1"; - child1.parentID = root.folderID; - child1.type = 3; - child1.version = 3; - _dbPlugin.addInventoryFolder(child1); - - InventoryFolderBase child2 = new InventoryFolderBase(); - child2.agentID = _agent_1_id; - child2.folderID = LLUUID.Random(); - child2.name = "Child 2"; - child2.parentID = root.folderID; - child2.type = 4; - child2.version = 4; - _dbPlugin.addInventoryFolder(child2); - - _dbPlugin.deleteInventoryFolder(_agent_1_id); - - List folders = _dbPlugin.getInventoryFolders(_agent_1_id); - Assert.IsNotNull(folders, "null was returned, but an empty list of subfolders were expected"); - Assert.IsEmpty(folders, "non empty collection was returned, even though the list of sub-folders should be empty"); - - InventoryFolderBase f = _dbPlugin.getInventoryFolder(_agent_1_id); - Assert.IsNull(f, "Folder was returned, even though is has been deleted"); - - f = _dbPlugin.getInventoryFolder(child1.folderID); - Assert.IsNull(f, "Folder was returned, even though is has been deleted"); - - f = _dbPlugin.getInventoryFolder(child2.folderID); - Assert.IsNull(f, "Folder was returned, even though is has been deleted"); - } - - /// - /// Folder update - /// - [Test] - public void T05_UpdateFolder() - { - InventoryFolderBase root = new InventoryFolderBase(); - root.agentID = _agent_1_id; - root.folderID = _agent_1_id; - root.name = "Root folder"; - root.parentID = LLUUID.Zero; - root.type = 2; - root.version = 2; - _dbPlugin.addInventoryFolder(root); - - InventoryFolderBase f = _dbPlugin.getInventoryFolder(_agent_1_id); - Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data"); - - root.agentID = LLUUID.Random(); - _dbPlugin.updateInventoryFolder(root); - f = _dbPlugin.getInventoryFolder(root.folderID); - Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data"); - - root.folderID = LLUUID.Random(); - _dbPlugin.updateInventoryFolder(root); - f = _dbPlugin.getInventoryFolder(root.folderID); - Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data"); - - root.name = "Root folder 2"; - _dbPlugin.updateInventoryFolder(root); - f = _dbPlugin.getInventoryFolder(root.folderID); - Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data"); - - root.parentID = LLUUID.Random(); - _dbPlugin.updateInventoryFolder(root); - f = _dbPlugin.getInventoryFolder(root.folderID); - Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data"); - - root.type = (short)(root.type + 1); - _dbPlugin.updateInventoryFolder(root); - f = _dbPlugin.getInventoryFolder(root.folderID); - Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data"); - - root.version = (ushort)(root.version + 1); - _dbPlugin.updateInventoryFolder(root); - f = _dbPlugin.getInventoryFolder(root.folderID); - Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data"); - - _dbPlugin.deleteInventoryFolder(_agent_1_id); - _dbPlugin.deleteInventoryFolder(root.folderID); - } - - /// - /// Test that we can insert a root folder - /// - [Test] - public void T06_SetupInventoryWithItems() - { - - // Setup inventory - InventoryFolderBase root = new InventoryFolderBase(); - root.agentID = _agent_1_id; - root.folderID = _agent_1_id; - root.name = "Root folder"; - root.parentID = LLUUID.Zero; - root.type = 2; - root.version = 2; - _dbPlugin.addInventoryFolder(root); - - InventoryFolderBase child1 = new InventoryFolderBase(); - child1.agentID = _agent_1_id; - child1.folderID = LLUUID.Random(); - child1.name = "Child 1"; - child1.parentID = root.folderID; - child1.type = 3; - child1.version = 3; - _dbPlugin.addInventoryFolder(child1); - - InventoryFolderBase child1Child = new InventoryFolderBase(); - child1Child.agentID = _agent_1_id; - child1Child.folderID = LLUUID.Random(); - child1Child.name = "Child 1 child"; - child1Child.parentID = child1.folderID; - child1Child.type = 4; - child1Child.version = 4; - _dbPlugin.addInventoryFolder(child1Child); - - InventoryFolderBase child2 = new InventoryFolderBase(); - child2.agentID = _agent_1_id; - child2.folderID = LLUUID.Random(); - child2.name = "Child 2"; - child2.parentID = root.folderID; - child2.type = 5; - child2.version = 5; - _dbPlugin.addInventoryFolder(child2); - - InventoryFolderBase child2Child = new InventoryFolderBase(); - child2Child.agentID = _agent_1_id; - child2Child.folderID = LLUUID.Random(); - child2Child.name = "Child 2 child"; - child2Child.parentID = child2.folderID; - child2Child.type = 6; - child2Child.version = 6; - _dbPlugin.addInventoryFolder(child2Child); - - InventoryItemBase rootItem = new InventoryItemBase(); - rootItem.assetID = LLUUID.Random(); - rootItem.assetType = _rnd.Next(1, 1000); - rootItem.avatarID = _agent_1_id; - rootItem.creatorsID = LLUUID.Random(); - rootItem.inventoryBasePermissions = (uint)_rnd.Next(1,1000000); - rootItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); - rootItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); - rootItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); - rootItem.inventoryID = LLUUID.Random(); - rootItem.inventoryDescription = "Root item, Description"; - rootItem.inventoryName = "Root item"; - rootItem.invType = _rnd.Next(1, 1000); - rootItem.parentFolderID = root.folderID; - _dbPlugin.addInventoryItem(rootItem); - - InventoryItemBase child1Item = new InventoryItemBase(); - child1Item.assetID = LLUUID.Random(); - child1Item.assetType = _rnd.Next(1, 1000); - child1Item.avatarID = _agent_1_id; - child1Item.creatorsID = LLUUID.Random(); - child1Item.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); - child1Item.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); - child1Item.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); - child1Item.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); - child1Item.inventoryID = LLUUID.Random(); - child1Item.inventoryDescription = "child1 item, Description"; - child1Item.inventoryName = "child1 item"; - child1Item.invType = _rnd.Next(1, 1000); - child1Item.parentFolderID = child1.folderID; - _dbPlugin.addInventoryItem(child1Item); - - InventoryItemBase child1ChildItem = new InventoryItemBase(); - child1ChildItem.assetID = LLUUID.Random(); - child1ChildItem.assetType = _rnd.Next(1, 1000); - child1ChildItem.avatarID = _agent_1_id; - child1ChildItem.creatorsID = LLUUID.Random(); - child1ChildItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); - child1ChildItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); - child1ChildItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); - child1ChildItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); - child1ChildItem.inventoryID = LLUUID.Random(); - child1ChildItem.inventoryDescription = "child1Child item, Description"; - child1ChildItem.inventoryName = "child1Child item"; - child1ChildItem.invType = _rnd.Next(1, 1000); - child1ChildItem.parentFolderID = child1Child.folderID; - _dbPlugin.addInventoryItem(child1ChildItem); - - InventoryItemBase child2Item = new InventoryItemBase(); - child2Item.assetID = LLUUID.Random(); - child2Item.assetType = _rnd.Next(1, 1000); - child2Item.avatarID = _agent_1_id; - child2Item.creatorsID = LLUUID.Random(); - child2Item.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); - child2Item.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); - child2Item.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); - child2Item.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); - child2Item.inventoryID = LLUUID.Random(); - child2Item.inventoryDescription = "child2 item, Description"; - child2Item.inventoryName = "child2 item"; - child2Item.invType = _rnd.Next(1, 1000); - child2Item.parentFolderID = child2.folderID; - _dbPlugin.addInventoryItem(child2Item); - - InventoryItemBase child2ChildItem = new InventoryItemBase(); - child2ChildItem.assetID = LLUUID.Random(); - child2ChildItem.assetType = _rnd.Next(1, 1000); - child2ChildItem.avatarID = _agent_1_id; - child2ChildItem.creatorsID = LLUUID.Random(); - child2ChildItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); - child2ChildItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); - child2ChildItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); - child2ChildItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); - child2ChildItem.inventoryID = LLUUID.Random(); - child2ChildItem.inventoryDescription = "child2Child item, Description"; - child2ChildItem.inventoryName = "child2Child item"; - child2ChildItem.invType = _rnd.Next(1, 1000); - child2ChildItem.parentFolderID = child2Child.folderID; - _dbPlugin.addInventoryItem(child2ChildItem); - - // test read of items - - InventoryItemBase item = _dbPlugin.getInventoryItem(rootItem.inventoryID); - Assert.IsTrue(AreItemsIdentical(rootItem, item)); - - item = _dbPlugin.getInventoryItem(child1Item.inventoryID); - Assert.IsTrue(AreItemsIdentical(child1Item, item)); - - item = _dbPlugin.getInventoryItem(child1ChildItem.inventoryID); - Assert.IsTrue(AreItemsIdentical(child1ChildItem, item)); - - item = _dbPlugin.getInventoryItem(child2Item.inventoryID); - Assert.IsTrue(AreItemsIdentical(child2Item, item)); - - item = _dbPlugin.getInventoryItem(child2ChildItem.inventoryID); - Assert.IsTrue(AreItemsIdentical(child2ChildItem, item)); - - _dbPlugin.deleteInventoryItem(rootItem.inventoryID); - _dbPlugin.deleteInventoryItem(child1Item.inventoryID); - _dbPlugin.deleteInventoryItem(child1ChildItem.inventoryID); - _dbPlugin.deleteInventoryItem(child2Item.inventoryID); - _dbPlugin.deleteInventoryItem(child2ChildItem.inventoryID); - } - - /// - /// Test that we can insert a root folder - /// - [Test] - public void T07_DeleteInventoryWithItems() - { - - // Setup inventory - InventoryFolderBase root = new InventoryFolderBase(); - root.agentID = _agent_1_id; - root.folderID = _agent_1_id; - root.name = "Root folder"; - root.parentID = LLUUID.Zero; - root.type = 2; - root.version = 2; - _dbPlugin.addInventoryFolder(root); - - InventoryFolderBase child1 = new InventoryFolderBase(); - child1.agentID = _agent_1_id; - child1.folderID = LLUUID.Random(); - child1.name = "Child 1"; - child1.parentID = root.folderID; - child1.type = 3; - child1.version = 3; - _dbPlugin.addInventoryFolder(child1); - - InventoryFolderBase child1Child = new InventoryFolderBase(); - child1Child.agentID = _agent_1_id; - child1Child.folderID = LLUUID.Random(); - child1Child.name = "Child 1 child"; - child1Child.parentID = child1.folderID; - child1Child.type = 4; - child1Child.version = 4; - _dbPlugin.addInventoryFolder(child1Child); - - InventoryFolderBase child2 = new InventoryFolderBase(); - child2.agentID = _agent_1_id; - child2.folderID = LLUUID.Random(); - child2.name = "Child 2"; - child2.parentID = root.folderID; - child2.type = 5; - child2.version = 5; - _dbPlugin.addInventoryFolder(child2); - - InventoryFolderBase child2Child = new InventoryFolderBase(); - child2Child.agentID = _agent_1_id; - child2Child.folderID = LLUUID.Random(); - child2Child.name = "Child 2 child"; - child2Child.parentID = child2.folderID; - child2Child.type = 6; - child2Child.version = 6; - _dbPlugin.addInventoryFolder(child2Child); - - InventoryItemBase rootItem = new InventoryItemBase(); - rootItem.assetID = LLUUID.Random(); - rootItem.assetType = _rnd.Next(1, 1000); - rootItem.avatarID = _agent_1_id; - rootItem.creatorsID = LLUUID.Random(); - rootItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); - rootItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); - rootItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); - rootItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); - rootItem.inventoryID = LLUUID.Random(); - rootItem.inventoryDescription = "Root item, Description"; - rootItem.inventoryName = "Root item"; - rootItem.invType = _rnd.Next(1, 1000); - rootItem.parentFolderID = root.folderID; - _dbPlugin.addInventoryItem(rootItem); - - InventoryItemBase child1Item = new InventoryItemBase(); - child1Item.assetID = LLUUID.Random(); - child1Item.assetType = _rnd.Next(1, 1000); - child1Item.avatarID = _agent_1_id; - child1Item.creatorsID = LLUUID.Random(); - child1Item.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); - child1Item.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); - child1Item.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); - child1Item.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); - child1Item.inventoryID = LLUUID.Random(); - child1Item.inventoryDescription = "child1 item, Description"; - child1Item.inventoryName = "child1 item"; - child1Item.invType = _rnd.Next(1, 1000); - child1Item.parentFolderID = child1.folderID; - _dbPlugin.addInventoryItem(child1Item); - - InventoryItemBase child1ChildItem = new InventoryItemBase(); - child1ChildItem.assetID = LLUUID.Random(); - child1ChildItem.assetType = _rnd.Next(1, 1000); - child1ChildItem.avatarID = _agent_1_id; - child1ChildItem.creatorsID = LLUUID.Random(); - child1ChildItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); - child1ChildItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); - child1ChildItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); - child1ChildItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); - child1ChildItem.inventoryID = LLUUID.Random(); - child1ChildItem.inventoryDescription = "child1Child item, Description"; - child1ChildItem.inventoryName = "child1Child item"; - child1ChildItem.invType = _rnd.Next(1, 1000); - child1ChildItem.parentFolderID = child1Child.folderID; - _dbPlugin.addInventoryItem(child1ChildItem); - - InventoryItemBase child2Item = new InventoryItemBase(); - child2Item.assetID = LLUUID.Random(); - child2Item.assetType = _rnd.Next(1, 1000); - child2Item.avatarID = _agent_1_id; - child2Item.creatorsID = LLUUID.Random(); - child2Item.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); - child2Item.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); - child2Item.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); - child2Item.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); - child2Item.inventoryID = LLUUID.Random(); - child2Item.inventoryDescription = "child2 item, Description"; - child2Item.inventoryName = "child2 item"; - child2Item.invType = _rnd.Next(1, 1000); - child2Item.parentFolderID = child2.folderID; - _dbPlugin.addInventoryItem(child2Item); - - InventoryItemBase child2ChildItem = new InventoryItemBase(); - child2ChildItem.assetID = LLUUID.Random(); - child2ChildItem.assetType = _rnd.Next(1, 1000); - child2ChildItem.avatarID = _agent_1_id; - child2ChildItem.creatorsID = LLUUID.Random(); - child2ChildItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); - child2ChildItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); - child2ChildItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); - child2ChildItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); - child2ChildItem.inventoryID = LLUUID.Random(); - child2ChildItem.inventoryDescription = "child2Child item, Description"; - child2ChildItem.inventoryName = "child2Child item"; - child2ChildItem.invType = _rnd.Next(1, 1000); - child2ChildItem.parentFolderID = child2Child.folderID; - _dbPlugin.addInventoryItem(child2ChildItem); - - // test deletetion of items - - _dbPlugin.deleteInventoryItem(rootItem.inventoryID); - _dbPlugin.deleteInventoryItem(child1Item.inventoryID); - _dbPlugin.deleteInventoryItem(child1ChildItem.inventoryID); - _dbPlugin.deleteInventoryItem(child2Item.inventoryID); - _dbPlugin.deleteInventoryItem(child2ChildItem.inventoryID); - - InventoryItemBase item = _dbPlugin.getInventoryItem(rootItem.inventoryID); - Assert.IsNull(item); - - item = _dbPlugin.getInventoryItem(child1Item.inventoryID); - Assert.IsNull(item); - - item = _dbPlugin.getInventoryItem(child1ChildItem.inventoryID); - Assert.IsNull(item); - - item = _dbPlugin.getInventoryItem(child2Item.inventoryID); - Assert.IsNull(item); - - item = _dbPlugin.getInventoryItem(child2ChildItem.inventoryID); - Assert.IsNull(item); - - _dbPlugin.deleteInventoryFolder(_agent_1_id); - } - - - /// - /// Test that we can insert a root folder - /// - [Test] - public void T08_DeleteInventoryWithItems() - { - - // Setup inventory - InventoryFolderBase root = new InventoryFolderBase(); - root.agentID = _agent_1_id; - root.folderID = _agent_1_id; - root.name = "Root folder"; - root.parentID = LLUUID.Zero; - root.type = 2; - root.version = 2; - _dbPlugin.addInventoryFolder(root); - - InventoryFolderBase child1 = new InventoryFolderBase(); - child1.agentID = _agent_1_id; - child1.folderID = LLUUID.Random(); - child1.name = "Child 1"; - child1.parentID = root.folderID; - child1.type = 3; - child1.version = 3; - _dbPlugin.addInventoryFolder(child1); - - InventoryFolderBase child1Child = new InventoryFolderBase(); - child1Child.agentID = _agent_1_id; - child1Child.folderID = LLUUID.Random(); - child1Child.name = "Child 1 child"; - child1Child.parentID = child1.folderID; - child1Child.type = 4; - child1Child.version = 4; - _dbPlugin.addInventoryFolder(child1Child); - - InventoryFolderBase child2 = new InventoryFolderBase(); - child2.agentID = _agent_1_id; - child2.folderID = LLUUID.Random(); - child2.name = "Child 2"; - child2.parentID = root.folderID; - child2.type = 5; - child2.version = 5; - _dbPlugin.addInventoryFolder(child2); - - InventoryFolderBase child2Child = new InventoryFolderBase(); - child2Child.agentID = _agent_1_id; - child2Child.folderID = LLUUID.Random(); - child2Child.name = "Child 2 child"; - child2Child.parentID = child2.folderID; - child2Child.type = 6; - child2Child.version = 6; - _dbPlugin.addInventoryFolder(child2Child); - - InventoryItemBase rootItem = new InventoryItemBase(); - rootItem.assetID = LLUUID.Random(); - rootItem.assetType = _rnd.Next(1, 1000); - rootItem.avatarID = _agent_1_id; - rootItem.creatorsID = LLUUID.Random(); - rootItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); - rootItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); - rootItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); - rootItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); - rootItem.inventoryID = LLUUID.Random(); - rootItem.inventoryDescription = "Root item, Description"; - rootItem.inventoryName = "Root item"; - rootItem.invType = _rnd.Next(1, 1000); - rootItem.parentFolderID = root.folderID; - _dbPlugin.addInventoryItem(rootItem); - - InventoryItemBase child1Item = new InventoryItemBase(); - child1Item.assetID = LLUUID.Random(); - child1Item.assetType = _rnd.Next(1, 1000); - child1Item.avatarID = _agent_1_id; - child1Item.creatorsID = LLUUID.Random(); - child1Item.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); - child1Item.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); - child1Item.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); - child1Item.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); - child1Item.inventoryID = LLUUID.Random(); - child1Item.inventoryDescription = "child1 item, Description"; - child1Item.inventoryName = "child1 item"; - child1Item.invType = _rnd.Next(1, 1000); - child1Item.parentFolderID = child1.folderID; - _dbPlugin.addInventoryItem(child1Item); - - InventoryItemBase child1ChildItem = new InventoryItemBase(); - child1ChildItem.assetID = LLUUID.Random(); - child1ChildItem.assetType = _rnd.Next(1, 1000); - child1ChildItem.avatarID = _agent_1_id; - child1ChildItem.creatorsID = LLUUID.Random(); - child1ChildItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); - child1ChildItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); - child1ChildItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); - child1ChildItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); - child1ChildItem.inventoryID = LLUUID.Random(); - child1ChildItem.inventoryDescription = "child1Child item, Description"; - child1ChildItem.inventoryName = "child1Child item"; - child1ChildItem.invType = _rnd.Next(1, 1000); - child1ChildItem.parentFolderID = child1Child.folderID; - _dbPlugin.addInventoryItem(child1ChildItem); - - InventoryItemBase child2Item = new InventoryItemBase(); - child2Item.assetID = LLUUID.Random(); - child2Item.assetType = _rnd.Next(1, 1000); - child2Item.avatarID = _agent_1_id; - child2Item.creatorsID = LLUUID.Random(); - child2Item.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); - child2Item.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); - child2Item.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); - child2Item.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); - child2Item.inventoryID = LLUUID.Random(); - child2Item.inventoryDescription = "child2 item, Description"; - child2Item.inventoryName = "child2 item"; - child2Item.invType = _rnd.Next(1, 1000); - child2Item.parentFolderID = child2.folderID; - _dbPlugin.addInventoryItem(child2Item); - - InventoryItemBase child2ChildItem = new InventoryItemBase(); - child2ChildItem.assetID = LLUUID.Random(); - child2ChildItem.assetType = _rnd.Next(1, 1000); - child2ChildItem.avatarID = _agent_1_id; - child2ChildItem.creatorsID = LLUUID.Random(); - child2ChildItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); - child2ChildItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); - child2ChildItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); - child2ChildItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); - child2ChildItem.inventoryID = LLUUID.Random(); - child2ChildItem.inventoryDescription = "child2Child item, Description"; - child2ChildItem.inventoryName = "child2Child item"; - child2ChildItem.invType = _rnd.Next(1, 1000); - child2ChildItem.parentFolderID = child2Child.folderID; - _dbPlugin.addInventoryItem(child2ChildItem); - - // test deletetion of items - - _dbPlugin.deleteInventoryFolder(_agent_1_id); - - InventoryItemBase item = _dbPlugin.getInventoryItem(rootItem.inventoryID); - Assert.IsNull(item); - - item = _dbPlugin.getInventoryItem(child1Item.inventoryID); - Assert.IsNull(item); - - item = _dbPlugin.getInventoryItem(child1ChildItem.inventoryID); - Assert.IsNull(item); - - item = _dbPlugin.getInventoryItem(child2Item.inventoryID); - Assert.IsNull(item); - - item = _dbPlugin.getInventoryItem(child2ChildItem.inventoryID); - Assert.IsNull(item); - - } - - /// - /// Test that we can update items - /// - [Test] - public void T09_UpdateItem() - { - - // Setup inventory - InventoryFolderBase root = new InventoryFolderBase(); - root.agentID = _agent_1_id; - root.folderID = _agent_1_id; - root.name = "Root folder"; - root.parentID = LLUUID.Zero; - root.type = 2; - root.version = 2; - _dbPlugin.addInventoryFolder(root); - - InventoryItemBase rootItem = new InventoryItemBase(); - rootItem.assetID = LLUUID.Random(); - rootItem.assetType = _rnd.Next(1, 1000); - rootItem.avatarID = _agent_1_id; - rootItem.creatorsID = LLUUID.Random(); - rootItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); - rootItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); - rootItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); - rootItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); - rootItem.inventoryID = LLUUID.Random(); - rootItem.inventoryDescription = "Root item, Description"; - rootItem.inventoryName = "Root item"; - rootItem.invType = _rnd.Next(1, 1000); - rootItem.parentFolderID = root.folderID; - _dbPlugin.addInventoryItem(rootItem); - - rootItem.assetID = LLUUID.Random(); - _dbPlugin.updateInventoryItem(rootItem); - InventoryItemBase item = _dbPlugin.getInventoryItem(rootItem.inventoryID); - Assert.IsTrue(AreItemsIdentical(rootItem, item)); - - rootItem.assetType = rootItem.assetType+1; - _dbPlugin.updateInventoryItem(rootItem); - item = _dbPlugin.getInventoryItem(rootItem.inventoryID); - Assert.IsTrue(AreItemsIdentical(rootItem, item)); - - rootItem.avatarID = LLUUID.Random(); - _dbPlugin.updateInventoryItem(rootItem); - item = _dbPlugin.getInventoryItem(rootItem.inventoryID); - Assert.IsTrue(AreItemsIdentical(rootItem, item)); - - rootItem.creatorsID = LLUUID.Random(); - _dbPlugin.updateInventoryItem(rootItem); - item = _dbPlugin.getInventoryItem(rootItem.inventoryID); - Assert.IsTrue(AreItemsIdentical(rootItem, item)); - - rootItem.inventoryBasePermissions = rootItem.inventoryBasePermissions+1; - _dbPlugin.updateInventoryItem(rootItem); - item = _dbPlugin.getInventoryItem(rootItem.inventoryID); - Assert.IsTrue(AreItemsIdentical(rootItem, item)); - - rootItem.inventoryCurrentPermissions = rootItem.inventoryCurrentPermissions+1; - _dbPlugin.updateInventoryItem(rootItem); - item = _dbPlugin.getInventoryItem(rootItem.inventoryID); - Assert.IsTrue(AreItemsIdentical(rootItem, item)); - - rootItem.inventoryDescription = "New description"; - _dbPlugin.updateInventoryItem(rootItem); - item = _dbPlugin.getInventoryItem(rootItem.inventoryID); - Assert.IsTrue(AreItemsIdentical(rootItem, item)); - - rootItem.inventoryEveryOnePermissions = rootItem.inventoryEveryOnePermissions+1; - _dbPlugin.updateInventoryItem(rootItem); - item = _dbPlugin.getInventoryItem(rootItem.inventoryID); - Assert.IsTrue(AreItemsIdentical(rootItem, item)); - - rootItem.inventoryName = "New name"; - _dbPlugin.updateInventoryItem(rootItem); - item = _dbPlugin.getInventoryItem(rootItem.inventoryID); - Assert.IsTrue(AreItemsIdentical(rootItem, item)); - - rootItem.inventoryNextPermissions = rootItem.inventoryNextPermissions+1; - _dbPlugin.updateInventoryItem(rootItem); - item = _dbPlugin.getInventoryItem(rootItem.inventoryID); - Assert.IsTrue(AreItemsIdentical(rootItem, item)); - - rootItem.invType = rootItem.invType+1; - _dbPlugin.updateInventoryItem(rootItem); - item = _dbPlugin.getInventoryItem(rootItem.inventoryID); - Assert.IsTrue(AreItemsIdentical(rootItem, item)); - - rootItem.parentFolderID = LLUUID.Zero; - _dbPlugin.updateInventoryItem(rootItem); - item = _dbPlugin.getInventoryItem(rootItem.inventoryID); - Assert.IsTrue(AreItemsIdentical(rootItem, item)); - - _dbPlugin.deleteInventoryFolder(_agent_1_id); - _dbPlugin.deleteInventoryItem(rootItem.inventoryID); - } - - - /// - /// Test that we can insert a root folder - /// - [Test] - public void T10_GetListOfItemsInFolder() - { - - // Setup inventory - InventoryFolderBase root = new InventoryFolderBase(); - root.agentID = _agent_1_id; - root.folderID = _agent_1_id; - root.name = "Root folder"; - root.parentID = LLUUID.Zero; - root.type = 2; - root.version = 2; - _dbPlugin.addInventoryFolder(root); - - InventoryFolderBase child1 = new InventoryFolderBase(); - child1.agentID = _agent_1_id; - child1.folderID = LLUUID.Random(); - child1.name = "Child 1"; - child1.parentID = root.folderID; - child1.type = 3; - child1.version = 3; - _dbPlugin.addInventoryFolder(child1); - - InventoryFolderBase child1Child = new InventoryFolderBase(); - child1Child.agentID = _agent_1_id; - child1Child.folderID = LLUUID.Random(); - child1Child.name = "Child 1 child"; - child1Child.parentID = child1.folderID; - child1Child.type = 4; - child1Child.version = 4; - _dbPlugin.addInventoryFolder(child1Child); - - - InventoryItemBase item1 = new InventoryItemBase(); - item1.assetID = LLUUID.Random(); - item1.assetType = _rnd.Next(1, 1000); - item1.avatarID = _agent_1_id; - item1.creatorsID = LLUUID.Random(); - item1.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); - item1.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); - item1.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); - item1.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); - item1.inventoryID = LLUUID.Random(); - item1.inventoryDescription = "Item 1, description"; - item1.inventoryName = "Item 1"; - item1.invType = _rnd.Next(1, 1000); - item1.parentFolderID = child1Child.folderID; - _dbPlugin.addInventoryItem(item1); - - InventoryItemBase item2 = new InventoryItemBase(); - item2.assetID = LLUUID.Random(); - item2.assetType = _rnd.Next(1, 1000); - item2.avatarID = _agent_1_id; - item2.creatorsID = LLUUID.Random(); - item2.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); - item2.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); - item2.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); - item2.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); - item2.inventoryID = LLUUID.Random(); - item2.inventoryDescription = "Item 1, description"; - item2.inventoryName = "Item 1"; - item2.invType = _rnd.Next(1, 1000); - item2.parentFolderID = child1Child.folderID; - _dbPlugin.addInventoryItem(item2); - - List items = _dbPlugin.getInventoryInFolder(child1Child.folderID); - Assert.IsNotNull(items); - Assert.IsNotEmpty(items); - - bool foundItem1 = false; - bool foundItem2 = false; - - foreach (InventoryItemBase i in items) - { - if (i.inventoryID == item1.inventoryID) - { - foundItem1 = true; - Assert.IsTrue(AreItemsIdentical(item1, i)); - } - else if (i.inventoryID == item2.inventoryID) - { - foundItem2 = true; - Assert.IsTrue(AreItemsIdentical(item2, i)); - } - else - { - Assert.Fail("Unknown inventory item found"); - } - } - - Assert.IsTrue(foundItem1 && foundItem2, "not all items were returned"); - _dbPlugin.deleteInventoryFolder(_agent_1_id); - } - } -} +/* +* Copyright (c) Contributors, http://opensimulator.org/ +* See CONTRIBUTORS.TXT for a full list of copyright holders. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* * Neither the name of the OpenSim Project nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +using System; +using System.Collections.Generic; +using System.Text; +using NUnit.Framework; + +using libsecondlife; +using OpenSim.Framework.Types; +using OpenSim.Framework.Data; +using OpenSim.Framework.Data.SQLite; +using OpenSim.Framework.Data.MySQL; +using OpenSim.Framework.Console; + +namespace OpenSim.Test.Inventory +{ + [TestFixture] + public class TestInventory + { + IInventoryData _dbPlugin; + LLUUID _agent_1_id; + public static LLUUID LibraryFolderRootUuid = new LLUUID("5926de2a-c2d7-4c11-ac4e-74512ffeb6d1"); + + Random _rnd = new Random((int)DateTime.Now.Ticks); + + [TestFixtureSetUp] + public void SetupInventoryTest() + { + _agent_1_id = LLUUID.Random(); + + MainConsole.Instance = new ConsoleBase("TEST", null); + +// _dbPlugin = new SQLiteInventoryStore(); + _dbPlugin = new MySQLInventoryData(); + _dbPlugin.Initialise(); + } + + [TestFixtureTearDown] + public void TeardownInventoryTest() + { + _dbPlugin.Close(); + } + + private bool AreFoldersIdentical(InventoryFolderBase a, InventoryFolderBase b) + { + if (a.agentID != b.agentID) return false; + if (a.folderID != b.folderID) return false; + if (a.name != b.name) return false; + if (a.parentID != b.parentID) return false; + if (a.type != b.type) return false; + if (a.version != b.version) return false; + return true; + } + + private bool AreItemsIdentical(InventoryItemBase a, InventoryItemBase b) + { + if (a.assetID != b.assetID) return false; + if (a.assetType != b.assetType) return false; + if (a.avatarID != b.avatarID) return false; + if (a.creatorsID != b.creatorsID) return false; + if (a.inventoryBasePermissions != b.inventoryBasePermissions) return false; + if (a.inventoryCurrentPermissions != b.inventoryCurrentPermissions) return false; + if (a.inventoryEveryOnePermissions != b.inventoryEveryOnePermissions) return false; + if (a.inventoryNextPermissions != b.inventoryNextPermissions) return false; + if (a.inventoryID != b.inventoryID) return false; + if (a.inventoryDescription != b.inventoryDescription) return false; + if (a.inventoryName != b.inventoryName) return false; + if (a.invType != b.invType) return false; + if (a.parentFolderID != b.parentFolderID) return false; + return true; + } + + /// + /// Test that we can insert a root folder + /// + [Test] + public void T01_SetupRootFolder() + { + InventoryFolderBase root = new InventoryFolderBase(); + root.agentID = _agent_1_id; + root.folderID = _agent_1_id; + root.name = "Root folder"; + root.parentID = LLUUID.Zero; + root.type = 2; + root.version = 2; + _dbPlugin.addInventoryFolder(root); + + InventoryFolderBase f = _dbPlugin.getInventoryFolder(root.folderID); + Assert.IsNotNull(f, "Failed to get existing folder"); + Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data"); + + // Test that we only get the root folder, based on it's id, i.e. any other gui will not find the folder + f = _dbPlugin.getInventoryFolder(LLUUID.Zero); + Assert.IsNull(f, "get folder returned a folder, but shouldn't find one"); + + f = _dbPlugin.getInventoryFolder(LLUUID.Random()); + Assert.IsNull(f, "get folder returned a folder, but shouldn't find one"); + + // test that we can delete the folder + + _dbPlugin.deleteInventoryFolder(_agent_1_id); + f = _dbPlugin.getInventoryFolder(root.folderID); + Assert.IsNull(f, "get folder returned a folder, but it should have been deleted"); + } + + /// + /// Make sure that all folders reported as root folders are root folders + /// + [Test] + public void T02_TestRootFolder() + { + InventoryFolderBase root = new InventoryFolderBase(); + root.agentID = _agent_1_id; + root.folderID = _agent_1_id; + root.name = "Root folder"; + root.parentID = LLUUID.Zero; + root.type = 2; + root.version = 2; + _dbPlugin.addInventoryFolder(root); + + List folders = _dbPlugin.getUserRootFolders(_agent_1_id); + Assert.IsNotNull(folders, "Failed to get rootfolders for user"); + + bool foundRoot = false; + foreach(InventoryFolderBase f in folders) { + + // a root folder has a zero valued LLUUID + Assert.AreEqual(f.parentID, LLUUID.Zero, "non root folder returned"); + + + if(f.agentID == root.agentID) + { + // we cannot have two different user specific root folders + Assert.IsFalse(foundRoot, "Two different user specific root folders returned"); + + Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data"); + foundRoot = false; + } + } + _dbPlugin.deleteInventoryFolder(_agent_1_id); + } + + /// + /// Test of folder hierarchy + /// + [Test] + public void T03_TestRootFolder() + { + InventoryFolderBase root = new InventoryFolderBase(); + root.agentID = _agent_1_id; + root.folderID = _agent_1_id; + root.name = "Root folder"; + root.parentID = LLUUID.Zero; + root.type = 2; + root.version = 2; + _dbPlugin.addInventoryFolder(root); + + List folders = _dbPlugin.getInventoryFolders(_agent_1_id); + Assert.IsNotNull(folders, "null was returned, but an empty list of subfolders were expected"); + Assert.IsEmpty(folders, "non empty collection was returned, even though the list of sub-folders should be empty"); + + InventoryFolderBase child1 = new InventoryFolderBase(); + child1.agentID = _agent_1_id; + child1.folderID = LLUUID.Random(); + child1.name = "Child 1"; + child1.parentID = root.folderID; + child1.type = 3; + child1.version = 3; + _dbPlugin.addInventoryFolder(child1); + + InventoryFolderBase child2 = new InventoryFolderBase(); + child2.agentID = _agent_1_id; + child2.folderID = LLUUID.Random(); + child2.name = "Child 2"; + child2.parentID = root.folderID; + child2.type = 4; + child2.version = 4; + _dbPlugin.addInventoryFolder(child2); + + folders = _dbPlugin.getInventoryFolders(_agent_1_id); + Assert.IsNotNull(folders, "null was returned, but an empty list of subfolders were expected"); + Assert.AreEqual(folders.Count, 2, "two children were reported as inserted into the root folder"); + + bool foundChild1 = false; + bool foundChild2 = false; + + foreach (InventoryFolderBase f in folders) + { + if (f.folderID == child1.folderID) + { + Assert.IsTrue(AreFoldersIdentical(child1, f), "Difference between stored and retrieved folder data"); + foundChild1 = true; + } + else if (f.folderID == child2.folderID) + { + Assert.IsTrue(AreFoldersIdentical(child2, f), "Difference between stored and retrieved folder data"); + foundChild2 = true; + } + else + { + Assert.Fail("found unknown child folder"); + } + } + + if (foundChild1 == false || foundChild2 == false) + { + Assert.Fail("one of the two child folders was not returned"); + } + + _dbPlugin.deleteInventoryFolder(child2.folderID); + _dbPlugin.deleteInventoryFolder(child1.folderID); + _dbPlugin.deleteInventoryFolder(_agent_1_id); + } + + /// + /// Test of folder hierarchy, and deletion + /// + [Test] + public void T04_TestRootFolder() + { + InventoryFolderBase root = new InventoryFolderBase(); + root.agentID = _agent_1_id; + root.folderID = _agent_1_id; + root.name = "Root folder"; + root.parentID = LLUUID.Zero; + root.type = 2; + root.version = 2; + _dbPlugin.addInventoryFolder(root); + + InventoryFolderBase child1 = new InventoryFolderBase(); + child1.agentID = _agent_1_id; + child1.folderID = LLUUID.Random(); + child1.name = "Child 1"; + child1.parentID = root.folderID; + child1.type = 3; + child1.version = 3; + _dbPlugin.addInventoryFolder(child1); + + InventoryFolderBase child2 = new InventoryFolderBase(); + child2.agentID = _agent_1_id; + child2.folderID = LLUUID.Random(); + child2.name = "Child 2"; + child2.parentID = root.folderID; + child2.type = 4; + child2.version = 4; + _dbPlugin.addInventoryFolder(child2); + + _dbPlugin.deleteInventoryFolder(_agent_1_id); + + List folders = _dbPlugin.getInventoryFolders(_agent_1_id); + Assert.IsNotNull(folders, "null was returned, but an empty list of subfolders were expected"); + Assert.IsEmpty(folders, "non empty collection was returned, even though the list of sub-folders should be empty"); + + InventoryFolderBase f = _dbPlugin.getInventoryFolder(_agent_1_id); + Assert.IsNull(f, "Folder was returned, even though is has been deleted"); + + f = _dbPlugin.getInventoryFolder(child1.folderID); + Assert.IsNull(f, "Folder was returned, even though is has been deleted"); + + f = _dbPlugin.getInventoryFolder(child2.folderID); + Assert.IsNull(f, "Folder was returned, even though is has been deleted"); + } + + /// + /// Folder update + /// + [Test] + public void T05_UpdateFolder() + { + InventoryFolderBase root = new InventoryFolderBase(); + root.agentID = _agent_1_id; + root.folderID = _agent_1_id; + root.name = "Root folder"; + root.parentID = LLUUID.Zero; + root.type = 2; + root.version = 2; + _dbPlugin.addInventoryFolder(root); + + InventoryFolderBase f = _dbPlugin.getInventoryFolder(_agent_1_id); + Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data"); + + root.agentID = LLUUID.Random(); + _dbPlugin.updateInventoryFolder(root); + f = _dbPlugin.getInventoryFolder(root.folderID); + Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data"); + + root.folderID = LLUUID.Random(); + _dbPlugin.updateInventoryFolder(root); + f = _dbPlugin.getInventoryFolder(root.folderID); + Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data"); + + root.name = "Root folder 2"; + _dbPlugin.updateInventoryFolder(root); + f = _dbPlugin.getInventoryFolder(root.folderID); + Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data"); + + root.parentID = LLUUID.Random(); + _dbPlugin.updateInventoryFolder(root); + f = _dbPlugin.getInventoryFolder(root.folderID); + Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data"); + + root.type = (short)(root.type + 1); + _dbPlugin.updateInventoryFolder(root); + f = _dbPlugin.getInventoryFolder(root.folderID); + Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data"); + + root.version = (ushort)(root.version + 1); + _dbPlugin.updateInventoryFolder(root); + f = _dbPlugin.getInventoryFolder(root.folderID); + Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data"); + + _dbPlugin.deleteInventoryFolder(_agent_1_id); + _dbPlugin.deleteInventoryFolder(root.folderID); + } + + /// + /// Test that we can insert a root folder + /// + [Test] + public void T06_SetupInventoryWithItems() + { + + // Setup inventory + InventoryFolderBase root = new InventoryFolderBase(); + root.agentID = _agent_1_id; + root.folderID = _agent_1_id; + root.name = "Root folder"; + root.parentID = LLUUID.Zero; + root.type = 2; + root.version = 2; + _dbPlugin.addInventoryFolder(root); + + InventoryFolderBase child1 = new InventoryFolderBase(); + child1.agentID = _agent_1_id; + child1.folderID = LLUUID.Random(); + child1.name = "Child 1"; + child1.parentID = root.folderID; + child1.type = 3; + child1.version = 3; + _dbPlugin.addInventoryFolder(child1); + + InventoryFolderBase child1Child = new InventoryFolderBase(); + child1Child.agentID = _agent_1_id; + child1Child.folderID = LLUUID.Random(); + child1Child.name = "Child 1 child"; + child1Child.parentID = child1.folderID; + child1Child.type = 4; + child1Child.version = 4; + _dbPlugin.addInventoryFolder(child1Child); + + InventoryFolderBase child2 = new InventoryFolderBase(); + child2.agentID = _agent_1_id; + child2.folderID = LLUUID.Random(); + child2.name = "Child 2"; + child2.parentID = root.folderID; + child2.type = 5; + child2.version = 5; + _dbPlugin.addInventoryFolder(child2); + + InventoryFolderBase child2Child = new InventoryFolderBase(); + child2Child.agentID = _agent_1_id; + child2Child.folderID = LLUUID.Random(); + child2Child.name = "Child 2 child"; + child2Child.parentID = child2.folderID; + child2Child.type = 6; + child2Child.version = 6; + _dbPlugin.addInventoryFolder(child2Child); + + InventoryItemBase rootItem = new InventoryItemBase(); + rootItem.assetID = LLUUID.Random(); + rootItem.assetType = _rnd.Next(1, 1000); + rootItem.avatarID = _agent_1_id; + rootItem.creatorsID = LLUUID.Random(); + rootItem.inventoryBasePermissions = (uint)_rnd.Next(1,1000000); + rootItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); + rootItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); + rootItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); + rootItem.inventoryID = LLUUID.Random(); + rootItem.inventoryDescription = "Root item, Description"; + rootItem.inventoryName = "Root item"; + rootItem.invType = _rnd.Next(1, 1000); + rootItem.parentFolderID = root.folderID; + _dbPlugin.addInventoryItem(rootItem); + + InventoryItemBase child1Item = new InventoryItemBase(); + child1Item.assetID = LLUUID.Random(); + child1Item.assetType = _rnd.Next(1, 1000); + child1Item.avatarID = _agent_1_id; + child1Item.creatorsID = LLUUID.Random(); + child1Item.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); + child1Item.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); + child1Item.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); + child1Item.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); + child1Item.inventoryID = LLUUID.Random(); + child1Item.inventoryDescription = "child1 item, Description"; + child1Item.inventoryName = "child1 item"; + child1Item.invType = _rnd.Next(1, 1000); + child1Item.parentFolderID = child1.folderID; + _dbPlugin.addInventoryItem(child1Item); + + InventoryItemBase child1ChildItem = new InventoryItemBase(); + child1ChildItem.assetID = LLUUID.Random(); + child1ChildItem.assetType = _rnd.Next(1, 1000); + child1ChildItem.avatarID = _agent_1_id; + child1ChildItem.creatorsID = LLUUID.Random(); + child1ChildItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); + child1ChildItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); + child1ChildItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); + child1ChildItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); + child1ChildItem.inventoryID = LLUUID.Random(); + child1ChildItem.inventoryDescription = "child1Child item, Description"; + child1ChildItem.inventoryName = "child1Child item"; + child1ChildItem.invType = _rnd.Next(1, 1000); + child1ChildItem.parentFolderID = child1Child.folderID; + _dbPlugin.addInventoryItem(child1ChildItem); + + InventoryItemBase child2Item = new InventoryItemBase(); + child2Item.assetID = LLUUID.Random(); + child2Item.assetType = _rnd.Next(1, 1000); + child2Item.avatarID = _agent_1_id; + child2Item.creatorsID = LLUUID.Random(); + child2Item.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); + child2Item.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); + child2Item.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); + child2Item.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); + child2Item.inventoryID = LLUUID.Random(); + child2Item.inventoryDescription = "child2 item, Description"; + child2Item.inventoryName = "child2 item"; + child2Item.invType = _rnd.Next(1, 1000); + child2Item.parentFolderID = child2.folderID; + _dbPlugin.addInventoryItem(child2Item); + + InventoryItemBase child2ChildItem = new InventoryItemBase(); + child2ChildItem.assetID = LLUUID.Random(); + child2ChildItem.assetType = _rnd.Next(1, 1000); + child2ChildItem.avatarID = _agent_1_id; + child2ChildItem.creatorsID = LLUUID.Random(); + child2ChildItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); + child2ChildItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); + child2ChildItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); + child2ChildItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); + child2ChildItem.inventoryID = LLUUID.Random(); + child2ChildItem.inventoryDescription = "child2Child item, Description"; + child2ChildItem.inventoryName = "child2Child item"; + child2ChildItem.invType = _rnd.Next(1, 1000); + child2ChildItem.parentFolderID = child2Child.folderID; + _dbPlugin.addInventoryItem(child2ChildItem); + + // test read of items + + InventoryItemBase item = _dbPlugin.getInventoryItem(rootItem.inventoryID); + Assert.IsTrue(AreItemsIdentical(rootItem, item)); + + item = _dbPlugin.getInventoryItem(child1Item.inventoryID); + Assert.IsTrue(AreItemsIdentical(child1Item, item)); + + item = _dbPlugin.getInventoryItem(child1ChildItem.inventoryID); + Assert.IsTrue(AreItemsIdentical(child1ChildItem, item)); + + item = _dbPlugin.getInventoryItem(child2Item.inventoryID); + Assert.IsTrue(AreItemsIdentical(child2Item, item)); + + item = _dbPlugin.getInventoryItem(child2ChildItem.inventoryID); + Assert.IsTrue(AreItemsIdentical(child2ChildItem, item)); + + _dbPlugin.deleteInventoryItem(rootItem.inventoryID); + _dbPlugin.deleteInventoryItem(child1Item.inventoryID); + _dbPlugin.deleteInventoryItem(child1ChildItem.inventoryID); + _dbPlugin.deleteInventoryItem(child2Item.inventoryID); + _dbPlugin.deleteInventoryItem(child2ChildItem.inventoryID); + } + + /// + /// Test that we can insert a root folder + /// + [Test] + public void T07_DeleteInventoryWithItems() + { + + // Setup inventory + InventoryFolderBase root = new InventoryFolderBase(); + root.agentID = _agent_1_id; + root.folderID = _agent_1_id; + root.name = "Root folder"; + root.parentID = LLUUID.Zero; + root.type = 2; + root.version = 2; + _dbPlugin.addInventoryFolder(root); + + InventoryFolderBase child1 = new InventoryFolderBase(); + child1.agentID = _agent_1_id; + child1.folderID = LLUUID.Random(); + child1.name = "Child 1"; + child1.parentID = root.folderID; + child1.type = 3; + child1.version = 3; + _dbPlugin.addInventoryFolder(child1); + + InventoryFolderBase child1Child = new InventoryFolderBase(); + child1Child.agentID = _agent_1_id; + child1Child.folderID = LLUUID.Random(); + child1Child.name = "Child 1 child"; + child1Child.parentID = child1.folderID; + child1Child.type = 4; + child1Child.version = 4; + _dbPlugin.addInventoryFolder(child1Child); + + InventoryFolderBase child2 = new InventoryFolderBase(); + child2.agentID = _agent_1_id; + child2.folderID = LLUUID.Random(); + child2.name = "Child 2"; + child2.parentID = root.folderID; + child2.type = 5; + child2.version = 5; + _dbPlugin.addInventoryFolder(child2); + + InventoryFolderBase child2Child = new InventoryFolderBase(); + child2Child.agentID = _agent_1_id; + child2Child.folderID = LLUUID.Random(); + child2Child.name = "Child 2 child"; + child2Child.parentID = child2.folderID; + child2Child.type = 6; + child2Child.version = 6; + _dbPlugin.addInventoryFolder(child2Child); + + InventoryItemBase rootItem = new InventoryItemBase(); + rootItem.assetID = LLUUID.Random(); + rootItem.assetType = _rnd.Next(1, 1000); + rootItem.avatarID = _agent_1_id; + rootItem.creatorsID = LLUUID.Random(); + rootItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); + rootItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); + rootItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); + rootItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); + rootItem.inventoryID = LLUUID.Random(); + rootItem.inventoryDescription = "Root item, Description"; + rootItem.inventoryName = "Root item"; + rootItem.invType = _rnd.Next(1, 1000); + rootItem.parentFolderID = root.folderID; + _dbPlugin.addInventoryItem(rootItem); + + InventoryItemBase child1Item = new InventoryItemBase(); + child1Item.assetID = LLUUID.Random(); + child1Item.assetType = _rnd.Next(1, 1000); + child1Item.avatarID = _agent_1_id; + child1Item.creatorsID = LLUUID.Random(); + child1Item.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); + child1Item.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); + child1Item.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); + child1Item.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); + child1Item.inventoryID = LLUUID.Random(); + child1Item.inventoryDescription = "child1 item, Description"; + child1Item.inventoryName = "child1 item"; + child1Item.invType = _rnd.Next(1, 1000); + child1Item.parentFolderID = child1.folderID; + _dbPlugin.addInventoryItem(child1Item); + + InventoryItemBase child1ChildItem = new InventoryItemBase(); + child1ChildItem.assetID = LLUUID.Random(); + child1ChildItem.assetType = _rnd.Next(1, 1000); + child1ChildItem.avatarID = _agent_1_id; + child1ChildItem.creatorsID = LLUUID.Random(); + child1ChildItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); + child1ChildItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); + child1ChildItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); + child1ChildItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); + child1ChildItem.inventoryID = LLUUID.Random(); + child1ChildItem.inventoryDescription = "child1Child item, Description"; + child1ChildItem.inventoryName = "child1Child item"; + child1ChildItem.invType = _rnd.Next(1, 1000); + child1ChildItem.parentFolderID = child1Child.folderID; + _dbPlugin.addInventoryItem(child1ChildItem); + + InventoryItemBase child2Item = new InventoryItemBase(); + child2Item.assetID = LLUUID.Random(); + child2Item.assetType = _rnd.Next(1, 1000); + child2Item.avatarID = _agent_1_id; + child2Item.creatorsID = LLUUID.Random(); + child2Item.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); + child2Item.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); + child2Item.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); + child2Item.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); + child2Item.inventoryID = LLUUID.Random(); + child2Item.inventoryDescription = "child2 item, Description"; + child2Item.inventoryName = "child2 item"; + child2Item.invType = _rnd.Next(1, 1000); + child2Item.parentFolderID = child2.folderID; + _dbPlugin.addInventoryItem(child2Item); + + InventoryItemBase child2ChildItem = new InventoryItemBase(); + child2ChildItem.assetID = LLUUID.Random(); + child2ChildItem.assetType = _rnd.Next(1, 1000); + child2ChildItem.avatarID = _agent_1_id; + child2ChildItem.creatorsID = LLUUID.Random(); + child2ChildItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); + child2ChildItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); + child2ChildItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); + child2ChildItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); + child2ChildItem.inventoryID = LLUUID.Random(); + child2ChildItem.inventoryDescription = "child2Child item, Description"; + child2ChildItem.inventoryName = "child2Child item"; + child2ChildItem.invType = _rnd.Next(1, 1000); + child2ChildItem.parentFolderID = child2Child.folderID; + _dbPlugin.addInventoryItem(child2ChildItem); + + // test deletetion of items + + _dbPlugin.deleteInventoryItem(rootItem.inventoryID); + _dbPlugin.deleteInventoryItem(child1Item.inventoryID); + _dbPlugin.deleteInventoryItem(child1ChildItem.inventoryID); + _dbPlugin.deleteInventoryItem(child2Item.inventoryID); + _dbPlugin.deleteInventoryItem(child2ChildItem.inventoryID); + + InventoryItemBase item = _dbPlugin.getInventoryItem(rootItem.inventoryID); + Assert.IsNull(item); + + item = _dbPlugin.getInventoryItem(child1Item.inventoryID); + Assert.IsNull(item); + + item = _dbPlugin.getInventoryItem(child1ChildItem.inventoryID); + Assert.IsNull(item); + + item = _dbPlugin.getInventoryItem(child2Item.inventoryID); + Assert.IsNull(item); + + item = _dbPlugin.getInventoryItem(child2ChildItem.inventoryID); + Assert.IsNull(item); + + _dbPlugin.deleteInventoryFolder(_agent_1_id); + } + + + /// + /// Test that we can insert a root folder + /// + [Test] + public void T08_DeleteInventoryWithItems() + { + + // Setup inventory + InventoryFolderBase root = new InventoryFolderBase(); + root.agentID = _agent_1_id; + root.folderID = _agent_1_id; + root.name = "Root folder"; + root.parentID = LLUUID.Zero; + root.type = 2; + root.version = 2; + _dbPlugin.addInventoryFolder(root); + + InventoryFolderBase child1 = new InventoryFolderBase(); + child1.agentID = _agent_1_id; + child1.folderID = LLUUID.Random(); + child1.name = "Child 1"; + child1.parentID = root.folderID; + child1.type = 3; + child1.version = 3; + _dbPlugin.addInventoryFolder(child1); + + InventoryFolderBase child1Child = new InventoryFolderBase(); + child1Child.agentID = _agent_1_id; + child1Child.folderID = LLUUID.Random(); + child1Child.name = "Child 1 child"; + child1Child.parentID = child1.folderID; + child1Child.type = 4; + child1Child.version = 4; + _dbPlugin.addInventoryFolder(child1Child); + + InventoryFolderBase child2 = new InventoryFolderBase(); + child2.agentID = _agent_1_id; + child2.folderID = LLUUID.Random(); + child2.name = "Child 2"; + child2.parentID = root.folderID; + child2.type = 5; + child2.version = 5; + _dbPlugin.addInventoryFolder(child2); + + InventoryFolderBase child2Child = new InventoryFolderBase(); + child2Child.agentID = _agent_1_id; + child2Child.folderID = LLUUID.Random(); + child2Child.name = "Child 2 child"; + child2Child.parentID = child2.folderID; + child2Child.type = 6; + child2Child.version = 6; + _dbPlugin.addInventoryFolder(child2Child); + + InventoryItemBase rootItem = new InventoryItemBase(); + rootItem.assetID = LLUUID.Random(); + rootItem.assetType = _rnd.Next(1, 1000); + rootItem.avatarID = _agent_1_id; + rootItem.creatorsID = LLUUID.Random(); + rootItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); + rootItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); + rootItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); + rootItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); + rootItem.inventoryID = LLUUID.Random(); + rootItem.inventoryDescription = "Root item, Description"; + rootItem.inventoryName = "Root item"; + rootItem.invType = _rnd.Next(1, 1000); + rootItem.parentFolderID = root.folderID; + _dbPlugin.addInventoryItem(rootItem); + + InventoryItemBase child1Item = new InventoryItemBase(); + child1Item.assetID = LLUUID.Random(); + child1Item.assetType = _rnd.Next(1, 1000); + child1Item.avatarID = _agent_1_id; + child1Item.creatorsID = LLUUID.Random(); + child1Item.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); + child1Item.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); + child1Item.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); + child1Item.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); + child1Item.inventoryID = LLUUID.Random(); + child1Item.inventoryDescription = "child1 item, Description"; + child1Item.inventoryName = "child1 item"; + child1Item.invType = _rnd.Next(1, 1000); + child1Item.parentFolderID = child1.folderID; + _dbPlugin.addInventoryItem(child1Item); + + InventoryItemBase child1ChildItem = new InventoryItemBase(); + child1ChildItem.assetID = LLUUID.Random(); + child1ChildItem.assetType = _rnd.Next(1, 1000); + child1ChildItem.avatarID = _agent_1_id; + child1ChildItem.creatorsID = LLUUID.Random(); + child1ChildItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); + child1ChildItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); + child1ChildItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); + child1ChildItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); + child1ChildItem.inventoryID = LLUUID.Random(); + child1ChildItem.inventoryDescription = "child1Child item, Description"; + child1ChildItem.inventoryName = "child1Child item"; + child1ChildItem.invType = _rnd.Next(1, 1000); + child1ChildItem.parentFolderID = child1Child.folderID; + _dbPlugin.addInventoryItem(child1ChildItem); + + InventoryItemBase child2Item = new InventoryItemBase(); + child2Item.assetID = LLUUID.Random(); + child2Item.assetType = _rnd.Next(1, 1000); + child2Item.avatarID = _agent_1_id; + child2Item.creatorsID = LLUUID.Random(); + child2Item.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); + child2Item.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); + child2Item.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); + child2Item.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); + child2Item.inventoryID = LLUUID.Random(); + child2Item.inventoryDescription = "child2 item, Description"; + child2Item.inventoryName = "child2 item"; + child2Item.invType = _rnd.Next(1, 1000); + child2Item.parentFolderID = child2.folderID; + _dbPlugin.addInventoryItem(child2Item); + + InventoryItemBase child2ChildItem = new InventoryItemBase(); + child2ChildItem.assetID = LLUUID.Random(); + child2ChildItem.assetType = _rnd.Next(1, 1000); + child2ChildItem.avatarID = _agent_1_id; + child2ChildItem.creatorsID = LLUUID.Random(); + child2ChildItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); + child2ChildItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); + child2ChildItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); + child2ChildItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); + child2ChildItem.inventoryID = LLUUID.Random(); + child2ChildItem.inventoryDescription = "child2Child item, Description"; + child2ChildItem.inventoryName = "child2Child item"; + child2ChildItem.invType = _rnd.Next(1, 1000); + child2ChildItem.parentFolderID = child2Child.folderID; + _dbPlugin.addInventoryItem(child2ChildItem); + + // test deletetion of items + + _dbPlugin.deleteInventoryFolder(_agent_1_id); + + InventoryItemBase item = _dbPlugin.getInventoryItem(rootItem.inventoryID); + Assert.IsNull(item); + + item = _dbPlugin.getInventoryItem(child1Item.inventoryID); + Assert.IsNull(item); + + item = _dbPlugin.getInventoryItem(child1ChildItem.inventoryID); + Assert.IsNull(item); + + item = _dbPlugin.getInventoryItem(child2Item.inventoryID); + Assert.IsNull(item); + + item = _dbPlugin.getInventoryItem(child2ChildItem.inventoryID); + Assert.IsNull(item); + + } + + /// + /// Test that we can update items + /// + [Test] + public void T09_UpdateItem() + { + + // Setup inventory + InventoryFolderBase root = new InventoryFolderBase(); + root.agentID = _agent_1_id; + root.folderID = _agent_1_id; + root.name = "Root folder"; + root.parentID = LLUUID.Zero; + root.type = 2; + root.version = 2; + _dbPlugin.addInventoryFolder(root); + + InventoryItemBase rootItem = new InventoryItemBase(); + rootItem.assetID = LLUUID.Random(); + rootItem.assetType = _rnd.Next(1, 1000); + rootItem.avatarID = _agent_1_id; + rootItem.creatorsID = LLUUID.Random(); + rootItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); + rootItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); + rootItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); + rootItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); + rootItem.inventoryID = LLUUID.Random(); + rootItem.inventoryDescription = "Root item, Description"; + rootItem.inventoryName = "Root item"; + rootItem.invType = _rnd.Next(1, 1000); + rootItem.parentFolderID = root.folderID; + _dbPlugin.addInventoryItem(rootItem); + + rootItem.assetID = LLUUID.Random(); + _dbPlugin.updateInventoryItem(rootItem); + InventoryItemBase item = _dbPlugin.getInventoryItem(rootItem.inventoryID); + Assert.IsTrue(AreItemsIdentical(rootItem, item)); + + rootItem.assetType = rootItem.assetType+1; + _dbPlugin.updateInventoryItem(rootItem); + item = _dbPlugin.getInventoryItem(rootItem.inventoryID); + Assert.IsTrue(AreItemsIdentical(rootItem, item)); + + rootItem.avatarID = LLUUID.Random(); + _dbPlugin.updateInventoryItem(rootItem); + item = _dbPlugin.getInventoryItem(rootItem.inventoryID); + Assert.IsTrue(AreItemsIdentical(rootItem, item)); + + rootItem.creatorsID = LLUUID.Random(); + _dbPlugin.updateInventoryItem(rootItem); + item = _dbPlugin.getInventoryItem(rootItem.inventoryID); + Assert.IsTrue(AreItemsIdentical(rootItem, item)); + + rootItem.inventoryBasePermissions = rootItem.inventoryBasePermissions+1; + _dbPlugin.updateInventoryItem(rootItem); + item = _dbPlugin.getInventoryItem(rootItem.inventoryID); + Assert.IsTrue(AreItemsIdentical(rootItem, item)); + + rootItem.inventoryCurrentPermissions = rootItem.inventoryCurrentPermissions+1; + _dbPlugin.updateInventoryItem(rootItem); + item = _dbPlugin.getInventoryItem(rootItem.inventoryID); + Assert.IsTrue(AreItemsIdentical(rootItem, item)); + + rootItem.inventoryDescription = "New description"; + _dbPlugin.updateInventoryItem(rootItem); + item = _dbPlugin.getInventoryItem(rootItem.inventoryID); + Assert.IsTrue(AreItemsIdentical(rootItem, item)); + + rootItem.inventoryEveryOnePermissions = rootItem.inventoryEveryOnePermissions+1; + _dbPlugin.updateInventoryItem(rootItem); + item = _dbPlugin.getInventoryItem(rootItem.inventoryID); + Assert.IsTrue(AreItemsIdentical(rootItem, item)); + + rootItem.inventoryName = "New name"; + _dbPlugin.updateInventoryItem(rootItem); + item = _dbPlugin.getInventoryItem(rootItem.inventoryID); + Assert.IsTrue(AreItemsIdentical(rootItem, item)); + + rootItem.inventoryNextPermissions = rootItem.inventoryNextPermissions+1; + _dbPlugin.updateInventoryItem(rootItem); + item = _dbPlugin.getInventoryItem(rootItem.inventoryID); + Assert.IsTrue(AreItemsIdentical(rootItem, item)); + + rootItem.invType = rootItem.invType+1; + _dbPlugin.updateInventoryItem(rootItem); + item = _dbPlugin.getInventoryItem(rootItem.inventoryID); + Assert.IsTrue(AreItemsIdentical(rootItem, item)); + + rootItem.parentFolderID = LLUUID.Zero; + _dbPlugin.updateInventoryItem(rootItem); + item = _dbPlugin.getInventoryItem(rootItem.inventoryID); + Assert.IsTrue(AreItemsIdentical(rootItem, item)); + + _dbPlugin.deleteInventoryFolder(_agent_1_id); + _dbPlugin.deleteInventoryItem(rootItem.inventoryID); + } + + + /// + /// Test that we can insert a root folder + /// + [Test] + public void T10_GetListOfItemsInFolder() + { + + // Setup inventory + InventoryFolderBase root = new InventoryFolderBase(); + root.agentID = _agent_1_id; + root.folderID = _agent_1_id; + root.name = "Root folder"; + root.parentID = LLUUID.Zero; + root.type = 2; + root.version = 2; + _dbPlugin.addInventoryFolder(root); + + InventoryFolderBase child1 = new InventoryFolderBase(); + child1.agentID = _agent_1_id; + child1.folderID = LLUUID.Random(); + child1.name = "Child 1"; + child1.parentID = root.folderID; + child1.type = 3; + child1.version = 3; + _dbPlugin.addInventoryFolder(child1); + + InventoryFolderBase child1Child = new InventoryFolderBase(); + child1Child.agentID = _agent_1_id; + child1Child.folderID = LLUUID.Random(); + child1Child.name = "Child 1 child"; + child1Child.parentID = child1.folderID; + child1Child.type = 4; + child1Child.version = 4; + _dbPlugin.addInventoryFolder(child1Child); + + + InventoryItemBase item1 = new InventoryItemBase(); + item1.assetID = LLUUID.Random(); + item1.assetType = _rnd.Next(1, 1000); + item1.avatarID = _agent_1_id; + item1.creatorsID = LLUUID.Random(); + item1.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); + item1.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); + item1.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); + item1.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); + item1.inventoryID = LLUUID.Random(); + item1.inventoryDescription = "Item 1, description"; + item1.inventoryName = "Item 1"; + item1.invType = _rnd.Next(1, 1000); + item1.parentFolderID = child1Child.folderID; + _dbPlugin.addInventoryItem(item1); + + InventoryItemBase item2 = new InventoryItemBase(); + item2.assetID = LLUUID.Random(); + item2.assetType = _rnd.Next(1, 1000); + item2.avatarID = _agent_1_id; + item2.creatorsID = LLUUID.Random(); + item2.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000); + item2.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000); + item2.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000); + item2.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000); + item2.inventoryID = LLUUID.Random(); + item2.inventoryDescription = "Item 1, description"; + item2.inventoryName = "Item 1"; + item2.invType = _rnd.Next(1, 1000); + item2.parentFolderID = child1Child.folderID; + _dbPlugin.addInventoryItem(item2); + + List items = _dbPlugin.getInventoryInFolder(child1Child.folderID); + Assert.IsNotNull(items); + Assert.IsNotEmpty(items); + + bool foundItem1 = false; + bool foundItem2 = false; + + foreach (InventoryItemBase i in items) + { + if (i.inventoryID == item1.inventoryID) + { + foundItem1 = true; + Assert.IsTrue(AreItemsIdentical(item1, i)); + } + else if (i.inventoryID == item2.inventoryID) + { + foundItem2 = true; + Assert.IsTrue(AreItemsIdentical(item2, i)); + } + else + { + Assert.Fail("Unknown inventory item found"); + } + } + + Assert.IsTrue(foundItem1 && foundItem2, "not all items were returned"); + _dbPlugin.deleteInventoryFolder(_agent_1_id); + } + } +} diff --git a/OpenSim/Tests/OpenSim/Framework/UtilTest.cs b/OpenSim/Tests/OpenSim/Framework/UtilTest.cs new file mode 100644 index 0000000000..78acc50689 --- /dev/null +++ b/OpenSim/Tests/OpenSim/Framework/UtilTest.cs @@ -0,0 +1,143 @@ +/* +* Copyright (c) Contributors, http://opensimulator.org/ +* See CONTRIBUTORS.TXT for a full list of copyright holders. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* * Neither the name of the OpenSim Project nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +using libsecondlife; +using NUnit.Framework; +using NUnit.Framework.SyntaxHelpers; + +using OpenSim.Tests.Common; + +namespace OpenSim.Framework.Tests +{ + [TestFixture] + public class UtilTests + { + [Test] + public void VectorOperationTests() + { + LLVector3 v1, v2; + double expectedDistance; + double expectedMagnitude; + double lowPrecisionTolerance = 0.001; + + //Lets test a simple case of <0,0,0> and <5,5,5> + { + v1 = new LLVector3(0, 0, 0); + v2 = new LLVector3(5, 5, 5); + expectedDistance = 8.66; + Assert.That(Util.GetDistanceTo(v1, v2), + new DoubleToleranceConstraint(expectedDistance, lowPrecisionTolerance), + "Calculated distance between two vectors was not within tolerances."); + + expectedMagnitude = 0; + Assert.That(Util.GetMagnitude(v1), Is.EqualTo(0), "Magnitude of null vector was not zero."); + + expectedMagnitude = 8.66; + Assert.That(Util.GetMagnitude(v2), + new DoubleToleranceConstraint(expectedMagnitude, lowPrecisionTolerance), + "Magnitude of vector was incorrect."); + + TestDelegate d = delegate() { Util.GetNormalizedVector(v1); }; + bool causesArgumentException = TestHelper.AssertThisDelegateCausesArgumentException(d); + Assert.That(causesArgumentException, Is.True, + "Getting magnitude of null vector did not cause argument exception."); + + LLVector3 expectedNormalizedVector = new LLVector3(.577f, .577f, .577f); + double expectedNormalizedMagnitude = 1; + LLVector3 normalizedVector = Util.GetNormalizedVector(v2); + Assert.That(normalizedVector, + new VectorToleranceConstraint(expectedNormalizedVector, lowPrecisionTolerance), + "Normalized vector generated from vector was not what was expected."); + Assert.That(Util.GetMagnitude(normalizedVector), + new DoubleToleranceConstraint(expectedNormalizedMagnitude, lowPrecisionTolerance), + "Normalized vector generated from vector does not have magnitude of 1."); + } + + //Lets test a simple case of <0,0,0> and <0,0,0> + { + v1 = new LLVector3(0, 0, 0); + v2 = new LLVector3(0, 0, 0); + expectedDistance = 0; + Assert.That(Util.GetDistanceTo(v1, v2), + new DoubleToleranceConstraint(expectedDistance, lowPrecisionTolerance), + "Calculated distance between two vectors was not within tolerances."); + + expectedMagnitude = 0; + Assert.That(Util.GetMagnitude(v1), Is.EqualTo(0), "Magnitude of null vector was not zero."); + + expectedMagnitude = 0; + Assert.That(Util.GetMagnitude(v2), + new DoubleToleranceConstraint(expectedMagnitude, lowPrecisionTolerance), + "Magnitude of vector was incorrect."); + + TestDelegate d = delegate() { Util.GetNormalizedVector(v1); }; + bool causesArgumentException = TestHelper.AssertThisDelegateCausesArgumentException(d); + Assert.That(causesArgumentException, Is.True, + "Getting magnitude of null vector did not cause argument exception."); + + d = delegate() { Util.GetNormalizedVector(v2); }; + causesArgumentException = TestHelper.AssertThisDelegateCausesArgumentException(d); + Assert.That(causesArgumentException, Is.True, + "Getting magnitude of null vector did not cause argument exception."); + } + + //Lets test a simple case of <0,0,0> and <-5,-5,-5> + { + v1 = new LLVector3(0, 0, 0); + v2 = new LLVector3(-5, -5, -5); + expectedDistance = 8.66; + Assert.That(Util.GetDistanceTo(v1, v2), + new DoubleToleranceConstraint(expectedDistance, lowPrecisionTolerance), + "Calculated distance between two vectors was not within tolerances."); + + expectedMagnitude = 0; + Assert.That(Util.GetMagnitude(v1), Is.EqualTo(0), "Magnitude of null vector was not zero."); + + expectedMagnitude = 8.66; + Assert.That(Util.GetMagnitude(v2), + new DoubleToleranceConstraint(expectedMagnitude, lowPrecisionTolerance), + "Magnitude of vector was incorrect."); + + TestDelegate d = delegate() { Util.GetNormalizedVector(v1); }; + bool causesArgumentException = TestHelper.AssertThisDelegateCausesArgumentException(d); + Assert.That(causesArgumentException, Is.True, + "Getting magnitude of null vector did not cause argument exception."); + + LLVector3 expectedNormalizedVector = new LLVector3(-.577f, -.577f, -.577f); + double expectedNormalizedMagnitude = 1; + LLVector3 normalizedVector = Util.GetNormalizedVector(v2); + Assert.That(normalizedVector, + new VectorToleranceConstraint(expectedNormalizedVector, lowPrecisionTolerance), + "Normalized vector generated from vector was not what was expected."); + Assert.That(Util.GetMagnitude(normalizedVector), + new DoubleToleranceConstraint(expectedNormalizedMagnitude, lowPrecisionTolerance), + "Normalized vector generated from vector does not have magnitude of 1."); + } + } + } +} diff --git a/OpenSim/Tests/UserServer/Stress/UserServerStressTest.cs b/OpenSim/Tests/UserServer/Stress/UserServerStressTest.cs new file mode 100644 index 0000000000..a523d8369b --- /dev/null +++ b/OpenSim/Tests/UserServer/Stress/UserServerStressTest.cs @@ -0,0 +1,45 @@ +/* +* Copyright (c) Contributors, http://opensimulator.org/ +* See CONTRIBUTORS.TXT for a full list of copyright holders. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* * Neither the name of the OpenSim Project nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +using System; + +namespace OpenSim.Tests.UserServer.Stress +{ + /// + /// In the future this class will programatically stress test the user server + /// + public class UserServerStressTest + { + public static void Main(string[] args) + { + log4net.Config.XmlConfigurator.Configure(); + + System.Console.WriteLine("Aborting - not yet functional"); + } + } +} diff --git a/OpenSim/Tools/Export/OpenSimExport.cs b/OpenSim/Tools/Export/OpenSimExport.cs index a08eea6fd3..8eebe35cb2 100644 --- a/OpenSim/Tools/Export/OpenSimExport.cs +++ b/OpenSim/Tools/Export/OpenSimExport.cs @@ -1,116 +1,110 @@ -/* -* Copyright (c) Contributors, http://opensimulator.org/ -* See CONTRIBUTORS.TXT for a full list of copyright holders. -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions are met: -* * Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* * Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the distribution. -* * Neither the name of the OpenSim Project nor the -* names of its contributors may be used to endorse or promote products -* derived from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY -* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY -* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ -using System; -using System.IO; -using Nini.Config; -using OpenSim.Framework; -using OpenSim.Framework.Console; -using OpenSim.Region.Environment; -using OpenSim.Region.Environment.Scenes; - -namespace OpenSim.Tools.Export -{ - public class OpenSimExport - { - public IniConfigSource config; - public StorageManager sman; - - public OpenSimExport(IniConfigSource config) - { - this.config = config; - IConfig startup = config.Configs["Startup"]; - // AddinManager.Initialize("."); - // AddinManager.Registry.Update(null); - - // TODO: this really sucks, but given the way we do - // logging in OpenSim, we need to establish a log up front - - MainLog.Instance = CreateLog(); - - sman = new StorageManager( - startup.GetString("storage_plugin", "OpenSim.DataStore.NullStorage.dll"), - startup.GetString("storage_connection_string", "") - ); - } - - public static void Main(string[] args) - { - OpenSimExport export = new OpenSimExport(InitConfig(args)); - RegionInfo reg = new RegionInfo("Sara Jane", "Regions/1000-1000.xml",false); - - Console.WriteLine("This application does nothing useful yet: " + reg.RegionID); - foreach (SceneObjectGroup group in export.sman.DataStore.LoadObjects(reg.RegionID)) - { - Console.WriteLine("{0} -> {1}", reg.RegionID, group.UUID); - } - } - - protected LogBase CreateLog() - { - if (!Directory.Exists(Util.logDir())) - { - Directory.CreateDirectory(Util.logDir()); - } - - return new LogBase((Path.Combine(Util.logDir(), "export.log")), "Export", null, true); - } - - - private static IniConfigSource InitConfig(string[] args) - { - Console.WriteLine("Good"); - ArgvConfigSource configSource = new ArgvConfigSource(args); - configSource.AddSwitch("Startup", "inifile"); - - IConfig startupConfig = configSource.Configs["Startup"]; - string iniFilePath = startupConfig.GetString("inifile", "OpenSim.ini"); - Console.WriteLine(iniFilePath); - IniConfigSource config = new IniConfigSource(); - //check for .INI file (either default or name passed in command line) - if (! File.Exists(iniFilePath)) - { - iniFilePath = Path.Combine(Util.configDir(), iniFilePath); - } - - if (File.Exists(iniFilePath)) - { - config.Merge(new IniConfigSource(iniFilePath)); - config.Merge(configSource); - } - else - { - // no default config files, so set default values, and save it - Console.WriteLine("We didn't find a config!"); - config.Merge(OpenSimMain.DefaultConfig()); - config.Merge(configSource); - } - - return config; - } - } -} \ No newline at end of file +/* +* Copyright (c) Contributors, http://opensimulator.org/ +* See CONTRIBUTORS.TXT for a full list of copyright holders. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* * Neither the name of the OpenSim Project nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +using System; +using System.IO; +using Nini.Config; +using OpenSim.Framework; +using OpenSim.Framework.Console; +using OpenSim.Region.Environment; +using OpenSim.Region.Environment.Scenes; + +namespace OpenSim.Tools.Export +{ + public class OpenSimExport + { + public IniConfigSource config; + public StorageManager sman; + + public OpenSimExport(IniConfigSource config) + { + this.config = config; + IConfig startup = config.Configs["Startup"]; + // AddinManager.Initialize("."); + // AddinManager.Registry.Update(null); + + MainConsole.Instance = CreateConsole(); + + sman = new StorageManager( + startup.GetString("storage_plugin", "OpenSim.DataStore.NullStorage.dll"), + startup.GetString("storage_connection_string", String.Empty), + false + ); + } + + public static void Main(string[] args) + { + log4net.Config.XmlConfigurator.Configure(); + + OpenSimExport export = new OpenSimExport(InitConfig(args)); + RegionInfo reg = new RegionInfo("Sara Jane", "Regions/1000-1000.xml",false); + + Console.WriteLine("This application does nothing useful yet: " + reg.RegionID); + foreach (SceneObjectGroup group in export.sman.DataStore.LoadObjects(reg.RegionID)) + { + Console.WriteLine("{0} -> {1}", reg.RegionID, group.UUID); + } + } + + protected ConsoleBase CreateConsole() + { + return new ConsoleBase("Export", null); + } + + private static IniConfigSource InitConfig(string[] args) + { + Console.WriteLine("Good"); + ArgvConfigSource configSource = new ArgvConfigSource(args); + configSource.AddSwitch("Startup", "inifile"); + + IConfig startupConfig = configSource.Configs["Startup"]; + string iniFilePath = startupConfig.GetString("inifile", "OpenSim.ini"); + Console.WriteLine(iniFilePath); + IniConfigSource config = new IniConfigSource(); + //check for .INI file (either default or name passed in command line) + if (! File.Exists(iniFilePath)) + { + iniFilePath = Path.Combine(Util.configDir(), iniFilePath); + } + + if (File.Exists(iniFilePath)) + { + config.Merge(new IniConfigSource(iniFilePath)); + config.Merge(configSource); + } + else + { + // no default config files, so set default values, and save it + Console.WriteLine("We didn't find a config!"); + config.Merge(OpenSimMain.DefaultConfig()); + config.Merge(configSource); + } + + return config; + } + } +} diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs b/OpenSim/Tools/LaunchSLClient/Form1.Designer.cs similarity index 96% rename from OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs rename to OpenSim/Tools/LaunchSLClient/Form1.Designer.cs index b04536cf4e..b841f0b03e 100644 --- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs +++ b/OpenSim/Tools/LaunchSLClient/Form1.Designer.cs @@ -1,112 +1,108 @@ -/* -* Copyright (c) Contributors, http://opensimulator.org/ -* See CONTRIBUTORS.TXT for a full list of copyright holders. -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions are met: -* * Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* * Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the distribution. -* * Neither the name of the OpenSim Project nor the -* names of its contributors may be used to endorse or promote products -* derived from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY -* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY -* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - -namespace LaunchSLClient -{ - partial class Form1 - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.comboBox1 = new System.Windows.Forms.ComboBox(); - this.textBox1 = new System.Windows.Forms.TextBox(); - this.SuspendLayout(); - // - // comboBox1 - // - this.comboBox1.FormattingEnabled = true; - this.comboBox1.Items.AddRange(new object[] { - "Local Sandbox", - "Local Grid Server", - "DeepGrid - www.deepgrid.com", - "OSGrid - www.osgrid.org", - "Linden Labs - www.secondlife.com"}); - this.comboBox1.Location = new System.Drawing.Point(37, 83); - this.comboBox1.Name = "comboBox1"; - this.comboBox1.Size = new System.Drawing.Size(348, 21); - this.comboBox1.TabIndex = 0; - this.comboBox1.Text = "Choose from list"; - this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged); - // - // textBox1 - // - this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.textBox1.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.textBox1.Location = new System.Drawing.Point(37, 32); - this.textBox1.Name = "textBox1"; - this.textBox1.ReadOnly = true; - this.textBox1.Size = new System.Drawing.Size(292, 19); - this.textBox1.TabIndex = 1; - this.textBox1.Text = "Choose from one of the following:"; - // - // Form1 - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(501, 339); - this.Controls.Add(this.textBox1); - this.Controls.Add(this.comboBox1); - this.Name = "Form1"; - this.Text = "OpenSim Client Launcher"; - this.ResumeLayout(false); - this.PerformLayout(); - - } - - #endregion - - private System.Windows.Forms.ComboBox comboBox1; - private System.Windows.Forms.TextBox textBox1; - - } -} - - +/* +* Copyright (c) Contributors, http://opensimulator.org/ +* See CONTRIBUTORS.TXT for a full list of copyright holders. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* * Neither the name of the OpenSim Project nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +namespace LaunchSLClient +{ + partial class Form1 + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.comboBox1 = new System.Windows.Forms.ComboBox(); + this.textBox1 = new System.Windows.Forms.TextBox(); + this.SuspendLayout(); + // + // comboBox1 + // + this.comboBox1.FormattingEnabled = true; + this.comboBox1.Items.AddRange(new object[] { + "Local Sandbox", + "Local Grid Server", + "DeepGrid - www.deepgrid.com", + "OSGrid - www.osgrid.org", + "Linden Labs - www.secondlife.com"}); + this.comboBox1.Location = new System.Drawing.Point(37, 83); + this.comboBox1.Name = "comboBox1"; + this.comboBox1.Size = new System.Drawing.Size(348, 21); + this.comboBox1.TabIndex = 0; + this.comboBox1.Text = "Choose from list"; + this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged); + // + // textBox1 + // + this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.textBox1.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.textBox1.Location = new System.Drawing.Point(37, 32); + this.textBox1.Name = "textBox1"; + this.textBox1.ReadOnly = true; + this.textBox1.Size = new System.Drawing.Size(292, 19); + this.textBox1.TabIndex = 1; + this.textBox1.Text = "Choose from one of the following:"; + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(501, 339); + this.Controls.Add(this.textBox1); + this.Controls.Add(this.comboBox1); + this.Name = "Form1"; + this.Text = "OpenSim Client Launcher"; + this.ResumeLayout(false); + this.PerformLayout(); + } + + #endregion + + private System.Windows.Forms.ComboBox comboBox1; + private System.Windows.Forms.TextBox textBox1; + } +} diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs b/OpenSim/Tools/LaunchSLClient/Form1.cs similarity index 55% rename from OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs rename to OpenSim/Tools/LaunchSLClient/Form1.cs index 6842768394..183a104b23 100644 --- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs +++ b/OpenSim/Tools/LaunchSLClient/Form1.cs @@ -1,204 +1,211 @@ -/* -* Copyright (c) Contributors, http://opensimulator.org/ -* See CONTRIBUTORS.TXT for a full list of copyright holders. -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions are met: -* * Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* * Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the distribution. -* * Neither the name of the OpenSim Project nor the -* names of its contributors may be used to endorse or promote products -* derived from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY -* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY -* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ -using System; -using System.IO; -using System.Collections; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Diagnostics; -using System.Drawing; -using System.Text; -using System.Text.RegularExpressions; -using System.Windows.Forms; -using Microsoft.Win32; - -namespace LaunchSLClient -{ - public partial class Form1 : Form - { - string gridUrl = ""; - string sandboxUrl = ""; - string deepGridUrl = "http://user.deepgrid.com:8002/"; - string osGridUrl = "http://www.osgrid.org:8002/"; - string runUrl = ""; - string runLine = ""; - Object exeFlags; - Object exePath; - - - public Form1() - { - InitializeComponent(); - ArrayList menuItems=new ArrayList(); - menuItems.Add("Please select one:"); - string sandboxHostName = ""; - string sandboxPort = ""; - Object simPath = null; - FileInfo defaultFile; - StreamReader stream; - - - // get executable path from registry - // - RegistryKey regKey; - RegistryKey exeKey; - regKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Linden Research, Inc.\SecondLife"); - if (regKey == null) - { - regKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Wow6432Node\Linden Research, Inc.\SecondLife"); - if (regKey == null) - { - throw new LauncherException("Can't find Second Life. Are you sure it is installed?", "LauncherException.Form1"); - } - } - Object exe = regKey.GetValue("Exe"); - exeFlags = regKey.GetValue("Flags"); - exePath = regKey.GetValue(""); - runLine = exePath.ToString() + "\\" + exe.ToString(); - Registry.LocalMachine.Flush(); - Registry.LocalMachine.Close(); - - // find opensim directory - // - exeKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\OpenSim\OpenSim"); - if (exeKey != null) - { - - simPath = exeKey.GetValue("Path"); - - // build sandbox URL from Regions\default.xml - // this is highly dependant on a standard default.xml - // - Directory.SetCurrentDirectory(simPath.ToString()); //this should be set to wherever we decide to put the binaries - string text; - Regex myRegex = new Regex(".*internal_ip_port=\\\"(?.*?)\\\".*external_host_name=\\\"(?.*?)\\\".*"); - if (File.Exists(@"Regions\default.xml")) - { - defaultFile = new FileInfo(@"Regions\default.xml"); - stream = defaultFile.OpenText(); - do - { - text = stream.ReadLine(); - if (text == null) - { - break; - } - MatchCollection theMatches = myRegex.Matches(text); - foreach (Match theMatch in theMatches) - { - if (theMatch.Length != 0) - { - sandboxHostName = theMatch.Groups["name"].ToString(); - sandboxPort = theMatch.Groups["port"].ToString(); - } - } - } while (text != null); - stream.Close(); - sandboxUrl = "http:\\" + sandboxHostName + ":" + sandboxPort; - menuItems.Add("Local Sandbox"); - } - else - { - MessageBox.Show("No OpenSim config files found. Please run OpenSim and finish configuration to run a local sim. Showing public grids only", "No OpenSim"); - } - - - //build local grid URL from network_servers_information.xml - // this is highly dependant on a standard default.xml - // - myRegex = new Regex(".*UserServerURL=\\\"(?.*?)\\\".*"); - if (File.Exists(@"network_servers_information.xml")) - { - defaultFile = new FileInfo(@"network_servers_information.xml"); - - - stream = defaultFile.OpenText(); - do - { - text = stream.ReadLine(); - if (text == null) - { - break; - } - MatchCollection theMatches = myRegex.Matches(text); - foreach (Match theMatch in theMatches) - { - if (theMatch.Length != 0) - { - gridUrl = theMatch.Groups["url"].ToString(); - } - } - } while (text != null); - stream.Close(); - if (gridUrl != null) - { - menuItems.Add("Local Grid Server"); - } - } - } - else - { - MessageBox.Show("No OpenSim installed. Showing public grids only", "No OpenSim"); - } - - menuItems.Add("OSGrid - www.osgrid.org"); - menuItems.Add("DeepGrid - www.deepgrid.com"); - menuItems.Add("OpenlifeGrid - www.openlifegrid.com"); - - // We don't have a proper login uri for SL grid - // menuItems.Add("Linden Labs - www.secondlife.com"); - comboBox1.DataSource=menuItems; - } - - private void radioButton1_CheckedChanged(object sender, EventArgs e) - { - - } - - private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) - { - if (comboBox1.Text == "Please select one:") { return; } - if (comboBox1.Text == "Local Sandbox") { runUrl=" -loginuri " + sandboxUrl;} - if (comboBox1.Text == "Local Grid Server") { runUrl = " -loginuri " + gridUrl; } - if (comboBox1.Text == "DeepGrid - www.deepgrid.com") { runUrl = " -loginuri " + deepGridUrl; } - if (comboBox1.Text == "OSGrid - www.osgrid.org") { runUrl = " -loginuri " + osGridUrl; } - if (comboBox1.Text == "Linden Labs - www.secondlife.com") { runUrl = ""; } - if (comboBox1.Text == "OpenlifeGrid - www.openlifegrid.com") { runUrl = " -loginuri http://logingrid.net:8002"; } - - System.Diagnostics.Process proc = new System.Diagnostics.Process(); - proc.StartInfo.FileName = runLine; - proc.StartInfo.Arguments = exeFlags.ToString() + " " + runUrl; - proc.StartInfo.UseShellExecute = false; - proc.StartInfo.RedirectStandardOutput = false; - proc.StartInfo.WorkingDirectory = exePath.ToString(); - proc.Start(); - proc.WaitForExit(); - } - } -} +/* +* Copyright (c) Contributors, http://opensimulator.org/ +* See CONTRIBUTORS.TXT for a full list of copyright holders. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* * Neither the name of the OpenSim Project nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +using System; +using System.IO; +using System.Collections; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Diagnostics; +using System.Drawing; +using System.Text; +using System.Text.RegularExpressions; +using System.Windows.Forms; +using Microsoft.Win32; + +namespace LaunchSLClient +{ + public partial class Form1 : Form + { + const string deepGridUrl = "http://user.deepgrid.com:8002/"; + const string osGridUrl = "http://www.osgrid.org:8002/"; + const string openLifeGridUrl = "http://logingrid.net:8002"; + + string gridUrl = ""; + string sandboxUrl = ""; + string runUrl = ""; + string runLine = ""; + string exeFlags = ""; + string exePath = ""; + + private void addLocalSandbox(ref ArrayList menuItems) + { + // build sandbox URL from Regions\default.xml + // this is highly dependant on a standard default.xml + if (File.Exists(@"Regions\default.xml")) + { + string sandboxHostName = ""; + string sandboxPort = ""; + string text; + + Regex myRegex = new Regex(".*internal_ip_port=\\\"(?.*?)\\\".*external_host_name=\\\"(?.*?)\\\".*"); + + FileInfo defaultFile = new FileInfo(@"Regions\default.xml"); + StreamReader stream = defaultFile.OpenText(); + do + { + text = stream.ReadLine(); + if (text == null) + { + break; + } + MatchCollection theMatches = myRegex.Matches(text); + foreach (Match theMatch in theMatches) + { + if (theMatch.Length != 0) + { + sandboxHostName = theMatch.Groups["name"].ToString(); + sandboxPort = theMatch.Groups["port"].ToString(); + } + } + } while (text != null); + + stream.Close(); + sandboxUrl = "http:\\" + sandboxHostName + ":" + sandboxPort; + menuItems.Add("Local Sandbox"); + } + } + + private void addLocalGrid(ref ArrayList menuItems) + { + //build local grid URL from network_servers_information.xml + // this is highly dependant on a standard default.xml + if (File.Exists(@"network_servers_information.xml")) + { + string text; + FileInfo defaultFile = new FileInfo(@"network_servers_information.xml"); + Regex myRegex = new Regex(".*UserServerURL=\\\"(?.*?)\\\".*"); + StreamReader stream = defaultFile.OpenText(); + + do + { + text = stream.ReadLine(); + if (text == null) + { + break; + } + foreach (Match theMatch in myRegex.Matches(text)) + { + if (theMatch.Length != 0) + { + gridUrl = theMatch.Groups["url"].ToString(); + } + } + } while (text != null); + stream.Close(); + if (gridUrl != null) + { + menuItems.Add("Local Grid Server"); + } + } + } + + private void addLocalSims(ref ArrayList menuItems) + { + // find opensim directory + RegistryKey exeKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\OpenSim\OpenSim"); + if (exeKey != null) + { + Object simPath = exeKey.GetValue("Path"); + + Directory.SetCurrentDirectory(simPath.ToString()); //this should be set to wherever we decide to put the binaries + + addLocalSandbox(ref menuItems); + addLocalGrid(ref menuItems); + } + else + { + MessageBox.Show("No OpenSim installed. Showing public grids only", "No OpenSim"); + } + } + + private void getClient(ref string exePath, ref string runLine, ref string exeFlags) + { + // get executable path from registry + RegistryKey regKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Linden Research, Inc.\SecondLife"); + if (regKey == null) + { + regKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Wow6432Node\Linden Research, Inc.\SecondLife"); + if (regKey == null) + { + throw new LauncherException("Can't find Second Life. Are you sure it is installed?", "LauncherException.Form1"); + } + } + string exe = regKey.GetValue("Exe").ToString(); + exeFlags = regKey.GetValue("Flags").ToString(); + exePath = regKey.GetValue("").ToString(); + runLine = exePath + "\\" + exe; + Registry.LocalMachine.Flush(); + Registry.LocalMachine.Close(); + } + + public Form1() + { + InitializeComponent(); + ArrayList menuItems = new ArrayList(); + + getClient(ref exePath, ref runLine, ref exeFlags); + + menuItems.Add("Please select one:"); + + addLocalSims(ref menuItems); + + menuItems.Add("OSGrid - www.osgrid.org"); + menuItems.Add("DeepGrid - www.deepgrid.com"); + menuItems.Add("OpenlifeGrid - www.openlifegrid.com"); + menuItems.Add("Linden Labs - www.secondlife.com"); + + comboBox1.DataSource = menuItems; + } + + private void radioButton1_CheckedChanged(object sender, EventArgs e) + { + } + + private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) + { + if (comboBox1.Text == "Please select one:") { return; } + if (comboBox1.Text == "Local Sandbox") { runUrl=" -loginuri " + sandboxUrl;} + if (comboBox1.Text == "Local Grid Server") { runUrl = " -loginuri " + gridUrl; } + if (comboBox1.Text == "DeepGrid - www.deepgrid.com") { runUrl = " -loginuri " + deepGridUrl; } + if (comboBox1.Text == "OSGrid - www.osgrid.org") { runUrl = " -loginuri " + osGridUrl; } + if (comboBox1.Text == "OpenlifeGrid - www.openlifegrid.com") { runUrl = " -loginuri " + openLifeGridUrl; } + if (comboBox1.Text == "Linden Labs - www.secondlife.com") { runUrl = ""; } + + System.Diagnostics.Process proc = new System.Diagnostics.Process(); + proc.StartInfo.FileName = runLine; + proc.StartInfo.Arguments = exeFlags.ToString() + " " + runUrl; + proc.StartInfo.UseShellExecute = false; + proc.StartInfo.RedirectStandardOutput = false; + proc.StartInfo.WorkingDirectory = exePath.ToString(); + proc.Start(); + proc.WaitForExit(); + } + } +} diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.resx b/OpenSim/Tools/LaunchSLClient/Form1.resx similarity index 97% rename from OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.resx rename to OpenSim/Tools/LaunchSLClient/Form1.resx index ff31a6db56..19dc0dd8b3 100644 --- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.resx +++ b/OpenSim/Tools/LaunchSLClient/Form1.resx @@ -1,120 +1,120 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + \ No newline at end of file diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj b/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj new file mode 100644 index 0000000000..b6b072bfe9 --- /dev/null +++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj @@ -0,0 +1,152 @@ + + + Local + 9.0.21022 + 2.0 + {FFC2EE60-0000-0000-0000-000000000000} + Debug + AnyCPU + + + + + LaunchSLClient + JScript + Grid + IE50 + false + Exe + + + LaunchSLClient + + + + + + + False + 285212672 + False + + + TRACE;DEBUG + + + True + 4096 + False + ..\..\..\bin\ + False + False + False + 4 + + + + + False + 285212672 + False + + + TRACE + + + False + 4096 + True + ..\..\..\bin\ + False + False + False + 4 + + + + + + Microsoft.Win32.dll + False + + + System.dll + False + + + System.Collections.dll + False + + + System.Collections.Generic.dll + False + + + System.ComponentModel.dll + False + + + System.Data.dll + False + + + System.Diagnostics.dll + False + + + System.Drawing.dll + False + + + System.IO.dll + False + + + System.Text.dll + False + + + System.Text.RegularExpressions.dll + False + + + System.Windows.Forms.dll + False + + + + + + + Form + + + Form1.cs + Code + + + Code + + + Code + + + Code + + + Properties\Resources.cs + Code + + + Properties\Settings.cs + Code + + + + + + + + + + \ No newline at end of file diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj.user b/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj.user new file mode 100644 index 0000000000..fa7bb7e0a1 --- /dev/null +++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj.user @@ -0,0 +1,12 @@ + + + Debug + AnyCPU + C:\OpenSim\trunk3\bin\ + 9.0.21022 + ProjectFiles + 0 + + + + diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LaunchSLClient.csproj b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LaunchSLClient.csproj deleted file mode 100644 index bc70f11c55..0000000000 --- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LaunchSLClient.csproj +++ /dev/null @@ -1,79 +0,0 @@ - - - Debug - AnyCPU - 8.0.50727 - 2.0 - {50FD2DCD-2E2D-413C-8260-D9CD22405895} - WinExe - Properties - LaunchSLClient - LaunchSLClient - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - - - - - - - - - Form - - - Form1.cs - - - - - - Designer - Form1.cs - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - True - Resources.resx - - - SettingsSingleFileGenerator - Settings.Designer.cs - - - True - Settings.settings - True - - - - - \ No newline at end of file diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs deleted file mode 100644 index 4bd2cea179..0000000000 --- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -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("LaunchSLClient")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Home")] -[assembly: AssemblyProduct("LaunchSLClient")] -[assembly: AssemblyCopyright("Copyright © Home 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("b08c6904-e6cc-4d9c-8d24-feb0464b1648")] - -// 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/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs b/OpenSim/Tools/LaunchSLClient/LauncherException.cs similarity index 97% rename from OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs rename to OpenSim/Tools/LaunchSLClient/LauncherException.cs index ae5eb235c5..e31bd1de87 100644 --- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs +++ b/OpenSim/Tools/LaunchSLClient/LauncherException.cs @@ -1,53 +1,53 @@ -/* -* Copyright (c) Contributors, http://opensimulator.org/ -* See CONTRIBUTORS.TXT for a full list of copyright holders. -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions are met: -* * Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* * Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the distribution. -* * Neither the name of the OpenSim Project nor the -* names of its contributors may be used to endorse or promote products -* derived from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY -* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY -* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ -using System; -using System.Collections.Generic; -using System.Text; - -namespace LaunchSLClient -{ - class LauncherException : ApplicationException - { - - private const string CUSTOMMESSAGE = "The SL Client Launcher has failed with the following error: "; - - private LauncherException() { } - - public LauncherException(string errorMesssage, string source) - : base (CUSTOMMESSAGE + errorMesssage) - { - base.Source = source; - } - - public LauncherException(string errorMessage, string source, Exception innerException) - : base(CUSTOMMESSAGE + errorMessage, innerException) - { - base.Source = source; - } - } -} +/* +* Copyright (c) Contributors, http://opensimulator.org/ +* See CONTRIBUTORS.TXT for a full list of copyright holders. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* * Neither the name of the OpenSim Project nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +using System; +using System.Collections.Generic; +using System.Text; + +namespace LaunchSLClient +{ + class LauncherException : ApplicationException + { + private const string CUSTOMMESSAGE = "The SL Client Launcher has failed with the following error: "; + + private LauncherException() { } + + public LauncherException(string errorMesssage, string source) + : base (CUSTOMMESSAGE + errorMesssage) + { + base.Source = source; + } + + public LauncherException(string errorMessage, string source, Exception innerException) + : base(CUSTOMMESSAGE + errorMessage, innerException) + { + base.Source = source; + } + } +} diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs b/OpenSim/Tools/LaunchSLClient/Program.cs similarity index 97% rename from OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs rename to OpenSim/Tools/LaunchSLClient/Program.cs index c05ed3ea3b..778d5c0606 100644 --- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs +++ b/OpenSim/Tools/LaunchSLClient/Program.cs @@ -1,57 +1,56 @@ -/* -* Copyright (c) Contributors, http://opensimulator.org/ -* See CONTRIBUTORS.TXT for a full list of copyright holders. -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions are met: -* * Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* * Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the distribution. -* * Neither the name of the OpenSim Project nor the -* names of its contributors may be used to endorse or promote products -* derived from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY -* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY -* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ -using System; -using System.Collections.Generic; -using System.Windows.Forms; - - -namespace LaunchSLClient -{ - static class Program - { - /// - /// The main entry point for the application. - /// - [STAThread] - static void Main() - { - - try - { - Application.EnableVisualStyles(); - Application.SetCompatibleTextRenderingDefault(false); - Application.Run(new Form1()); - } - catch (Exception ex) - { - // Handles all unhandled errors - MessageBox.Show(ex.Message,"Unhandled Error"); - } - } - } -} +/* +* Copyright (c) Contributors, http://opensimulator.org/ +* See CONTRIBUTORS.TXT for a full list of copyright holders. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* * Neither the name of the OpenSim Project nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +using System; +using System.Collections.Generic; +using System.Windows.Forms; + +namespace LaunchSLClient +{ + static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + try + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + catch (Exception ex) + { + // Handles all unhandled errors + MessageBox.Show(ex.Message,"Unhandled Error"); + } + } + } +} diff --git a/OpenSim/Tools/LaunchSLClient/Properties/AssemblyInfo.cs b/OpenSim/Tools/LaunchSLClient/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..87a4ac4883 --- /dev/null +++ b/OpenSim/Tools/LaunchSLClient/Properties/AssemblyInfo.cs @@ -0,0 +1,61 @@ +/* +* Copyright (c) Contributors, http://opensimulator.org/ +* See CONTRIBUTORS.TXT for a full list of copyright holders. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* * Neither the name of the OpenSim Project nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +using System.Reflection; +using System.Runtime.CompilerServices; +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("LaunchSLClient")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Home")] +[assembly: AssemblyProduct("LaunchSLClient")] +[assembly: AssemblyCopyright("Copyright © Home 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("b08c6904-e6cc-4d9c-8d24-feb0464b1648")] + +// 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/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.Designer.cs b/OpenSim/Tools/LaunchSLClient/Properties/Resources.Designer.cs similarity index 97% rename from OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.Designer.cs rename to OpenSim/Tools/LaunchSLClient/Properties/Resources.Designer.cs index f9dfcc0f98..4e9188d308 100644 --- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.Designer.cs +++ b/OpenSim/Tools/LaunchSLClient/Properties/Resources.Designer.cs @@ -1,71 +1,71 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:2.0.50727.832 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace LaunchSLClient.Properties -{ - - - /// - /// A strongly-typed resource class, for looking up localized strings, etc. - /// - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources - { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Resources() - { - } - - /// - /// Returns the cached ResourceManager instance used by this class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager - { - get - { - if ((resourceMan == null)) - { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("LaunchSLClient.Properties.Resources", typeof(Resources).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture - { - get - { - return resourceCulture; - } - set - { - resourceCulture = value; - } - } - } -} +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:2.0.50727.832 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace LaunchSLClient.Properties +{ + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("LaunchSLClient.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.resx b/OpenSim/Tools/LaunchSLClient/Properties/Resources.resx similarity index 97% rename from OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.resx rename to OpenSim/Tools/LaunchSLClient/Properties/Resources.resx index ffecec851a..af7dbebbac 100644 --- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.resx +++ b/OpenSim/Tools/LaunchSLClient/Properties/Resources.resx @@ -1,117 +1,117 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + \ No newline at end of file diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.Designer.cs b/OpenSim/Tools/LaunchSLClient/Properties/Settings.Designer.cs similarity index 97% rename from OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.Designer.cs rename to OpenSim/Tools/LaunchSLClient/Properties/Settings.Designer.cs index 72c3ced2e9..3dcc200625 100644 --- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.Designer.cs +++ b/OpenSim/Tools/LaunchSLClient/Properties/Settings.Designer.cs @@ -1,30 +1,30 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:2.0.50727.832 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace LaunchSLClient.Properties -{ - - - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "8.0.0.0")] - internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase - { - - private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); - - public static Settings Default - { - get - { - return defaultInstance; - } - } - } -} +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:2.0.50727.832 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace LaunchSLClient.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "8.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.settings b/OpenSim/Tools/LaunchSLClient/Properties/Settings.settings similarity index 97% rename from OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.settings rename to OpenSim/Tools/LaunchSLClient/Properties/Settings.settings index abf36c5d3d..39645652af 100644 --- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.settings +++ b/OpenSim/Tools/LaunchSLClient/Properties/Settings.settings @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/OpenSim/Tools/OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj b/OpenSim/Tools/OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj new file mode 100644 index 0000000000..bfca5e4d77 --- /dev/null +++ b/OpenSim/Tools/OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj @@ -0,0 +1,63 @@ + + + + Debug + AnyCPU + 9.0.21022 + 2.0 + {595D67F3-B413-4A43-8568-5B5930E3B31D} + Exe + Properties + OpenSim._32BitLaunch + OpenSim.32BitLaunch + v2.0 + 512 + + + true + full + false + ..\..\..\bin\ + DEBUG;TRACE + prompt + 4 + x86 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + 3.5 + + + 3.5 + + + + + + + + + + + {AC9EB8AB-0000-0000-0000-000000000000} + OpenSim + + + + + \ No newline at end of file diff --git a/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs b/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs new file mode 100644 index 0000000000..78ba598636 --- /dev/null +++ b/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs @@ -0,0 +1,60 @@ +/* +* Copyright (c) Contributors, http://opensimulator.org/ +* See CONTRIBUTORS.TXT for a full list of copyright holders. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* * Neither the name of the OpenSim Project nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +using System; + +namespace OpenSim._32BitLaunch +{ + class Program + { + static void Main(string[] args) + { + log4net.Config.XmlConfigurator.Configure(); + + System.Console.WriteLine("32-bit OpenSim executor"); + System.Console.WriteLine("-----------------------"); + System.Console.WriteLine(""); + System.Console.WriteLine("This application is compiled for 32-bit CPU and will run under WOW32 or similar."); + System.Console.WriteLine("All 64-bit incompatibilities should be gone."); + System.Console.WriteLine(""); + System.Threading.Thread.Sleep(300); + try + { + OpenSim.Application.Main(args); + } + catch (Exception ex) + { + System.Console.WriteLine("OpenSim threw an exception:"); + System.Console.WriteLine(ex.ToString()); + System.Console.WriteLine(""); + System.Console.WriteLine("Application will now terminate!"); + System.Console.WriteLine(""); + } + } + } +} diff --git a/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs b/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..31543f8f74 --- /dev/null +++ b/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs @@ -0,0 +1,64 @@ +/* +* Copyright (c) Contributors, http://opensimulator.org/ +* See CONTRIBUTORS.TXT for a full list of copyright holders. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* * Neither the name of the OpenSim Project nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +using System.Reflection; +using System.Runtime.CompilerServices; +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.32BitLaunch")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("OpenSim.32BitLaunch")] +[assembly: AssemblyCopyright("Copyright © 2008")] +[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("5072e919-46ab-47e6-8a63-08108324ccdf")] + +// 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 Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs b/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs index 2fd8f44ecd..6f8d3329c0 100644 --- a/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs +++ b/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs @@ -1,116 +1,116 @@ -/* -* Copyright (c) Contributors, http://opensimulator.org/ -* See CONTRIBUTORS.TXT for a full list of copyright holders. -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions are met: -* * Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* * Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the distribution. -* * Neither the name of the OpenSim Project nor the -* names of its contributors may be used to endorse or promote products -* derived from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY -* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY -* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - -using System; -using System.Collections.Generic; -using System.Text; -using System.Windows.Forms; - -namespace OpenSim.GUI -{ - class InputTextBoxControl:System.Windows.Forms.TextBox - { - public InputTextBoxControl() - { - this.KeyDown += new System.Windows.Forms.KeyEventHandler(TextInputControl_KeyDown); - } - - - private List CommandHistory = new List(); - private bool InHistory = false; - private int HistoryPosition = -1; - - void TextInputControl_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) - { - - - if (e.KeyCode == Keys.Enter && InHistory == false) - { - CommandHistory.Add(this.Text); - } - - - if (e.KeyCode == Keys.Up || e.KeyCode == Keys.Down) - { - // if not inside buffer, enter - // InBuffer = true - //Console.WriteLine("History: Check"); - if (InHistory == false) - { - if (this.Text != "") - { - //Console.WriteLine("History: Add"); - CommandHistory.Add(this.Text); - HistoryPosition = CommandHistory.Count; - } - else - { - //HistoryPosition = CommandHistory.Count + 1; - } - //Console.WriteLine("History: InHistory"); - InHistory = true; - } - - if (e.KeyCode == Keys.Up) - HistoryPosition -= 1; - if (e.KeyCode == Keys.Down) - HistoryPosition += 1; - - if (HistoryPosition > CommandHistory.Count - 1) - HistoryPosition = -1; - if (HistoryPosition < -1) - HistoryPosition = CommandHistory.Count - 1; - - //Console.WriteLine("History: Pos: " + HistoryPosition); - //Console.WriteLine("History: HaveInHistCount: " + CommandHistory.Count); - if (CommandHistory.Count != 0) - { - if (HistoryPosition != -1) - { - //Console.WriteLine("History: Getting"); - //this.Text = CommandHistory.Item(HistoryPosition); - this.Text = CommandHistory[HistoryPosition]; - this.SelectionStart = this.Text.Length; - this.SelectionLength = 0; - } - else - { - //Console.WriteLine("History: Nothing"); - this.Text = ""; - } - } - e.Handled = true; - } else { - InHistory = false; - HistoryPosition = -1; - } - } - - - } -} +/* +* Copyright (c) Contributors, http://opensimulator.org/ +* See CONTRIBUTORS.TXT for a full list of copyright holders. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* * Neither the name of the OpenSim Project nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OpenSim.GUI +{ + class InputTextBoxControl:System.Windows.Forms.TextBox + { + public InputTextBoxControl() + { + this.KeyDown += new System.Windows.Forms.KeyEventHandler(TextInputControl_KeyDown); + } + + + private List CommandHistory = new List(); + private bool InHistory = false; + private int HistoryPosition = -1; + + void TextInputControl_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) + { + + + if (e.KeyCode == Keys.Enter && InHistory == false) + { + CommandHistory.Add(this.Text); + } + + + if (e.KeyCode == Keys.Up || e.KeyCode == Keys.Down) + { + // if not inside buffer, enter + // InBuffer = true + //Console.WriteLine("History: Check"); + if (InHistory == false) + { + if (this.Text != "") + { + //Console.WriteLine("History: Add"); + CommandHistory.Add(this.Text); + HistoryPosition = CommandHistory.Count; + } + else + { + //HistoryPosition = CommandHistory.Count + 1; + } + //Console.WriteLine("History: InHistory"); + InHistory = true; + } + + if (e.KeyCode == Keys.Up) + HistoryPosition -= 1; + if (e.KeyCode == Keys.Down) + HistoryPosition += 1; + + if (HistoryPosition > CommandHistory.Count - 1) + HistoryPosition = -1; + if (HistoryPosition < -1) + HistoryPosition = CommandHistory.Count - 1; + + //Console.WriteLine("History: Pos: " + HistoryPosition); + //Console.WriteLine("History: HaveInHistCount: " + CommandHistory.Count); + if (CommandHistory.Count != 0) + { + if (HistoryPosition != -1) + { + //Console.WriteLine("History: Getting"); + //this.Text = CommandHistory.Item(HistoryPosition); + this.Text = CommandHistory[HistoryPosition]; + this.SelectionStart = this.Text.Length; + this.SelectionLength = 0; + } + else + { + //Console.WriteLine("History: Nothing"); + this.Text = ""; + } + } + e.Handled = true; + } else { + InHistory = false; + HistoryPosition = -1; + } + } + + + } +} diff --git a/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs b/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs index 59e0f91684..ec3970e3ce 100644 --- a/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs +++ b/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs @@ -1,1436 +1,1436 @@ -/* -* Copyright (c) Contributors, http://opensimulator.org/ -* See CONTRIBUTORS.TXT for a full list of copyright holders. -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions are met: -* * Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* * Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the distribution. -* * Neither the name of the OpenSim Project nor the -* names of its contributors may be used to endorse or promote products -* derived from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY -* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY -* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - -namespace OpenSim.GUI -{ - partial class Main - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.components = new System.ComponentModel.Container(); - this.menuStrip1 = new System.Windows.Forms.MenuStrip(); - this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.timer1 = new System.Windows.Forms.Timer(this.components); - this.clientBox1 = new System.Windows.Forms.TextBox(); - this.btnStart = new System.Windows.Forms.Button(); - this.btnStop = new System.Windows.Forms.Button(); - this.rbGridRegionMode = new System.Windows.Forms.RadioButton(); - this.rbStandAloneMode = new System.Windows.Forms.RadioButton(); - this.rbGridServer = new System.Windows.Forms.RadioButton(); - this.Launch1 = new System.Windows.Forms.Button(); - this.gbLog = new System.Windows.Forms.GroupBox(); - this.tabLogs = new System.Windows.Forms.TabControl(); - this.tabMainLog = new System.Windows.Forms.TabPage(); - this.txtMainLog = new System.Windows.Forms.TextBox(); - this.tabRegionServer = new System.Windows.Forms.TabPage(); - this.txtInputRegionServer = new OpenSim.GUI.InputTextBoxControl(); - this.label1 = new System.Windows.Forms.Label(); - this.txtOpenSim = new System.Windows.Forms.TextBox(); - this.tabUserServer = new System.Windows.Forms.TabPage(); - this.txtInputUserServer = new OpenSim.GUI.InputTextBoxControl(); - this.label2 = new System.Windows.Forms.Label(); - this.txtUserServer = new System.Windows.Forms.TextBox(); - this.tabAssetServer = new System.Windows.Forms.TabPage(); - this.txtInputAssetServer = new OpenSim.GUI.InputTextBoxControl(); - this.label3 = new System.Windows.Forms.Label(); - this.txtAssetServer = new System.Windows.Forms.TextBox(); - this.tabGridServer = new System.Windows.Forms.TabPage(); - this.txtInputGridServer = new OpenSim.GUI.InputTextBoxControl(); - this.label4 = new System.Windows.Forms.Label(); - this.txtGridServer = new System.Windows.Forms.TextBox(); - this.label5 = new System.Windows.Forms.Label(); - this.noProbe1 = new System.Windows.Forms.CheckBox(); - this.label6 = new System.Windows.Forms.Label(); - this.multiple1 = new System.Windows.Forms.CheckBox(); - this.label7 = new System.Windows.Forms.Label(); - this.noMultiple1 = new System.Windows.Forms.CheckBox(); - this.ignorepixeldepth1 = new System.Windows.Forms.CheckBox(); - this.nothread1 = new System.Windows.Forms.CheckBox(); - this.safe1 = new System.Windows.Forms.CheckBox(); - this.noconsole1 = new System.Windows.Forms.CheckBox(); - this.log1 = new System.Windows.Forms.CheckBox(); - this.helperuri1 = new System.Windows.Forms.CheckBox(); - this.autologin1 = new System.Windows.Forms.CheckBox(); - this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); - this.dialog1 = new System.Windows.Forms.CheckBox(); - this.previous1 = new System.Windows.Forms.CheckBox(); - this.simple1 = new System.Windows.Forms.CheckBox(); - this.noinvlib1 = new System.Windows.Forms.CheckBox(); - this.debugst1 = new System.Windows.Forms.CheckBox(); - this.spanish1 = new System.Windows.Forms.CheckBox(); - this.korean1 = new System.Windows.Forms.CheckBox(); - this.local1 = new System.Windows.Forms.CheckBox(); - this.purge1 = new System.Windows.Forms.CheckBox(); - this.nofmod1 = new System.Windows.Forms.CheckBox(); - this.noaudio1 = new System.Windows.Forms.CheckBox(); - this.nosound1 = new System.Windows.Forms.CheckBox(); - this.url1 = new System.Windows.Forms.CheckBox(); - this.port1 = new System.Windows.Forms.CheckBox(); - this.simBox1 = new System.Windows.Forms.TextBox(); - this.portBox1 = new System.Windows.Forms.TextBox(); - this.user1 = new System.Windows.Forms.CheckBox(); - this.quitAfter1 = new System.Windows.Forms.CheckBox(); - this.techTag1 = new System.Windows.Forms.CheckBox(); - this.yield1 = new System.Windows.Forms.CheckBox(); - this.logfile1 = new System.Windows.Forms.CheckBox(); - this.settings1 = new System.Windows.Forms.CheckBox(); - this.outbw1 = new System.Windows.Forms.CheckBox(); - this.inbw1 = new System.Windows.Forms.CheckBox(); - this.drop1 = new System.Windows.Forms.CheckBox(); - this.dropBox1 = new System.Windows.Forms.TextBox(); - this.inbwBox1 = new System.Windows.Forms.TextBox(); - this.outbwBox1 = new System.Windows.Forms.TextBox(); - this.settingsBox1 = new System.Windows.Forms.TextBox(); - this.logfileBox1 = new System.Windows.Forms.TextBox(); - this.yieldBox1 = new System.Windows.Forms.TextBox(); - this.techtagBox1 = new System.Windows.Forms.TextBox(); - this.quitafterBox1 = new System.Windows.Forms.TextBox(); - this.comboBox1 = new System.Windows.Forms.ComboBox(); - this.loginuri1 = new System.Windows.Forms.CheckBox(); - this.loginuriBox1 = new System.Windows.Forms.TextBox(); - this.set1 = new System.Windows.Forms.CheckBox(); - this.setBox1 = new System.Windows.Forms.TextBox(); - this.errmask1 = new System.Windows.Forms.CheckBox(); - this.skin1 = new System.Windows.Forms.CheckBox(); - this.login1 = new System.Windows.Forms.CheckBox(); - this.errmaskBox1 = new System.Windows.Forms.TextBox(); - this.skinBox1 = new System.Windows.Forms.TextBox(); - this.firstBox1 = new System.Windows.Forms.TextBox(); - this.lastBox1 = new System.Windows.Forms.TextBox(); - this.noutc1 = new System.Windows.Forms.CheckBox(); - this.passBox1 = new System.Windows.Forms.TextBox(); - this.raw1 = new System.Windows.Forms.CheckBox(); - this.rawBox1 = new System.Windows.Forms.TextBox(); - this.clear1 = new System.Windows.Forms.Button(); - this.nataddress1 = new System.Windows.Forms.TextBox(); - this.label8 = new System.Windows.Forms.Label(); - this.label9 = new System.Windows.Forms.Label(); - this.exeBox1 = new System.Windows.Forms.TextBox(); - this.label10 = new System.Windows.Forms.Label(); - this.label11 = new System.Windows.Forms.Label(); - this.label12 = new System.Windows.Forms.Label(); - this.label13 = new System.Windows.Forms.Label(); - this.menuStrip1.SuspendLayout(); - this.gbLog.SuspendLayout(); - this.tabLogs.SuspendLayout(); - this.tabMainLog.SuspendLayout(); - this.tabRegionServer.SuspendLayout(); - this.tabUserServer.SuspendLayout(); - this.tabAssetServer.SuspendLayout(); - this.tabGridServer.SuspendLayout(); - this.SuspendLayout(); - // - // menuStrip1 - // - this.menuStrip1.AutoSize = false; - this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.fileToolStripMenuItem}); - this.menuStrip1.Location = new System.Drawing.Point(0, 0); - this.menuStrip1.Name = "menuStrip1"; - this.menuStrip1.Size = new System.Drawing.Size(900, 20); - this.menuStrip1.TabIndex = 7; - this.menuStrip1.Text = "menuStrip1"; - // - // fileToolStripMenuItem - // - this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.exitToolStripMenuItem}); - this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; - this.fileToolStripMenuItem.Size = new System.Drawing.Size(35, 16); - this.fileToolStripMenuItem.Text = "File"; - // - // exitToolStripMenuItem - // - this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; - this.exitToolStripMenuItem.Size = new System.Drawing.Size(130, 22); - this.exitToolStripMenuItem.Text = "Exit Cleanly"; - this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click); - // - // timer1 - // - this.timer1.Enabled = true; - // - // clientBox1 - // - this.clientBox1.Location = new System.Drawing.Point(680, 27); - this.clientBox1.Name = "clientBox1"; - this.clientBox1.Size = new System.Drawing.Size(213, 20); - this.clientBox1.TabIndex = 8; - this.clientBox1.Text = "C://Secondlife//"; - // - // btnStart - // - this.btnStart.Location = new System.Drawing.Point(7, 366); - this.btnStart.Name = "btnStart"; - this.btnStart.Size = new System.Drawing.Size(80, 23); - this.btnStart.TabIndex = 2; - this.btnStart.Text = "Start"; - this.btnStart.UseVisualStyleBackColor = true; - this.btnStart.Click += new System.EventHandler(this.btnStart_Click); - // - // btnStop - // - this.btnStop.Location = new System.Drawing.Point(92, 366); - this.btnStop.Name = "btnStop"; - this.btnStop.Size = new System.Drawing.Size(80, 23); - this.btnStop.TabIndex = 3; - this.btnStop.Text = "Stop"; - this.btnStop.UseVisualStyleBackColor = true; - this.btnStop.Click += new System.EventHandler(this.btnStop_Click); - // - // rbGridRegionMode - // - this.rbGridRegionMode.AutoSize = true; - this.rbGridRegionMode.Location = new System.Drawing.Point(96, 27); - this.rbGridRegionMode.Name = "rbGridRegionMode"; - this.rbGridRegionMode.Size = new System.Drawing.Size(76, 17); - this.rbGridRegionMode.TabIndex = 4; - this.rbGridRegionMode.Text = "Grid region"; - this.rbGridRegionMode.UseVisualStyleBackColor = true; - this.rbGridRegionMode.CheckedChanged += new System.EventHandler(this.rbGridRegionMode_CheckedChanged); - // - // rbStandAloneMode - // - this.rbStandAloneMode.AutoSize = true; - this.rbStandAloneMode.Checked = true; - this.rbStandAloneMode.Location = new System.Drawing.Point(8, 27); - this.rbStandAloneMode.Name = "rbStandAloneMode"; - this.rbStandAloneMode.Size = new System.Drawing.Size(82, 17); - this.rbStandAloneMode.TabIndex = 5; - this.rbStandAloneMode.TabStop = true; - this.rbStandAloneMode.Text = "Stand alone"; - this.rbStandAloneMode.UseVisualStyleBackColor = true; - this.rbStandAloneMode.CheckedChanged += new System.EventHandler(this.rbStandAloneMode_CheckedChanged); - // - // rbGridServer - // - this.rbGridServer.AutoSize = true; - this.rbGridServer.Location = new System.Drawing.Point(178, 27); - this.rbGridServer.Name = "rbGridServer"; - this.rbGridServer.Size = new System.Drawing.Size(76, 17); - this.rbGridServer.TabIndex = 6; - this.rbGridServer.Text = "Grid server"; - this.rbGridServer.UseVisualStyleBackColor = true; - this.rbGridServer.CheckedChanged += new System.EventHandler(this.rbGridServer_CheckedChanged); - // - // Launch1 - // - this.Launch1.Location = new System.Drawing.Point(264, 366); - this.Launch1.Name = "Launch1"; - this.Launch1.Size = new System.Drawing.Size(80, 23); - this.Launch1.TabIndex = 9; - this.Launch1.Text = "Client Launch"; - this.Launch1.UseVisualStyleBackColor = true; - this.Launch1.Click += new System.EventHandler(this.Launch1_Click); - // - // gbLog - // - this.gbLog.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.gbLog.Controls.Add(this.tabLogs); - this.gbLog.Location = new System.Drawing.Point(8, 50); - this.gbLog.Name = "gbLog"; - this.gbLog.Size = new System.Drawing.Size(345, 310); - this.gbLog.TabIndex = 1; - this.gbLog.TabStop = false; - this.gbLog.Text = "Logs"; - // - // tabLogs - // - this.tabLogs.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.tabLogs.Controls.Add(this.tabMainLog); - this.tabLogs.Controls.Add(this.tabRegionServer); - this.tabLogs.Controls.Add(this.tabUserServer); - this.tabLogs.Controls.Add(this.tabAssetServer); - this.tabLogs.Controls.Add(this.tabGridServer); - this.tabLogs.Location = new System.Drawing.Point(6, 19); - this.tabLogs.Name = "tabLogs"; - this.tabLogs.SelectedIndex = 0; - this.tabLogs.Size = new System.Drawing.Size(333, 285); - this.tabLogs.TabIndex = 0; - // - // tabMainLog - // - this.tabMainLog.Controls.Add(this.txtMainLog); - this.tabMainLog.Location = new System.Drawing.Point(4, 22); - this.tabMainLog.Name = "tabMainLog"; - this.tabMainLog.Size = new System.Drawing.Size(325, 259); - this.tabMainLog.TabIndex = 4; - this.tabMainLog.Text = "Main log"; - this.tabMainLog.UseVisualStyleBackColor = true; - // - // txtMainLog - // - this.txtMainLog.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.txtMainLog.Location = new System.Drawing.Point(0, 0); - this.txtMainLog.Multiline = true; - this.txtMainLog.Name = "txtMainLog"; - this.txtMainLog.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; - this.txtMainLog.Size = new System.Drawing.Size(325, 259); - this.txtMainLog.TabIndex = 1; - // - // tabRegionServer - // - this.tabRegionServer.Controls.Add(this.txtInputRegionServer); - this.tabRegionServer.Controls.Add(this.label1); - this.tabRegionServer.Controls.Add(this.txtOpenSim); - this.tabRegionServer.Location = new System.Drawing.Point(4, 22); - this.tabRegionServer.Name = "tabRegionServer"; - this.tabRegionServer.Padding = new System.Windows.Forms.Padding(3); - this.tabRegionServer.Size = new System.Drawing.Size(325, 259); - this.tabRegionServer.TabIndex = 0; - this.tabRegionServer.Text = "Region server"; - this.tabRegionServer.UseVisualStyleBackColor = true; - // - // txtInputRegionServer - // - this.txtInputRegionServer.Location = new System.Drawing.Point(53, 239); - this.txtInputRegionServer.Name = "txtInputRegionServer"; - this.txtInputRegionServer.Size = new System.Drawing.Size(272, 20); - this.txtInputRegionServer.TabIndex = 5; - // - // label1 - // - this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(0, 242); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(57, 13); - this.label1.TabIndex = 4; - this.label1.Text = "Command:"; - // - // txtOpenSim - // - this.txtOpenSim.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.txtOpenSim.Location = new System.Drawing.Point(0, 0); - this.txtOpenSim.Multiline = true; - this.txtOpenSim.Name = "txtOpenSim"; - this.txtOpenSim.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; - this.txtOpenSim.Size = new System.Drawing.Size(325, 236); - this.txtOpenSim.TabIndex = 0; - // - // tabUserServer - // - this.tabUserServer.Controls.Add(this.txtInputUserServer); - this.tabUserServer.Controls.Add(this.label2); - this.tabUserServer.Controls.Add(this.txtUserServer); - this.tabUserServer.Location = new System.Drawing.Point(4, 22); - this.tabUserServer.Name = "tabUserServer"; - this.tabUserServer.Padding = new System.Windows.Forms.Padding(3); - this.tabUserServer.Size = new System.Drawing.Size(325, 259); - this.tabUserServer.TabIndex = 1; - this.tabUserServer.Text = "User server"; - this.tabUserServer.UseVisualStyleBackColor = true; - // - // txtInputUserServer - // - this.txtInputUserServer.Location = new System.Drawing.Point(53, 239); - this.txtInputUserServer.Name = "txtInputUserServer"; - this.txtInputUserServer.Size = new System.Drawing.Size(272, 20); - this.txtInputUserServer.TabIndex = 7; - // - // label2 - // - this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(0, 242); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(57, 13); - this.label2.TabIndex = 6; - this.label2.Text = "Command:"; - // - // txtUserServer - // - this.txtUserServer.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.txtUserServer.Location = new System.Drawing.Point(0, 0); - this.txtUserServer.Multiline = true; - this.txtUserServer.Name = "txtUserServer"; - this.txtUserServer.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; - this.txtUserServer.Size = new System.Drawing.Size(325, 236); - this.txtUserServer.TabIndex = 1; - // - // tabAssetServer - // - this.tabAssetServer.Controls.Add(this.txtInputAssetServer); - this.tabAssetServer.Controls.Add(this.label3); - this.tabAssetServer.Controls.Add(this.txtAssetServer); - this.tabAssetServer.Location = new System.Drawing.Point(4, 22); - this.tabAssetServer.Name = "tabAssetServer"; - this.tabAssetServer.Size = new System.Drawing.Size(325, 259); - this.tabAssetServer.TabIndex = 2; - this.tabAssetServer.Text = "Asset server"; - this.tabAssetServer.UseVisualStyleBackColor = true; - // - // txtInputAssetServer - // - this.txtInputAssetServer.Location = new System.Drawing.Point(53, 239); - this.txtInputAssetServer.Name = "txtInputAssetServer"; - this.txtInputAssetServer.Size = new System.Drawing.Size(272, 20); - this.txtInputAssetServer.TabIndex = 7; - // - // label3 - // - this.label3.AutoSize = true; - this.label3.Location = new System.Drawing.Point(0, 242); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(57, 13); - this.label3.TabIndex = 6; - this.label3.Text = "Command:"; - // - // txtAssetServer - // - this.txtAssetServer.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.txtAssetServer.Location = new System.Drawing.Point(0, 0); - this.txtAssetServer.Multiline = true; - this.txtAssetServer.Name = "txtAssetServer"; - this.txtAssetServer.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; - this.txtAssetServer.Size = new System.Drawing.Size(325, 236); - this.txtAssetServer.TabIndex = 1; - // - // tabGridServer - // - this.tabGridServer.Controls.Add(this.txtInputGridServer); - this.tabGridServer.Controls.Add(this.label4); - this.tabGridServer.Controls.Add(this.txtGridServer); - this.tabGridServer.Location = new System.Drawing.Point(4, 22); - this.tabGridServer.Name = "tabGridServer"; - this.tabGridServer.Size = new System.Drawing.Size(325, 259); - this.tabGridServer.TabIndex = 3; - this.tabGridServer.Text = "Grid server"; - this.tabGridServer.UseVisualStyleBackColor = true; - // - // txtInputGridServer - // - this.txtInputGridServer.Location = new System.Drawing.Point(53, 239); - this.txtInputGridServer.Name = "txtInputGridServer"; - this.txtInputGridServer.Size = new System.Drawing.Size(272, 20); - this.txtInputGridServer.TabIndex = 7; - // - // label4 - // - this.label4.AutoSize = true; - this.label4.Location = new System.Drawing.Point(0, 242); - this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(57, 13); - this.label4.TabIndex = 6; - this.label4.Text = "Command:"; - // - // txtGridServer - // - this.txtGridServer.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.txtGridServer.Location = new System.Drawing.Point(0, 0); - this.txtGridServer.Multiline = true; - this.txtGridServer.Name = "txtGridServer"; - this.txtGridServer.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; - this.txtGridServer.Size = new System.Drawing.Size(325, 236); - this.txtGridServer.TabIndex = 1; - // - // label5 - // - this.label5.AutoSize = true; - this.label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label5.Location = new System.Drawing.Point(460, 55); - this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(205, 20); - this.label5.TabIndex = 11; - this.label5.Text = "Command Line Switches"; - // - // noProbe1 - // - this.noProbe1.AutoSize = true; - this.noProbe1.Location = new System.Drawing.Point(359, 275); - this.noProbe1.Name = "noProbe1"; - this.noProbe1.Size = new System.Drawing.Size(68, 17); - this.noProbe1.TabIndex = 12; - this.noProbe1.Text = "-noprobe"; - this.toolTip1.SetToolTip(this.noProbe1, "disable hardware probe"); - this.noProbe1.UseVisualStyleBackColor = true; - // - // label6 - // - this.label6.AutoSize = true; - this.label6.Location = new System.Drawing.Point(8, 415); - this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(0, 13); - this.label6.TabIndex = 14; - this.label6.Click += new System.EventHandler(this.label6_Click); - // - // multiple1 - // - this.multiple1.AutoSize = true; - this.multiple1.Location = new System.Drawing.Point(359, 185); - this.multiple1.Name = "multiple1"; - this.multiple1.Size = new System.Drawing.Size(64, 17); - this.multiple1.TabIndex = 15; - this.multiple1.Text = "-multiple"; - this.toolTip1.SetToolTip(this.multiple1, "allow multiple viewers"); - this.multiple1.UseVisualStyleBackColor = true; - // - // label7 - // - this.label7.AutoSize = true; - this.label7.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label7.Location = new System.Drawing.Point(8, 396); - this.label7.Name = "label7"; - this.label7.Size = new System.Drawing.Size(338, 13); - this.label7.TabIndex = 16; - this.label7.Text = "Client Command Line String Used and Program Messages :"; - // - // noMultiple1 - // - this.noMultiple1.AutoSize = true; - this.noMultiple1.Location = new System.Drawing.Point(359, 260); - this.noMultiple1.Name = "noMultiple1"; - this.noMultiple1.Size = new System.Drawing.Size(76, 17); - this.noMultiple1.TabIndex = 17; - this.noMultiple1.Text = "-nomultiple"; - this.toolTip1.SetToolTip(this.noMultiple1, "block multiple viewers (secondlife.exe instances)"); - this.noMultiple1.UseVisualStyleBackColor = true; - // - // ignorepixeldepth1 - // - this.ignorepixeldepth1.AutoSize = true; - this.ignorepixeldepth1.Location = new System.Drawing.Point(359, 125); - this.ignorepixeldepth1.Name = "ignorepixeldepth1"; - this.ignorepixeldepth1.Size = new System.Drawing.Size(106, 17); - this.ignorepixeldepth1.TabIndex = 18; - this.ignorepixeldepth1.Text = "-ignorepixeldepth"; - this.toolTip1.SetToolTip(this.ignorepixeldepth1, "ignore pixel depth settings"); - this.ignorepixeldepth1.UseVisualStyleBackColor = true; - // - // nothread1 - // - this.nothread1.AutoSize = true; - this.nothread1.Location = new System.Drawing.Point(359, 305); - this.nothread1.Name = "nothread1"; - this.nothread1.Size = new System.Drawing.Size(71, 17); - this.nothread1.TabIndex = 19; - this.nothread1.Text = "-nothread"; - this.toolTip1.SetToolTip(this.nothread1, "run VFS (Virtual File System) in single thread"); - this.nothread1.UseVisualStyleBackColor = true; - // - // safe1 - // - this.safe1.AutoSize = true; - this.safe1.Location = new System.Drawing.Point(359, 365); - this.safe1.Name = "safe1"; - this.safe1.Size = new System.Drawing.Size(49, 17); - this.safe1.TabIndex = 20; - this.safe1.Text = "-safe"; - this.toolTip1.SetToolTip(this.safe1, "reset preferences, run in safe mode"); - this.safe1.UseVisualStyleBackColor = true; - // - // noconsole1 - // - this.noconsole1.AutoSize = true; - this.noconsole1.Location = new System.Drawing.Point(359, 215); - this.noconsole1.Name = "noconsole1"; - this.noconsole1.Size = new System.Drawing.Size(78, 17); - this.noconsole1.TabIndex = 21; - this.noconsole1.Text = "-noconsole"; - this.toolTip1.SetToolTip(this.noconsole1, "hide the console if not already hidden"); - this.noconsole1.UseVisualStyleBackColor = true; - // - // log1 - // - this.log1.AutoSize = true; - this.log1.Location = new System.Drawing.Point(359, 170); - this.log1.Name = "log1"; - this.log1.Size = new System.Drawing.Size(43, 17); - this.log1.TabIndex = 22; - this.log1.Text = "-log"; - this.toolTip1.SetToolTip(this.log1, "--no info avail--"); - this.log1.UseVisualStyleBackColor = true; - // - // helperuri1 - // - this.helperuri1.AutoSize = true; - this.helperuri1.Location = new System.Drawing.Point(359, 110); - this.helperuri1.Name = "helperuri1"; - this.helperuri1.Size = new System.Drawing.Size(69, 17); - this.helperuri1.TabIndex = 23; - this.helperuri1.Text = "-helperuri"; - this.toolTip1.SetToolTip(this.helperuri1, "--no info avail--"); - this.helperuri1.UseVisualStyleBackColor = true; - // - // autologin1 - // - this.autologin1.AutoSize = true; - this.autologin1.Location = new System.Drawing.Point(359, 65); - this.autologin1.Name = "autologin1"; - this.autologin1.Size = new System.Drawing.Size(75, 17); - this.autologin1.TabIndex = 24; - this.autologin1.Text = "--autologin"; - this.toolTip1.SetToolTip(this.autologin1, "--no info avail--"); - this.autologin1.UseVisualStyleBackColor = true; - // - // dialog1 - // - this.dialog1.AutoSize = true; - this.dialog1.Location = new System.Drawing.Point(359, 95); - this.dialog1.Name = "dialog1"; - this.dialog1.Size = new System.Drawing.Size(57, 17); - this.dialog1.TabIndex = 25; - this.dialog1.Text = "-dialog"; - this.toolTip1.SetToolTip(this.dialog1, "some arcane dialog box that is impossible to raise"); - this.dialog1.UseVisualStyleBackColor = true; - // - // previous1 - // - this.previous1.AutoSize = true; - this.previous1.Location = new System.Drawing.Point(359, 335); - this.previous1.Name = "previous1"; - this.previous1.Size = new System.Drawing.Size(69, 17); - this.previous1.TabIndex = 26; - this.previous1.Text = "-previous"; - this.toolTip1.SetToolTip(this.previous1, "--no info avail--"); - this.previous1.UseVisualStyleBackColor = true; - // - // simple1 - // - this.simple1.AutoSize = true; - this.simple1.Location = new System.Drawing.Point(359, 380); - this.simple1.Name = "simple1"; - this.simple1.Size = new System.Drawing.Size(58, 17); - this.simple1.TabIndex = 27; - this.simple1.Text = "-simple"; - this.toolTip1.SetToolTip(this.simple1, "--no info avail--"); - this.simple1.UseVisualStyleBackColor = true; - // - // noinvlib1 - // - this.noinvlib1.AutoSize = true; - this.noinvlib1.Location = new System.Drawing.Point(359, 245); - this.noinvlib1.Name = "noinvlib1"; - this.noinvlib1.Size = new System.Drawing.Size(65, 17); - this.noinvlib1.TabIndex = 28; - this.noinvlib1.Text = "-noinvlib"; - this.toolTip1.SetToolTip(this.noinvlib1, "do not request inventory library"); - this.noinvlib1.UseVisualStyleBackColor = true; - // - // debugst1 - // - this.debugst1.AutoSize = true; - this.debugst1.Location = new System.Drawing.Point(359, 80); - this.debugst1.Name = "debugst1"; - this.debugst1.Size = new System.Drawing.Size(67, 17); - this.debugst1.TabIndex = 30; - this.debugst1.Text = "-debugst"; - this.toolTip1.SetToolTip(this.debugst1, "debug mask"); - this.debugst1.UseVisualStyleBackColor = true; - // - // spanish1 - // - this.spanish1.AutoSize = true; - this.spanish1.Location = new System.Drawing.Point(359, 395); - this.spanish1.Name = "spanish1"; - this.spanish1.Size = new System.Drawing.Size(65, 17); - this.spanish1.TabIndex = 31; - this.spanish1.Text = "-spanish"; - this.toolTip1.SetToolTip(this.spanish1, "activate (incomplete) Spanish UI translation"); - this.spanish1.UseVisualStyleBackColor = true; - // - // korean1 - // - this.korean1.AutoSize = true; - this.korean1.Location = new System.Drawing.Point(359, 140); - this.korean1.Name = "korean1"; - this.korean1.Size = new System.Drawing.Size(62, 17); - this.korean1.TabIndex = 32; - this.korean1.Text = "-korean"; - this.toolTip1.SetToolTip(this.korean1, "activate (incomplete) Korean UI translation"); - this.korean1.UseVisualStyleBackColor = true; - // - // local1 - // - this.local1.AutoSize = true; - this.local1.Location = new System.Drawing.Point(359, 155); - this.local1.Name = "local1"; - this.local1.Size = new System.Drawing.Size(51, 17); - this.local1.TabIndex = 46; - this.local1.Text = "-local"; - this.toolTip1.SetToolTip(this.local1, "run without simulator"); - this.local1.UseVisualStyleBackColor = true; - // - // purge1 - // - this.purge1.AutoSize = true; - this.purge1.Location = new System.Drawing.Point(359, 350); - this.purge1.Name = "purge1"; - this.purge1.Size = new System.Drawing.Size(56, 17); - this.purge1.TabIndex = 56; - this.purge1.Text = "-purge"; - this.toolTip1.SetToolTip(this.purge1, "delete files in cache"); - this.purge1.UseVisualStyleBackColor = true; - // - // nofmod1 - // - this.nofmod1.AutoSize = true; - this.nofmod1.Location = new System.Drawing.Point(359, 230); - this.nofmod1.Name = "nofmod1"; - this.nofmod1.Size = new System.Drawing.Size(64, 17); - this.nofmod1.TabIndex = 45; - this.nofmod1.Text = "-nofmod"; - this.toolTip1.SetToolTip(this.nofmod1, "FMOD is the API used to distort sound while moving"); - this.nofmod1.UseVisualStyleBackColor = true; - // - // noaudio1 - // - this.noaudio1.AutoSize = true; - this.noaudio1.Location = new System.Drawing.Point(359, 200); - this.noaudio1.Name = "noaudio1"; - this.noaudio1.Size = new System.Drawing.Size(67, 17); - this.noaudio1.TabIndex = 44; - this.noaudio1.Text = "-noaudio"; - this.toolTip1.SetToolTip(this.noaudio1, "no audio, different from -nosound?"); - this.noaudio1.UseVisualStyleBackColor = true; - // - // nosound1 - // - this.nosound1.AutoSize = true; - this.nosound1.Location = new System.Drawing.Point(359, 290); - this.nosound1.Name = "nosound1"; - this.nosound1.Size = new System.Drawing.Size(70, 17); - this.nosound1.TabIndex = 55; - this.nosound1.Text = "-nosound"; - this.toolTip1.SetToolTip(this.nosound1, "no sound, different from -noaudio?"); - this.nosound1.UseVisualStyleBackColor = true; - // - // url1 - // - this.url1.AutoSize = true; - this.url1.Location = new System.Drawing.Point(488, 245); - this.url1.Name = "url1"; - this.url1.Size = new System.Drawing.Size(40, 17); - this.url1.TabIndex = 43; - this.url1.Text = "-url"; - this.toolTip1.SetToolTip(this.url1, "handles secondlife://sim/x/y/z URLs"); - this.url1.UseVisualStyleBackColor = true; - // - // port1 - // - this.port1.AutoSize = true; - this.port1.Location = new System.Drawing.Point(488, 171); - this.port1.Name = "port1"; - this.port1.Size = new System.Drawing.Size(47, 17); - this.port1.TabIndex = 49; - this.port1.Text = "-port"; - this.toolTip1.SetToolTip(this.port1, "Set the TCP port for the client; useful to run multiple instances of SL on the sa" + - "me local home network. Values that may work: 13000 and 13001 (Valid numbers are " + - "13000 to 13050)"); - this.port1.UseVisualStyleBackColor = true; - // - // simBox1 - // - this.simBox1.Location = new System.Drawing.Point(549, 243); - this.simBox1.Name = "simBox1"; - this.simBox1.Size = new System.Drawing.Size(344, 20); - this.simBox1.TabIndex = 66; - this.simBox1.Text = "secondlife://lutra/127/128/60"; - this.toolTip1.SetToolTip(this.simBox1, "type URL here"); - // - // portBox1 - // - this.portBox1.Location = new System.Drawing.Point(549, 169); - this.portBox1.Name = "portBox1"; - this.portBox1.Size = new System.Drawing.Size(58, 20); - this.portBox1.TabIndex = 67; - this.portBox1.Text = "13000"; - this.toolTip1.SetToolTip(this.portBox1, "enter port number here"); - // - // user1 - // - this.user1.AutoSize = true; - this.user1.Location = new System.Drawing.Point(488, 191); - this.user1.Name = "user1"; - this.user1.Size = new System.Drawing.Size(49, 17); - this.user1.TabIndex = 42; - this.user1.Text = "-user"; - this.user1.ThreeState = true; - this.toolTip1.SetToolTip(this.user1, "specify user server in dotted quad"); - this.user1.UseVisualStyleBackColor = true; - // - // quitAfter1 - // - this.quitAfter1.AutoSize = true; - this.quitAfter1.Location = new System.Drawing.Point(680, 65); - this.quitAfter1.Name = "quitAfter1"; - this.quitAfter1.Size = new System.Drawing.Size(67, 17); - this.quitAfter1.TabIndex = 41; - this.quitAfter1.Text = "-quitafter"; - this.toolTip1.SetToolTip(this.quitAfter1, "SL quits after elapsed time in seconds"); - this.quitAfter1.UseVisualStyleBackColor = true; - // - // techTag1 - // - this.techTag1.AutoSize = true; - this.techTag1.Location = new System.Drawing.Point(488, 211); - this.techTag1.Name = "techTag1"; - this.techTag1.Size = new System.Drawing.Size(65, 17); - this.techTag1.TabIndex = 47; - this.techTag1.Text = "-techtag"; - this.toolTip1.SetToolTip(this.techTag1, "unknown (but requires a parameter)"); - this.techTag1.UseVisualStyleBackColor = true; - // - // yield1 - // - this.yield1.AutoSize = true; - this.yield1.Location = new System.Drawing.Point(488, 91); - this.yield1.Name = "yield1"; - this.yield1.Size = new System.Drawing.Size(50, 17); - this.yield1.TabIndex = 48; - this.yield1.Text = "-yield"; - this.toolTip1.SetToolTip(this.yield1, "yield some idle time to local host (changed from - cooperative)"); - this.yield1.UseVisualStyleBackColor = true; - // - // logfile1 - // - this.logfile1.AutoSize = true; - this.logfile1.Location = new System.Drawing.Point(680, 125); - this.logfile1.Name = "logfile1"; - this.logfile1.Size = new System.Drawing.Size(56, 17); - this.logfile1.TabIndex = 54; - this.logfile1.Text = "-logfile"; - this.toolTip1.SetToolTip(this.logfile1, "change the log filename"); - this.logfile1.UseVisualStyleBackColor = true; - // - // settings1 - // - this.settings1.AutoSize = true; - this.settings1.Location = new System.Drawing.Point(680, 95); - this.settings1.Name = "settings1"; - this.settings1.Size = new System.Drawing.Size(65, 17); - this.settings1.TabIndex = 53; - this.settings1.Text = "-settings"; - this.toolTip1.SetToolTip(this.settings1, "specify configuration filename; default is \"settings.ini\""); - this.settings1.UseVisualStyleBackColor = true; - // - // outbw1 - // - this.outbw1.AutoSize = true; - this.outbw1.Location = new System.Drawing.Point(488, 111); - this.outbw1.Name = "outbw1"; - this.outbw1.Size = new System.Drawing.Size(58, 17); - this.outbw1.TabIndex = 52; - this.outbw1.Text = "-outbw"; - this.toolTip1.SetToolTip(this.outbw1, "set outgoing bandwidth"); - this.outbw1.UseVisualStyleBackColor = true; - // - // inbw1 - // - this.inbw1.AutoSize = true; - this.inbw1.Location = new System.Drawing.Point(488, 131); - this.inbw1.Name = "inbw1"; - this.inbw1.Size = new System.Drawing.Size(51, 17); - this.inbw1.TabIndex = 51; - this.inbw1.Text = "-inbw"; - this.toolTip1.SetToolTip(this.inbw1, "set incoming bandwidth"); - this.inbw1.UseVisualStyleBackColor = true; - // - // drop1 - // - this.drop1.AutoSize = true; - this.drop1.Location = new System.Drawing.Point(488, 151); - this.drop1.Name = "drop1"; - this.drop1.Size = new System.Drawing.Size(50, 17); - this.drop1.TabIndex = 50; - this.drop1.Text = "-drop"; - this.toolTip1.SetToolTip(this.drop1, "drop number% of incoming network packets"); - this.drop1.UseVisualStyleBackColor = true; - // - // dropBox1 - // - this.dropBox1.Location = new System.Drawing.Point(549, 149); - this.dropBox1.Name = "dropBox1"; - this.dropBox1.Size = new System.Drawing.Size(58, 20); - this.dropBox1.TabIndex = 68; - this.dropBox1.Text = "0"; - this.toolTip1.SetToolTip(this.dropBox1, "enter percent of packets to drop"); - // - // inbwBox1 - // - this.inbwBox1.Location = new System.Drawing.Point(549, 129); - this.inbwBox1.Name = "inbwBox1"; - this.inbwBox1.Size = new System.Drawing.Size(57, 20); - this.inbwBox1.TabIndex = 69; - this.toolTip1.SetToolTip(this.inbwBox1, "enter incoming cap"); - // - // outbwBox1 - // - this.outbwBox1.Location = new System.Drawing.Point(549, 109); - this.outbwBox1.Name = "outbwBox1"; - this.outbwBox1.Size = new System.Drawing.Size(58, 20); - this.outbwBox1.TabIndex = 70; - this.toolTip1.SetToolTip(this.outbwBox1, "enter outgoing cap"); - // - // settingsBox1 - // - this.settingsBox1.Location = new System.Drawing.Point(741, 93); - this.settingsBox1.Name = "settingsBox1"; - this.settingsBox1.Size = new System.Drawing.Size(152, 20); - this.settingsBox1.TabIndex = 71; - this.settingsBox1.Text = "settings.ini"; - this.toolTip1.SetToolTip(this.settingsBox1, "enter settings file name"); - // - // logfileBox1 - // - this.logfileBox1.Location = new System.Drawing.Point(733, 123); - this.logfileBox1.Name = "logfileBox1"; - this.logfileBox1.Size = new System.Drawing.Size(160, 20); - this.logfileBox1.TabIndex = 72; - this.logfileBox1.Text = "mylogfile.txt"; - this.toolTip1.SetToolTip(this.logfileBox1, "enter log file name here"); - // - // yieldBox1 - // - this.yieldBox1.Location = new System.Drawing.Point(549, 89); - this.yieldBox1.Name = "yieldBox1"; - this.yieldBox1.Size = new System.Drawing.Size(58, 20); - this.yieldBox1.TabIndex = 73; - this.toolTip1.SetToolTip(this.yieldBox1, "enter time to yield in "); - // - // techtagBox1 - // - this.techtagBox1.Location = new System.Drawing.Point(549, 209); - this.techtagBox1.Name = "techtagBox1"; - this.techtagBox1.Size = new System.Drawing.Size(58, 20); - this.techtagBox1.TabIndex = 74; - this.toolTip1.SetToolTip(this.techtagBox1, "enter unknown param here"); - // - // quitafterBox1 - // - this.quitafterBox1.Location = new System.Drawing.Point(745, 63); - this.quitafterBox1.Name = "quitafterBox1"; - this.quitafterBox1.Size = new System.Drawing.Size(148, 20); - this.quitafterBox1.TabIndex = 75; - this.toolTip1.SetToolTip(this.quitafterBox1, "enter time in seconds"); - // - // comboBox1 - // - this.comboBox1.FormattingEnabled = true; - this.comboBox1.Items.AddRange(new object[] { - "agni", - "colo", - "dmz", - "durga", - "siva"}); - this.comboBox1.Location = new System.Drawing.Point(549, 189); - this.comboBox1.Name = "comboBox1"; - this.comboBox1.Size = new System.Drawing.Size(58, 21); - this.comboBox1.TabIndex = 76; - this.comboBox1.Text = "agni"; - this.toolTip1.SetToolTip(this.comboBox1, "select LL user server"); - // - // loginuri1 - // - this.loginuri1.AutoSize = true; - this.loginuri1.Location = new System.Drawing.Point(488, 275); - this.loginuri1.Name = "loginuri1"; - this.loginuri1.Size = new System.Drawing.Size(62, 17); - this.loginuri1.TabIndex = 77; - this.loginuri1.Text = "-loginuri"; - this.toolTip1.SetToolTip(this.loginuri1, "login server and CGI script to use"); - this.loginuri1.UseVisualStyleBackColor = true; - // - // loginuriBox1 - // - this.loginuriBox1.Location = new System.Drawing.Point(549, 273); - this.loginuriBox1.Name = "loginuriBox1"; - this.loginuriBox1.Size = new System.Drawing.Size(344, 20); - this.loginuriBox1.TabIndex = 78; - this.loginuriBox1.Text = "localhost:9000"; - this.toolTip1.SetToolTip(this.loginuriBox1, "enter login url here"); - // - // set1 - // - this.set1.AutoSize = true; - this.set1.Location = new System.Drawing.Point(636, 185); - this.set1.Name = "set1"; - this.set1.Size = new System.Drawing.Size(43, 17); - this.set1.TabIndex = 79; - this.set1.Text = "-set"; - this.toolTip1.SetToolTip(this.set1, "specify value of a particular configuration variable; can be used multiple times " + - "in a single command-line"); - this.set1.UseVisualStyleBackColor = true; - // - // setBox1 - // - this.setBox1.Location = new System.Drawing.Point(680, 183); - this.setBox1.Name = "setBox1"; - this.setBox1.Size = new System.Drawing.Size(213, 20); - this.setBox1.TabIndex = 80; - this.setBox1.Text = "SystemLanguage en-us"; - this.toolTip1.SetToolTip(this.setBox1, "enter params"); - // - // errmask1 - // - this.errmask1.AutoSize = true; - this.errmask1.Location = new System.Drawing.Point(636, 154); - this.errmask1.Name = "errmask1"; - this.errmask1.Size = new System.Drawing.Size(66, 17); - this.errmask1.TabIndex = 81; - this.errmask1.Text = "-errmask"; - this.toolTip1.SetToolTip(this.errmask1, "32-bit bitmask for error type mask"); - this.errmask1.UseVisualStyleBackColor = true; - // - // skin1 - // - this.skin1.AutoSize = true; - this.skin1.Location = new System.Drawing.Point(635, 215); - this.skin1.Name = "skin1"; - this.skin1.Size = new System.Drawing.Size(48, 17); - this.skin1.TabIndex = 82; - this.skin1.Text = "-skin"; - this.toolTip1.SetToolTip(this.skin1, "load skins//skin.xml as the default UI appearance (incomplete)"); - this.skin1.UseVisualStyleBackColor = true; - // - // login1 - // - this.login1.AutoSize = true; - this.login1.Location = new System.Drawing.Point(457, 304); - this.login1.Name = "login1"; - this.login1.Size = new System.Drawing.Size(51, 17); - this.login1.TabIndex = 83; - this.login1.Text = "-login"; - this.toolTip1.SetToolTip(this.login1, "log in as a user"); - this.login1.UseVisualStyleBackColor = true; - // - // errmaskBox1 - // - this.errmaskBox1.Location = new System.Drawing.Point(704, 153); - this.errmaskBox1.Name = "errmaskBox1"; - this.errmaskBox1.Size = new System.Drawing.Size(189, 20); - this.errmaskBox1.TabIndex = 84; - this.toolTip1.SetToolTip(this.errmaskBox1, "32-bit bitmask for error type mask"); - // - // skinBox1 - // - this.skinBox1.Location = new System.Drawing.Point(679, 213); - this.skinBox1.Name = "skinBox1"; - this.skinBox1.Size = new System.Drawing.Size(214, 20); - this.skinBox1.TabIndex = 85; - this.skinBox1.Text = "C://Secondlife//"; - this.toolTip1.SetToolTip(this.skinBox1, "enter directory where skin.xml is"); - // - // firstBox1 - // - this.firstBox1.Location = new System.Drawing.Point(549, 303); - this.firstBox1.Name = "firstBox1"; - this.firstBox1.Size = new System.Drawing.Size(80, 20); - this.firstBox1.TabIndex = 86; - this.firstBox1.Text = "Test"; - this.toolTip1.SetToolTip(this.firstBox1, "firstname"); - // - // lastBox1 - // - this.lastBox1.Location = new System.Drawing.Point(668, 303); - this.lastBox1.Name = "lastBox1"; - this.lastBox1.Size = new System.Drawing.Size(80, 20); - this.lastBox1.TabIndex = 92; - this.lastBox1.Text = "User"; - this.toolTip1.SetToolTip(this.lastBox1, "lastname"); - // - // noutc1 - // - this.noutc1.AutoSize = true; - this.noutc1.Location = new System.Drawing.Point(359, 320); - this.noutc1.Name = "noutc1"; - this.noutc1.Size = new System.Drawing.Size(56, 17); - this.noutc1.TabIndex = 29; - this.noutc1.Text = "-noutc"; - this.toolTip1.SetToolTip(this.noutc1, "logs in local time, not UTC"); - this.noutc1.UseVisualStyleBackColor = true; - // - // passBox1 - // - this.passBox1.Location = new System.Drawing.Point(790, 303); - this.passBox1.Name = "passBox1"; - this.passBox1.Size = new System.Drawing.Size(103, 20); - this.passBox1.TabIndex = 93; - this.passBox1.Text = "test"; - this.toolTip1.SetToolTip(this.passBox1, "password"); - // - // raw1 - // - this.raw1.AutoSize = true; - this.raw1.Location = new System.Drawing.Point(457, 336); - this.raw1.Name = "raw1"; - this.raw1.Size = new System.Drawing.Size(81, 17); - this.raw1.TabIndex = 94; - this.raw1.Text = "Raw CMD :"; - this.toolTip1.SetToolTip(this.raw1, "Raw CMD options, may crash everything"); - this.raw1.UseVisualStyleBackColor = true; - // - // rawBox1 - // - this.rawBox1.Location = new System.Drawing.Point(549, 333); - this.rawBox1.Name = "rawBox1"; - this.rawBox1.Size = new System.Drawing.Size(344, 20); - this.rawBox1.TabIndex = 95; - this.toolTip1.SetToolTip(this.rawBox1, "Raw CMD options, may crash everything"); - // - // clear1 - // - this.clear1.Location = new System.Drawing.Point(178, 366); - this.clear1.Name = "clear1"; - this.clear1.Size = new System.Drawing.Size(80, 23); - this.clear1.TabIndex = 96; - this.clear1.Text = "Clear"; - this.toolTip1.SetToolTip(this.clear1, "clear all switch boxes"); - this.clear1.UseVisualStyleBackColor = true; - this.clear1.Click += new System.EventHandler(this.clear1_Click); - // - // nataddress1 - // - this.nataddress1.Location = new System.Drawing.Point(457, 389); - this.nataddress1.Name = "nataddress1"; - this.nataddress1.Size = new System.Drawing.Size(436, 20); - this.nataddress1.TabIndex = 58; - this.nataddress1.Text = "UNUSED ATM"; - this.nataddress1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - // - // label8 - // - this.label8.AutoSize = true; - this.label8.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label8.Location = new System.Drawing.Point(588, 360); - this.label8.Name = "label8"; - this.label8.Size = new System.Drawing.Size(175, 20); - this.label8.TabIndex = 59; - this.label8.Text = "World/NAT Address :"; - // - // label9 - // - this.label9.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label9.Location = new System.Drawing.Point(633, 27); - this.label9.Name = "label9"; - this.label9.Size = new System.Drawing.Size(47, 20); - this.label9.TabIndex = 60; - this.label9.Text = "Path :"; - this.label9.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // exeBox1 - // - this.exeBox1.Location = new System.Drawing.Point(530, 27); - this.exeBox1.Name = "exeBox1"; - this.exeBox1.Size = new System.Drawing.Size(100, 20); - this.exeBox1.TabIndex = 61; - this.exeBox1.Text = "Secondlife.exe"; - // - // label10 - // - this.label10.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label10.Location = new System.Drawing.Point(392, 27); - this.label10.Name = "label10"; - this.label10.Size = new System.Drawing.Size(138, 20); - this.label10.TabIndex = 62; - this.label10.Text = "Executable Name :"; - this.label10.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // label11 - // - this.label11.AutoSize = true; - this.label11.Location = new System.Drawing.Point(514, 306); - this.label11.Name = "label11"; - this.label11.Size = new System.Drawing.Size(32, 13); - this.label11.TabIndex = 89; - this.label11.Text = "First :"; - // - // label12 - // - this.label12.AutoSize = true; - this.label12.Location = new System.Drawing.Point(632, 306); - this.label12.Name = "label12"; - this.label12.Size = new System.Drawing.Size(33, 13); - this.label12.TabIndex = 90; - this.label12.Text = "Last :"; - // - // label13 - // - this.label13.AutoSize = true; - this.label13.Location = new System.Drawing.Point(751, 306); - this.label13.Name = "label13"; - this.label13.Size = new System.Drawing.Size(36, 13); - this.label13.TabIndex = 91; - this.label13.Text = "Pass :"; - // - // Main - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(900, 431); - this.Controls.Add(this.clear1); - this.Controls.Add(this.rawBox1); - this.Controls.Add(this.raw1); - this.Controls.Add(this.passBox1); - this.Controls.Add(this.lastBox1); - this.Controls.Add(this.label13); - this.Controls.Add(this.label12); - this.Controls.Add(this.label11); - this.Controls.Add(this.firstBox1); - this.Controls.Add(this.skinBox1); - this.Controls.Add(this.errmaskBox1); - this.Controls.Add(this.login1); - this.Controls.Add(this.skin1); - this.Controls.Add(this.errmask1); - this.Controls.Add(this.setBox1); - this.Controls.Add(this.set1); - this.Controls.Add(this.loginuriBox1); - this.Controls.Add(this.loginuri1); - this.Controls.Add(this.comboBox1); - this.Controls.Add(this.quitafterBox1); - this.Controls.Add(this.techtagBox1); - this.Controls.Add(this.yieldBox1); - this.Controls.Add(this.logfileBox1); - this.Controls.Add(this.settingsBox1); - this.Controls.Add(this.outbwBox1); - this.Controls.Add(this.inbwBox1); - this.Controls.Add(this.dropBox1); - this.Controls.Add(this.portBox1); - this.Controls.Add(this.simBox1); - this.Controls.Add(this.label10); - this.Controls.Add(this.exeBox1); - this.Controls.Add(this.label9); - this.Controls.Add(this.label8); - this.Controls.Add(this.nataddress1); - this.Controls.Add(this.purge1); - this.Controls.Add(this.nosound1); - this.Controls.Add(this.logfile1); - this.Controls.Add(this.settings1); - this.Controls.Add(this.outbw1); - this.Controls.Add(this.inbw1); - this.Controls.Add(this.drop1); - this.Controls.Add(this.port1); - this.Controls.Add(this.yield1); - this.Controls.Add(this.techTag1); - this.Controls.Add(this.local1); - this.Controls.Add(this.nofmod1); - this.Controls.Add(this.noaudio1); - this.Controls.Add(this.url1); - this.Controls.Add(this.user1); - this.Controls.Add(this.quitAfter1); - this.Controls.Add(this.korean1); - this.Controls.Add(this.spanish1); - this.Controls.Add(this.debugst1); - this.Controls.Add(this.noutc1); - this.Controls.Add(this.noinvlib1); - this.Controls.Add(this.simple1); - this.Controls.Add(this.previous1); - this.Controls.Add(this.dialog1); - this.Controls.Add(this.autologin1); - this.Controls.Add(this.helperuri1); - this.Controls.Add(this.log1); - this.Controls.Add(this.noconsole1); - this.Controls.Add(this.safe1); - this.Controls.Add(this.nothread1); - this.Controls.Add(this.ignorepixeldepth1); - this.Controls.Add(this.noMultiple1); - this.Controls.Add(this.label7); - this.Controls.Add(this.multiple1); - this.Controls.Add(this.label6); - this.Controls.Add(this.noProbe1); - this.Controls.Add(this.label5); - this.Controls.Add(this.Launch1); - this.Controls.Add(this.clientBox1); - this.Controls.Add(this.rbGridServer); - this.Controls.Add(this.rbStandAloneMode); - this.Controls.Add(this.rbGridRegionMode); - this.Controls.Add(this.btnStop); - this.Controls.Add(this.btnStart); - this.Controls.Add(this.gbLog); - this.Controls.Add(this.menuStrip1); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D; - this.MainMenuStrip = this.menuStrip1; - this.MaximizeBox = false; - this.Name = "Main"; - this.Text = "OpenSim"; - this.toolTip1.SetToolTip(this, "logs in local time, not UTC"); - this.Load += new System.EventHandler(this.Main_Load); - this.menuStrip1.ResumeLayout(false); - this.menuStrip1.PerformLayout(); - this.gbLog.ResumeLayout(false); - this.tabLogs.ResumeLayout(false); - this.tabMainLog.ResumeLayout(false); - this.tabMainLog.PerformLayout(); - this.tabRegionServer.ResumeLayout(false); - this.tabRegionServer.PerformLayout(); - this.tabUserServer.ResumeLayout(false); - this.tabUserServer.PerformLayout(); - this.tabAssetServer.ResumeLayout(false); - this.tabAssetServer.PerformLayout(); - this.tabGridServer.ResumeLayout(false); - this.tabGridServer.PerformLayout(); - this.ResumeLayout(false); - this.PerformLayout(); - - } - - #endregion - - private System.Windows.Forms.MenuStrip menuStrip1; - private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem; - private System.Windows.Forms.Timer timer1; - private System.Windows.Forms.TextBox clientBox1; - private System.Windows.Forms.Button btnStart; - private System.Windows.Forms.Button btnStop; - private System.Windows.Forms.RadioButton rbGridRegionMode; - private System.Windows.Forms.RadioButton rbStandAloneMode; - private System.Windows.Forms.RadioButton rbGridServer; - private System.Windows.Forms.Button Launch1; - private System.Windows.Forms.GroupBox gbLog; - private System.Windows.Forms.TabControl tabLogs; - private System.Windows.Forms.TabPage tabMainLog; - private System.Windows.Forms.TabPage tabRegionServer; - private System.Windows.Forms.Label label1; - private System.Windows.Forms.TextBox txtOpenSim; - private System.Windows.Forms.TabPage tabUserServer; - private System.Windows.Forms.Label label2; - private System.Windows.Forms.TextBox txtUserServer; - private System.Windows.Forms.TabPage tabAssetServer; - private System.Windows.Forms.Label label3; - private System.Windows.Forms.TextBox txtAssetServer; - private System.Windows.Forms.TabPage tabGridServer; - private System.Windows.Forms.Label label4; - private System.Windows.Forms.TextBox txtGridServer; - private System.Windows.Forms.TextBox txtMainLog; - private System.Windows.Forms.Label label5; - private System.Windows.Forms.CheckBox noProbe1; - private System.Windows.Forms.Label label6; - private System.Windows.Forms.CheckBox multiple1; - private System.Windows.Forms.Label label7; - private System.Windows.Forms.CheckBox noMultiple1; - private System.Windows.Forms.CheckBox ignorepixeldepth1; - private System.Windows.Forms.CheckBox nothread1; - private System.Windows.Forms.CheckBox safe1; - private System.Windows.Forms.CheckBox noconsole1; - private System.Windows.Forms.CheckBox log1; - private System.Windows.Forms.CheckBox helperuri1; - private System.Windows.Forms.CheckBox autologin1; - private System.Windows.Forms.ToolTip toolTip1; - private System.Windows.Forms.CheckBox dialog1; - private System.Windows.Forms.CheckBox previous1; - private System.Windows.Forms.CheckBox simple1; - private System.Windows.Forms.CheckBox noinvlib1; - private System.Windows.Forms.CheckBox noutc1; - private System.Windows.Forms.CheckBox debugst1; - private System.Windows.Forms.CheckBox spanish1; - private System.Windows.Forms.CheckBox korean1; - private System.Windows.Forms.CheckBox local1; - private System.Windows.Forms.CheckBox nofmod1; - private System.Windows.Forms.CheckBox noaudio1; - private System.Windows.Forms.CheckBox url1; - private System.Windows.Forms.CheckBox user1; - private System.Windows.Forms.CheckBox quitAfter1; - private System.Windows.Forms.CheckBox techTag1; - private System.Windows.Forms.CheckBox yield1; - private System.Windows.Forms.CheckBox purge1; - private System.Windows.Forms.CheckBox nosound1; - private System.Windows.Forms.CheckBox logfile1; - private System.Windows.Forms.CheckBox settings1; - private System.Windows.Forms.CheckBox outbw1; - private System.Windows.Forms.CheckBox inbw1; - private System.Windows.Forms.CheckBox drop1; - private System.Windows.Forms.CheckBox port1; - private System.Windows.Forms.TextBox nataddress1; - private System.Windows.Forms.Label label8; - private System.Windows.Forms.Label label9; - private System.Windows.Forms.TextBox exeBox1; - private System.Windows.Forms.Label label10; - private System.Windows.Forms.TextBox simBox1; - private System.Windows.Forms.TextBox portBox1; - private System.Windows.Forms.TextBox dropBox1; - private System.Windows.Forms.TextBox inbwBox1; - private System.Windows.Forms.TextBox outbwBox1; - private System.Windows.Forms.TextBox settingsBox1; - private System.Windows.Forms.TextBox logfileBox1; - private System.Windows.Forms.TextBox yieldBox1; - private System.Windows.Forms.TextBox techtagBox1; - private System.Windows.Forms.TextBox quitafterBox1; - private System.Windows.Forms.ComboBox comboBox1; - private System.Windows.Forms.CheckBox loginuri1; - private System.Windows.Forms.TextBox loginuriBox1; - private System.Windows.Forms.CheckBox set1; - private System.Windows.Forms.TextBox setBox1; - private System.Windows.Forms.CheckBox errmask1; - private System.Windows.Forms.CheckBox skin1; - private System.Windows.Forms.CheckBox login1; - private System.Windows.Forms.TextBox errmaskBox1; - private System.Windows.Forms.TextBox skinBox1; - private System.Windows.Forms.TextBox firstBox1; - private System.Windows.Forms.Label label11; - private System.Windows.Forms.Label label12; - private System.Windows.Forms.Label label13; - private System.Windows.Forms.TextBox lastBox1; - private System.Windows.Forms.TextBox passBox1; - private InputTextBoxControl txtInputUserServer; - private InputTextBoxControl txtInputAssetServer; - private InputTextBoxControl txtInputRegionServer; - private InputTextBoxControl txtInputGridServer; - private System.Windows.Forms.CheckBox raw1; - private System.Windows.Forms.TextBox rawBox1; - private System.Windows.Forms.Button clear1; - } -} - +/* +* Copyright (c) Contributors, http://opensimulator.org/ +* See CONTRIBUTORS.TXT for a full list of copyright holders. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* * Neither the name of the OpenSim Project nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +namespace OpenSim.GUI +{ + partial class Main + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + this.menuStrip1 = new System.Windows.Forms.MenuStrip(); + this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.timer1 = new System.Windows.Forms.Timer(this.components); + this.clientBox1 = new System.Windows.Forms.TextBox(); + this.btnStart = new System.Windows.Forms.Button(); + this.btnStop = new System.Windows.Forms.Button(); + this.rbGridRegionMode = new System.Windows.Forms.RadioButton(); + this.rbStandAloneMode = new System.Windows.Forms.RadioButton(); + this.rbGridServer = new System.Windows.Forms.RadioButton(); + this.Launch1 = new System.Windows.Forms.Button(); + this.gbLog = new System.Windows.Forms.GroupBox(); + this.tabLogs = new System.Windows.Forms.TabControl(); + this.tabMainLog = new System.Windows.Forms.TabPage(); + this.txtMainLog = new System.Windows.Forms.TextBox(); + this.tabRegionServer = new System.Windows.Forms.TabPage(); + this.txtInputRegionServer = new OpenSim.GUI.InputTextBoxControl(); + this.label1 = new System.Windows.Forms.Label(); + this.txtOpenSim = new System.Windows.Forms.TextBox(); + this.tabUserServer = new System.Windows.Forms.TabPage(); + this.txtInputUserServer = new OpenSim.GUI.InputTextBoxControl(); + this.label2 = new System.Windows.Forms.Label(); + this.txtUserServer = new System.Windows.Forms.TextBox(); + this.tabAssetServer = new System.Windows.Forms.TabPage(); + this.txtInputAssetServer = new OpenSim.GUI.InputTextBoxControl(); + this.label3 = new System.Windows.Forms.Label(); + this.txtAssetServer = new System.Windows.Forms.TextBox(); + this.tabGridServer = new System.Windows.Forms.TabPage(); + this.txtInputGridServer = new OpenSim.GUI.InputTextBoxControl(); + this.label4 = new System.Windows.Forms.Label(); + this.txtGridServer = new System.Windows.Forms.TextBox(); + this.label5 = new System.Windows.Forms.Label(); + this.noProbe1 = new System.Windows.Forms.CheckBox(); + this.label6 = new System.Windows.Forms.Label(); + this.multiple1 = new System.Windows.Forms.CheckBox(); + this.label7 = new System.Windows.Forms.Label(); + this.noMultiple1 = new System.Windows.Forms.CheckBox(); + this.ignorepixeldepth1 = new System.Windows.Forms.CheckBox(); + this.nothread1 = new System.Windows.Forms.CheckBox(); + this.safe1 = new System.Windows.Forms.CheckBox(); + this.noconsole1 = new System.Windows.Forms.CheckBox(); + this.log1 = new System.Windows.Forms.CheckBox(); + this.helperuri1 = new System.Windows.Forms.CheckBox(); + this.autologin1 = new System.Windows.Forms.CheckBox(); + this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); + this.dialog1 = new System.Windows.Forms.CheckBox(); + this.previous1 = new System.Windows.Forms.CheckBox(); + this.simple1 = new System.Windows.Forms.CheckBox(); + this.noinvlib1 = new System.Windows.Forms.CheckBox(); + this.debugst1 = new System.Windows.Forms.CheckBox(); + this.spanish1 = new System.Windows.Forms.CheckBox(); + this.korean1 = new System.Windows.Forms.CheckBox(); + this.local1 = new System.Windows.Forms.CheckBox(); + this.purge1 = new System.Windows.Forms.CheckBox(); + this.nofmod1 = new System.Windows.Forms.CheckBox(); + this.noaudio1 = new System.Windows.Forms.CheckBox(); + this.nosound1 = new System.Windows.Forms.CheckBox(); + this.url1 = new System.Windows.Forms.CheckBox(); + this.port1 = new System.Windows.Forms.CheckBox(); + this.simBox1 = new System.Windows.Forms.TextBox(); + this.portBox1 = new System.Windows.Forms.TextBox(); + this.user1 = new System.Windows.Forms.CheckBox(); + this.quitAfter1 = new System.Windows.Forms.CheckBox(); + this.techTag1 = new System.Windows.Forms.CheckBox(); + this.yield1 = new System.Windows.Forms.CheckBox(); + this.logfile1 = new System.Windows.Forms.CheckBox(); + this.settings1 = new System.Windows.Forms.CheckBox(); + this.outbw1 = new System.Windows.Forms.CheckBox(); + this.inbw1 = new System.Windows.Forms.CheckBox(); + this.drop1 = new System.Windows.Forms.CheckBox(); + this.dropBox1 = new System.Windows.Forms.TextBox(); + this.inbwBox1 = new System.Windows.Forms.TextBox(); + this.outbwBox1 = new System.Windows.Forms.TextBox(); + this.settingsBox1 = new System.Windows.Forms.TextBox(); + this.logfileBox1 = new System.Windows.Forms.TextBox(); + this.yieldBox1 = new System.Windows.Forms.TextBox(); + this.techtagBox1 = new System.Windows.Forms.TextBox(); + this.quitafterBox1 = new System.Windows.Forms.TextBox(); + this.comboBox1 = new System.Windows.Forms.ComboBox(); + this.loginuri1 = new System.Windows.Forms.CheckBox(); + this.loginuriBox1 = new System.Windows.Forms.TextBox(); + this.set1 = new System.Windows.Forms.CheckBox(); + this.setBox1 = new System.Windows.Forms.TextBox(); + this.errmask1 = new System.Windows.Forms.CheckBox(); + this.skin1 = new System.Windows.Forms.CheckBox(); + this.login1 = new System.Windows.Forms.CheckBox(); + this.errmaskBox1 = new System.Windows.Forms.TextBox(); + this.skinBox1 = new System.Windows.Forms.TextBox(); + this.firstBox1 = new System.Windows.Forms.TextBox(); + this.lastBox1 = new System.Windows.Forms.TextBox(); + this.noutc1 = new System.Windows.Forms.CheckBox(); + this.passBox1 = new System.Windows.Forms.TextBox(); + this.raw1 = new System.Windows.Forms.CheckBox(); + this.rawBox1 = new System.Windows.Forms.TextBox(); + this.clear1 = new System.Windows.Forms.Button(); + this.nataddress1 = new System.Windows.Forms.TextBox(); + this.label8 = new System.Windows.Forms.Label(); + this.label9 = new System.Windows.Forms.Label(); + this.exeBox1 = new System.Windows.Forms.TextBox(); + this.label10 = new System.Windows.Forms.Label(); + this.label11 = new System.Windows.Forms.Label(); + this.label12 = new System.Windows.Forms.Label(); + this.label13 = new System.Windows.Forms.Label(); + this.menuStrip1.SuspendLayout(); + this.gbLog.SuspendLayout(); + this.tabLogs.SuspendLayout(); + this.tabMainLog.SuspendLayout(); + this.tabRegionServer.SuspendLayout(); + this.tabUserServer.SuspendLayout(); + this.tabAssetServer.SuspendLayout(); + this.tabGridServer.SuspendLayout(); + this.SuspendLayout(); + // + // menuStrip1 + // + this.menuStrip1.AutoSize = false; + this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.fileToolStripMenuItem}); + this.menuStrip1.Location = new System.Drawing.Point(0, 0); + this.menuStrip1.Name = "menuStrip1"; + this.menuStrip1.Size = new System.Drawing.Size(900, 20); + this.menuStrip1.TabIndex = 7; + this.menuStrip1.Text = "menuStrip1"; + // + // fileToolStripMenuItem + // + this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.exitToolStripMenuItem}); + this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; + this.fileToolStripMenuItem.Size = new System.Drawing.Size(35, 16); + this.fileToolStripMenuItem.Text = "File"; + // + // exitToolStripMenuItem + // + this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; + this.exitToolStripMenuItem.Size = new System.Drawing.Size(130, 22); + this.exitToolStripMenuItem.Text = "Exit Cleanly"; + this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click); + // + // timer1 + // + this.timer1.Enabled = true; + // + // clientBox1 + // + this.clientBox1.Location = new System.Drawing.Point(680, 27); + this.clientBox1.Name = "clientBox1"; + this.clientBox1.Size = new System.Drawing.Size(213, 20); + this.clientBox1.TabIndex = 8; + this.clientBox1.Text = "C://Secondlife//"; + // + // btnStart + // + this.btnStart.Location = new System.Drawing.Point(7, 366); + this.btnStart.Name = "btnStart"; + this.btnStart.Size = new System.Drawing.Size(80, 23); + this.btnStart.TabIndex = 2; + this.btnStart.Text = "Start"; + this.btnStart.UseVisualStyleBackColor = true; + this.btnStart.Click += new System.EventHandler(this.btnStart_Click); + // + // btnStop + // + this.btnStop.Location = new System.Drawing.Point(92, 366); + this.btnStop.Name = "btnStop"; + this.btnStop.Size = new System.Drawing.Size(80, 23); + this.btnStop.TabIndex = 3; + this.btnStop.Text = "Stop"; + this.btnStop.UseVisualStyleBackColor = true; + this.btnStop.Click += new System.EventHandler(this.btnStop_Click); + // + // rbGridRegionMode + // + this.rbGridRegionMode.AutoSize = true; + this.rbGridRegionMode.Location = new System.Drawing.Point(96, 27); + this.rbGridRegionMode.Name = "rbGridRegionMode"; + this.rbGridRegionMode.Size = new System.Drawing.Size(76, 17); + this.rbGridRegionMode.TabIndex = 4; + this.rbGridRegionMode.Text = "Grid region"; + this.rbGridRegionMode.UseVisualStyleBackColor = true; + this.rbGridRegionMode.CheckedChanged += new System.EventHandler(this.rbGridRegionMode_CheckedChanged); + // + // rbStandAloneMode + // + this.rbStandAloneMode.AutoSize = true; + this.rbStandAloneMode.Checked = true; + this.rbStandAloneMode.Location = new System.Drawing.Point(8, 27); + this.rbStandAloneMode.Name = "rbStandAloneMode"; + this.rbStandAloneMode.Size = new System.Drawing.Size(82, 17); + this.rbStandAloneMode.TabIndex = 5; + this.rbStandAloneMode.TabStop = true; + this.rbStandAloneMode.Text = "Stand alone"; + this.rbStandAloneMode.UseVisualStyleBackColor = true; + this.rbStandAloneMode.CheckedChanged += new System.EventHandler(this.rbStandAloneMode_CheckedChanged); + // + // rbGridServer + // + this.rbGridServer.AutoSize = true; + this.rbGridServer.Location = new System.Drawing.Point(178, 27); + this.rbGridServer.Name = "rbGridServer"; + this.rbGridServer.Size = new System.Drawing.Size(76, 17); + this.rbGridServer.TabIndex = 6; + this.rbGridServer.Text = "Grid server"; + this.rbGridServer.UseVisualStyleBackColor = true; + this.rbGridServer.CheckedChanged += new System.EventHandler(this.rbGridServer_CheckedChanged); + // + // Launch1 + // + this.Launch1.Location = new System.Drawing.Point(264, 366); + this.Launch1.Name = "Launch1"; + this.Launch1.Size = new System.Drawing.Size(80, 23); + this.Launch1.TabIndex = 9; + this.Launch1.Text = "Client Launch"; + this.Launch1.UseVisualStyleBackColor = true; + this.Launch1.Click += new System.EventHandler(this.Launch1_Click); + // + // gbLog + // + this.gbLog.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.gbLog.Controls.Add(this.tabLogs); + this.gbLog.Location = new System.Drawing.Point(8, 50); + this.gbLog.Name = "gbLog"; + this.gbLog.Size = new System.Drawing.Size(345, 310); + this.gbLog.TabIndex = 1; + this.gbLog.TabStop = false; + this.gbLog.Text = "Logs"; + // + // tabLogs + // + this.tabLogs.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.tabLogs.Controls.Add(this.tabMainLog); + this.tabLogs.Controls.Add(this.tabRegionServer); + this.tabLogs.Controls.Add(this.tabUserServer); + this.tabLogs.Controls.Add(this.tabAssetServer); + this.tabLogs.Controls.Add(this.tabGridServer); + this.tabLogs.Location = new System.Drawing.Point(6, 19); + this.tabLogs.Name = "tabLogs"; + this.tabLogs.SelectedIndex = 0; + this.tabLogs.Size = new System.Drawing.Size(333, 285); + this.tabLogs.TabIndex = 0; + // + // tabMainLog + // + this.tabMainLog.Controls.Add(this.txtMainLog); + this.tabMainLog.Location = new System.Drawing.Point(4, 22); + this.tabMainLog.Name = "tabMainLog"; + this.tabMainLog.Size = new System.Drawing.Size(325, 259); + this.tabMainLog.TabIndex = 4; + this.tabMainLog.Text = "Main log"; + this.tabMainLog.UseVisualStyleBackColor = true; + // + // txtMainLog + // + this.txtMainLog.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtMainLog.Location = new System.Drawing.Point(0, 0); + this.txtMainLog.Multiline = true; + this.txtMainLog.Name = "txtMainLog"; + this.txtMainLog.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; + this.txtMainLog.Size = new System.Drawing.Size(325, 259); + this.txtMainLog.TabIndex = 1; + // + // tabRegionServer + // + this.tabRegionServer.Controls.Add(this.txtInputRegionServer); + this.tabRegionServer.Controls.Add(this.label1); + this.tabRegionServer.Controls.Add(this.txtOpenSim); + this.tabRegionServer.Location = new System.Drawing.Point(4, 22); + this.tabRegionServer.Name = "tabRegionServer"; + this.tabRegionServer.Padding = new System.Windows.Forms.Padding(3); + this.tabRegionServer.Size = new System.Drawing.Size(325, 259); + this.tabRegionServer.TabIndex = 0; + this.tabRegionServer.Text = "Region server"; + this.tabRegionServer.UseVisualStyleBackColor = true; + // + // txtInputRegionServer + // + this.txtInputRegionServer.Location = new System.Drawing.Point(53, 239); + this.txtInputRegionServer.Name = "txtInputRegionServer"; + this.txtInputRegionServer.Size = new System.Drawing.Size(272, 20); + this.txtInputRegionServer.TabIndex = 5; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(0, 242); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(57, 13); + this.label1.TabIndex = 4; + this.label1.Text = "Command:"; + // + // txtOpenSim + // + this.txtOpenSim.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtOpenSim.Location = new System.Drawing.Point(0, 0); + this.txtOpenSim.Multiline = true; + this.txtOpenSim.Name = "txtOpenSim"; + this.txtOpenSim.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; + this.txtOpenSim.Size = new System.Drawing.Size(325, 236); + this.txtOpenSim.TabIndex = 0; + // + // tabUserServer + // + this.tabUserServer.Controls.Add(this.txtInputUserServer); + this.tabUserServer.Controls.Add(this.label2); + this.tabUserServer.Controls.Add(this.txtUserServer); + this.tabUserServer.Location = new System.Drawing.Point(4, 22); + this.tabUserServer.Name = "tabUserServer"; + this.tabUserServer.Padding = new System.Windows.Forms.Padding(3); + this.tabUserServer.Size = new System.Drawing.Size(325, 259); + this.tabUserServer.TabIndex = 1; + this.tabUserServer.Text = "User server"; + this.tabUserServer.UseVisualStyleBackColor = true; + // + // txtInputUserServer + // + this.txtInputUserServer.Location = new System.Drawing.Point(53, 239); + this.txtInputUserServer.Name = "txtInputUserServer"; + this.txtInputUserServer.Size = new System.Drawing.Size(272, 20); + this.txtInputUserServer.TabIndex = 7; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(0, 242); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(57, 13); + this.label2.TabIndex = 6; + this.label2.Text = "Command:"; + // + // txtUserServer + // + this.txtUserServer.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtUserServer.Location = new System.Drawing.Point(0, 0); + this.txtUserServer.Multiline = true; + this.txtUserServer.Name = "txtUserServer"; + this.txtUserServer.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; + this.txtUserServer.Size = new System.Drawing.Size(325, 236); + this.txtUserServer.TabIndex = 1; + // + // tabAssetServer + // + this.tabAssetServer.Controls.Add(this.txtInputAssetServer); + this.tabAssetServer.Controls.Add(this.label3); + this.tabAssetServer.Controls.Add(this.txtAssetServer); + this.tabAssetServer.Location = new System.Drawing.Point(4, 22); + this.tabAssetServer.Name = "tabAssetServer"; + this.tabAssetServer.Size = new System.Drawing.Size(325, 259); + this.tabAssetServer.TabIndex = 2; + this.tabAssetServer.Text = "Asset server"; + this.tabAssetServer.UseVisualStyleBackColor = true; + // + // txtInputAssetServer + // + this.txtInputAssetServer.Location = new System.Drawing.Point(53, 239); + this.txtInputAssetServer.Name = "txtInputAssetServer"; + this.txtInputAssetServer.Size = new System.Drawing.Size(272, 20); + this.txtInputAssetServer.TabIndex = 7; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(0, 242); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(57, 13); + this.label3.TabIndex = 6; + this.label3.Text = "Command:"; + // + // txtAssetServer + // + this.txtAssetServer.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtAssetServer.Location = new System.Drawing.Point(0, 0); + this.txtAssetServer.Multiline = true; + this.txtAssetServer.Name = "txtAssetServer"; + this.txtAssetServer.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; + this.txtAssetServer.Size = new System.Drawing.Size(325, 236); + this.txtAssetServer.TabIndex = 1; + // + // tabGridServer + // + this.tabGridServer.Controls.Add(this.txtInputGridServer); + this.tabGridServer.Controls.Add(this.label4); + this.tabGridServer.Controls.Add(this.txtGridServer); + this.tabGridServer.Location = new System.Drawing.Point(4, 22); + this.tabGridServer.Name = "tabGridServer"; + this.tabGridServer.Size = new System.Drawing.Size(325, 259); + this.tabGridServer.TabIndex = 3; + this.tabGridServer.Text = "Grid server"; + this.tabGridServer.UseVisualStyleBackColor = true; + // + // txtInputGridServer + // + this.txtInputGridServer.Location = new System.Drawing.Point(53, 239); + this.txtInputGridServer.Name = "txtInputGridServer"; + this.txtInputGridServer.Size = new System.Drawing.Size(272, 20); + this.txtInputGridServer.TabIndex = 7; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(0, 242); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(57, 13); + this.label4.TabIndex = 6; + this.label4.Text = "Command:"; + // + // txtGridServer + // + this.txtGridServer.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtGridServer.Location = new System.Drawing.Point(0, 0); + this.txtGridServer.Multiline = true; + this.txtGridServer.Name = "txtGridServer"; + this.txtGridServer.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; + this.txtGridServer.Size = new System.Drawing.Size(325, 236); + this.txtGridServer.TabIndex = 1; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label5.Location = new System.Drawing.Point(460, 55); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(205, 20); + this.label5.TabIndex = 11; + this.label5.Text = "Command Line Switches"; + // + // noProbe1 + // + this.noProbe1.AutoSize = true; + this.noProbe1.Location = new System.Drawing.Point(359, 275); + this.noProbe1.Name = "noProbe1"; + this.noProbe1.Size = new System.Drawing.Size(68, 17); + this.noProbe1.TabIndex = 12; + this.noProbe1.Text = "-noprobe"; + this.toolTip1.SetToolTip(this.noProbe1, "disable hardware probe"); + this.noProbe1.UseVisualStyleBackColor = true; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(8, 415); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(0, 13); + this.label6.TabIndex = 14; + this.label6.Click += new System.EventHandler(this.label6_Click); + // + // multiple1 + // + this.multiple1.AutoSize = true; + this.multiple1.Location = new System.Drawing.Point(359, 185); + this.multiple1.Name = "multiple1"; + this.multiple1.Size = new System.Drawing.Size(64, 17); + this.multiple1.TabIndex = 15; + this.multiple1.Text = "-multiple"; + this.toolTip1.SetToolTip(this.multiple1, "allow multiple viewers"); + this.multiple1.UseVisualStyleBackColor = true; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label7.Location = new System.Drawing.Point(8, 396); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(338, 13); + this.label7.TabIndex = 16; + this.label7.Text = "Client Command Line String Used and Program Messages :"; + // + // noMultiple1 + // + this.noMultiple1.AutoSize = true; + this.noMultiple1.Location = new System.Drawing.Point(359, 260); + this.noMultiple1.Name = "noMultiple1"; + this.noMultiple1.Size = new System.Drawing.Size(76, 17); + this.noMultiple1.TabIndex = 17; + this.noMultiple1.Text = "-nomultiple"; + this.toolTip1.SetToolTip(this.noMultiple1, "block multiple viewers (secondlife.exe instances)"); + this.noMultiple1.UseVisualStyleBackColor = true; + // + // ignorepixeldepth1 + // + this.ignorepixeldepth1.AutoSize = true; + this.ignorepixeldepth1.Location = new System.Drawing.Point(359, 125); + this.ignorepixeldepth1.Name = "ignorepixeldepth1"; + this.ignorepixeldepth1.Size = new System.Drawing.Size(106, 17); + this.ignorepixeldepth1.TabIndex = 18; + this.ignorepixeldepth1.Text = "-ignorepixeldepth"; + this.toolTip1.SetToolTip(this.ignorepixeldepth1, "ignore pixel depth settings"); + this.ignorepixeldepth1.UseVisualStyleBackColor = true; + // + // nothread1 + // + this.nothread1.AutoSize = true; + this.nothread1.Location = new System.Drawing.Point(359, 305); + this.nothread1.Name = "nothread1"; + this.nothread1.Size = new System.Drawing.Size(71, 17); + this.nothread1.TabIndex = 19; + this.nothread1.Text = "-nothread"; + this.toolTip1.SetToolTip(this.nothread1, "run VFS (Virtual File System) in single thread"); + this.nothread1.UseVisualStyleBackColor = true; + // + // safe1 + // + this.safe1.AutoSize = true; + this.safe1.Location = new System.Drawing.Point(359, 365); + this.safe1.Name = "safe1"; + this.safe1.Size = new System.Drawing.Size(49, 17); + this.safe1.TabIndex = 20; + this.safe1.Text = "-safe"; + this.toolTip1.SetToolTip(this.safe1, "reset preferences, run in safe mode"); + this.safe1.UseVisualStyleBackColor = true; + // + // noconsole1 + // + this.noconsole1.AutoSize = true; + this.noconsole1.Location = new System.Drawing.Point(359, 215); + this.noconsole1.Name = "noconsole1"; + this.noconsole1.Size = new System.Drawing.Size(78, 17); + this.noconsole1.TabIndex = 21; + this.noconsole1.Text = "-noconsole"; + this.toolTip1.SetToolTip(this.noconsole1, "hide the console if not already hidden"); + this.noconsole1.UseVisualStyleBackColor = true; + // + // log1 + // + this.log1.AutoSize = true; + this.log1.Location = new System.Drawing.Point(359, 170); + this.log1.Name = "log1"; + this.log1.Size = new System.Drawing.Size(43, 17); + this.log1.TabIndex = 22; + this.log1.Text = "-log"; + this.toolTip1.SetToolTip(this.log1, "--no info avail--"); + this.log1.UseVisualStyleBackColor = true; + // + // helperuri1 + // + this.helperuri1.AutoSize = true; + this.helperuri1.Location = new System.Drawing.Point(359, 110); + this.helperuri1.Name = "helperuri1"; + this.helperuri1.Size = new System.Drawing.Size(69, 17); + this.helperuri1.TabIndex = 23; + this.helperuri1.Text = "-helperuri"; + this.toolTip1.SetToolTip(this.helperuri1, "--no info avail--"); + this.helperuri1.UseVisualStyleBackColor = true; + // + // autologin1 + // + this.autologin1.AutoSize = true; + this.autologin1.Location = new System.Drawing.Point(359, 65); + this.autologin1.Name = "autologin1"; + this.autologin1.Size = new System.Drawing.Size(75, 17); + this.autologin1.TabIndex = 24; + this.autologin1.Text = "--autologin"; + this.toolTip1.SetToolTip(this.autologin1, "--no info avail--"); + this.autologin1.UseVisualStyleBackColor = true; + // + // dialog1 + // + this.dialog1.AutoSize = true; + this.dialog1.Location = new System.Drawing.Point(359, 95); + this.dialog1.Name = "dialog1"; + this.dialog1.Size = new System.Drawing.Size(57, 17); + this.dialog1.TabIndex = 25; + this.dialog1.Text = "-dialog"; + this.toolTip1.SetToolTip(this.dialog1, "some arcane dialog box that is impossible to raise"); + this.dialog1.UseVisualStyleBackColor = true; + // + // previous1 + // + this.previous1.AutoSize = true; + this.previous1.Location = new System.Drawing.Point(359, 335); + this.previous1.Name = "previous1"; + this.previous1.Size = new System.Drawing.Size(69, 17); + this.previous1.TabIndex = 26; + this.previous1.Text = "-previous"; + this.toolTip1.SetToolTip(this.previous1, "--no info avail--"); + this.previous1.UseVisualStyleBackColor = true; + // + // simple1 + // + this.simple1.AutoSize = true; + this.simple1.Location = new System.Drawing.Point(359, 380); + this.simple1.Name = "simple1"; + this.simple1.Size = new System.Drawing.Size(58, 17); + this.simple1.TabIndex = 27; + this.simple1.Text = "-simple"; + this.toolTip1.SetToolTip(this.simple1, "--no info avail--"); + this.simple1.UseVisualStyleBackColor = true; + // + // noinvlib1 + // + this.noinvlib1.AutoSize = true; + this.noinvlib1.Location = new System.Drawing.Point(359, 245); + this.noinvlib1.Name = "noinvlib1"; + this.noinvlib1.Size = new System.Drawing.Size(65, 17); + this.noinvlib1.TabIndex = 28; + this.noinvlib1.Text = "-noinvlib"; + this.toolTip1.SetToolTip(this.noinvlib1, "do not request inventory library"); + this.noinvlib1.UseVisualStyleBackColor = true; + // + // debugst1 + // + this.debugst1.AutoSize = true; + this.debugst1.Location = new System.Drawing.Point(359, 80); + this.debugst1.Name = "debugst1"; + this.debugst1.Size = new System.Drawing.Size(67, 17); + this.debugst1.TabIndex = 30; + this.debugst1.Text = "-debugst"; + this.toolTip1.SetToolTip(this.debugst1, "debug mask"); + this.debugst1.UseVisualStyleBackColor = true; + // + // spanish1 + // + this.spanish1.AutoSize = true; + this.spanish1.Location = new System.Drawing.Point(359, 395); + this.spanish1.Name = "spanish1"; + this.spanish1.Size = new System.Drawing.Size(65, 17); + this.spanish1.TabIndex = 31; + this.spanish1.Text = "-spanish"; + this.toolTip1.SetToolTip(this.spanish1, "activate (incomplete) Spanish UI translation"); + this.spanish1.UseVisualStyleBackColor = true; + // + // korean1 + // + this.korean1.AutoSize = true; + this.korean1.Location = new System.Drawing.Point(359, 140); + this.korean1.Name = "korean1"; + this.korean1.Size = new System.Drawing.Size(62, 17); + this.korean1.TabIndex = 32; + this.korean1.Text = "-korean"; + this.toolTip1.SetToolTip(this.korean1, "activate (incomplete) Korean UI translation"); + this.korean1.UseVisualStyleBackColor = true; + // + // local1 + // + this.local1.AutoSize = true; + this.local1.Location = new System.Drawing.Point(359, 155); + this.local1.Name = "local1"; + this.local1.Size = new System.Drawing.Size(51, 17); + this.local1.TabIndex = 46; + this.local1.Text = "-local"; + this.toolTip1.SetToolTip(this.local1, "run without simulator"); + this.local1.UseVisualStyleBackColor = true; + // + // purge1 + // + this.purge1.AutoSize = true; + this.purge1.Location = new System.Drawing.Point(359, 350); + this.purge1.Name = "purge1"; + this.purge1.Size = new System.Drawing.Size(56, 17); + this.purge1.TabIndex = 56; + this.purge1.Text = "-purge"; + this.toolTip1.SetToolTip(this.purge1, "delete files in cache"); + this.purge1.UseVisualStyleBackColor = true; + // + // nofmod1 + // + this.nofmod1.AutoSize = true; + this.nofmod1.Location = new System.Drawing.Point(359, 230); + this.nofmod1.Name = "nofmod1"; + this.nofmod1.Size = new System.Drawing.Size(64, 17); + this.nofmod1.TabIndex = 45; + this.nofmod1.Text = "-nofmod"; + this.toolTip1.SetToolTip(this.nofmod1, "FMOD is the API used to distort sound while moving"); + this.nofmod1.UseVisualStyleBackColor = true; + // + // noaudio1 + // + this.noaudio1.AutoSize = true; + this.noaudio1.Location = new System.Drawing.Point(359, 200); + this.noaudio1.Name = "noaudio1"; + this.noaudio1.Size = new System.Drawing.Size(67, 17); + this.noaudio1.TabIndex = 44; + this.noaudio1.Text = "-noaudio"; + this.toolTip1.SetToolTip(this.noaudio1, "no audio, different from -nosound?"); + this.noaudio1.UseVisualStyleBackColor = true; + // + // nosound1 + // + this.nosound1.AutoSize = true; + this.nosound1.Location = new System.Drawing.Point(359, 290); + this.nosound1.Name = "nosound1"; + this.nosound1.Size = new System.Drawing.Size(70, 17); + this.nosound1.TabIndex = 55; + this.nosound1.Text = "-nosound"; + this.toolTip1.SetToolTip(this.nosound1, "no sound, different from -noaudio?"); + this.nosound1.UseVisualStyleBackColor = true; + // + // url1 + // + this.url1.AutoSize = true; + this.url1.Location = new System.Drawing.Point(488, 245); + this.url1.Name = "url1"; + this.url1.Size = new System.Drawing.Size(40, 17); + this.url1.TabIndex = 43; + this.url1.Text = "-url"; + this.toolTip1.SetToolTip(this.url1, "handles secondlife://sim/x/y/z URLs"); + this.url1.UseVisualStyleBackColor = true; + // + // port1 + // + this.port1.AutoSize = true; + this.port1.Location = new System.Drawing.Point(488, 171); + this.port1.Name = "port1"; + this.port1.Size = new System.Drawing.Size(47, 17); + this.port1.TabIndex = 49; + this.port1.Text = "-port"; + this.toolTip1.SetToolTip(this.port1, "Set the TCP port for the client; useful to run multiple instances of SL on the sa" + + "me local home network. Values that may work: 13000 and 13001 (Valid numbers are " + + "13000 to 13050)"); + this.port1.UseVisualStyleBackColor = true; + // + // simBox1 + // + this.simBox1.Location = new System.Drawing.Point(549, 243); + this.simBox1.Name = "simBox1"; + this.simBox1.Size = new System.Drawing.Size(344, 20); + this.simBox1.TabIndex = 66; + this.simBox1.Text = "secondlife://lutra/127/128/60"; + this.toolTip1.SetToolTip(this.simBox1, "type URL here"); + // + // portBox1 + // + this.portBox1.Location = new System.Drawing.Point(549, 169); + this.portBox1.Name = "portBox1"; + this.portBox1.Size = new System.Drawing.Size(58, 20); + this.portBox1.TabIndex = 67; + this.portBox1.Text = "13000"; + this.toolTip1.SetToolTip(this.portBox1, "enter port number here"); + // + // user1 + // + this.user1.AutoSize = true; + this.user1.Location = new System.Drawing.Point(488, 191); + this.user1.Name = "user1"; + this.user1.Size = new System.Drawing.Size(49, 17); + this.user1.TabIndex = 42; + this.user1.Text = "-user"; + this.user1.ThreeState = true; + this.toolTip1.SetToolTip(this.user1, "specify user server in dotted quad"); + this.user1.UseVisualStyleBackColor = true; + // + // quitAfter1 + // + this.quitAfter1.AutoSize = true; + this.quitAfter1.Location = new System.Drawing.Point(680, 65); + this.quitAfter1.Name = "quitAfter1"; + this.quitAfter1.Size = new System.Drawing.Size(67, 17); + this.quitAfter1.TabIndex = 41; + this.quitAfter1.Text = "-quitafter"; + this.toolTip1.SetToolTip(this.quitAfter1, "SL quits after elapsed time in seconds"); + this.quitAfter1.UseVisualStyleBackColor = true; + // + // techTag1 + // + this.techTag1.AutoSize = true; + this.techTag1.Location = new System.Drawing.Point(488, 211); + this.techTag1.Name = "techTag1"; + this.techTag1.Size = new System.Drawing.Size(65, 17); + this.techTag1.TabIndex = 47; + this.techTag1.Text = "-techtag"; + this.toolTip1.SetToolTip(this.techTag1, "unknown (but requires a parameter)"); + this.techTag1.UseVisualStyleBackColor = true; + // + // yield1 + // + this.yield1.AutoSize = true; + this.yield1.Location = new System.Drawing.Point(488, 91); + this.yield1.Name = "yield1"; + this.yield1.Size = new System.Drawing.Size(50, 17); + this.yield1.TabIndex = 48; + this.yield1.Text = "-yield"; + this.toolTip1.SetToolTip(this.yield1, "yield some idle time to local host (changed from - cooperative)"); + this.yield1.UseVisualStyleBackColor = true; + // + // logfile1 + // + this.logfile1.AutoSize = true; + this.logfile1.Location = new System.Drawing.Point(680, 125); + this.logfile1.Name = "logfile1"; + this.logfile1.Size = new System.Drawing.Size(56, 17); + this.logfile1.TabIndex = 54; + this.logfile1.Text = "-logfile"; + this.toolTip1.SetToolTip(this.logfile1, "change the log filename"); + this.logfile1.UseVisualStyleBackColor = true; + // + // settings1 + // + this.settings1.AutoSize = true; + this.settings1.Location = new System.Drawing.Point(680, 95); + this.settings1.Name = "settings1"; + this.settings1.Size = new System.Drawing.Size(65, 17); + this.settings1.TabIndex = 53; + this.settings1.Text = "-settings"; + this.toolTip1.SetToolTip(this.settings1, "specify configuration filename; default is \"settings.ini\""); + this.settings1.UseVisualStyleBackColor = true; + // + // outbw1 + // + this.outbw1.AutoSize = true; + this.outbw1.Location = new System.Drawing.Point(488, 111); + this.outbw1.Name = "outbw1"; + this.outbw1.Size = new System.Drawing.Size(58, 17); + this.outbw1.TabIndex = 52; + this.outbw1.Text = "-outbw"; + this.toolTip1.SetToolTip(this.outbw1, "set outgoing bandwidth"); + this.outbw1.UseVisualStyleBackColor = true; + // + // inbw1 + // + this.inbw1.AutoSize = true; + this.inbw1.Location = new System.Drawing.Point(488, 131); + this.inbw1.Name = "inbw1"; + this.inbw1.Size = new System.Drawing.Size(51, 17); + this.inbw1.TabIndex = 51; + this.inbw1.Text = "-inbw"; + this.toolTip1.SetToolTip(this.inbw1, "set incoming bandwidth"); + this.inbw1.UseVisualStyleBackColor = true; + // + // drop1 + // + this.drop1.AutoSize = true; + this.drop1.Location = new System.Drawing.Point(488, 151); + this.drop1.Name = "drop1"; + this.drop1.Size = new System.Drawing.Size(50, 17); + this.drop1.TabIndex = 50; + this.drop1.Text = "-drop"; + this.toolTip1.SetToolTip(this.drop1, "drop number% of incoming network packets"); + this.drop1.UseVisualStyleBackColor = true; + // + // dropBox1 + // + this.dropBox1.Location = new System.Drawing.Point(549, 149); + this.dropBox1.Name = "dropBox1"; + this.dropBox1.Size = new System.Drawing.Size(58, 20); + this.dropBox1.TabIndex = 68; + this.dropBox1.Text = "0"; + this.toolTip1.SetToolTip(this.dropBox1, "enter percent of packets to drop"); + // + // inbwBox1 + // + this.inbwBox1.Location = new System.Drawing.Point(549, 129); + this.inbwBox1.Name = "inbwBox1"; + this.inbwBox1.Size = new System.Drawing.Size(57, 20); + this.inbwBox1.TabIndex = 69; + this.toolTip1.SetToolTip(this.inbwBox1, "enter incoming cap"); + // + // outbwBox1 + // + this.outbwBox1.Location = new System.Drawing.Point(549, 109); + this.outbwBox1.Name = "outbwBox1"; + this.outbwBox1.Size = new System.Drawing.Size(58, 20); + this.outbwBox1.TabIndex = 70; + this.toolTip1.SetToolTip(this.outbwBox1, "enter outgoing cap"); + // + // settingsBox1 + // + this.settingsBox1.Location = new System.Drawing.Point(741, 93); + this.settingsBox1.Name = "settingsBox1"; + this.settingsBox1.Size = new System.Drawing.Size(152, 20); + this.settingsBox1.TabIndex = 71; + this.settingsBox1.Text = "settings.ini"; + this.toolTip1.SetToolTip(this.settingsBox1, "enter settings file name"); + // + // logfileBox1 + // + this.logfileBox1.Location = new System.Drawing.Point(733, 123); + this.logfileBox1.Name = "logfileBox1"; + this.logfileBox1.Size = new System.Drawing.Size(160, 20); + this.logfileBox1.TabIndex = 72; + this.logfileBox1.Text = "mylogfile.txt"; + this.toolTip1.SetToolTip(this.logfileBox1, "enter log file name here"); + // + // yieldBox1 + // + this.yieldBox1.Location = new System.Drawing.Point(549, 89); + this.yieldBox1.Name = "yieldBox1"; + this.yieldBox1.Size = new System.Drawing.Size(58, 20); + this.yieldBox1.TabIndex = 73; + this.toolTip1.SetToolTip(this.yieldBox1, "enter time to yield in "); + // + // techtagBox1 + // + this.techtagBox1.Location = new System.Drawing.Point(549, 209); + this.techtagBox1.Name = "techtagBox1"; + this.techtagBox1.Size = new System.Drawing.Size(58, 20); + this.techtagBox1.TabIndex = 74; + this.toolTip1.SetToolTip(this.techtagBox1, "enter unknown param here"); + // + // quitafterBox1 + // + this.quitafterBox1.Location = new System.Drawing.Point(745, 63); + this.quitafterBox1.Name = "quitafterBox1"; + this.quitafterBox1.Size = new System.Drawing.Size(148, 20); + this.quitafterBox1.TabIndex = 75; + this.toolTip1.SetToolTip(this.quitafterBox1, "enter time in seconds"); + // + // comboBox1 + // + this.comboBox1.FormattingEnabled = true; + this.comboBox1.Items.AddRange(new object[] { + "agni", + "colo", + "dmz", + "durga", + "siva"}); + this.comboBox1.Location = new System.Drawing.Point(549, 189); + this.comboBox1.Name = "comboBox1"; + this.comboBox1.Size = new System.Drawing.Size(58, 21); + this.comboBox1.TabIndex = 76; + this.comboBox1.Text = "agni"; + this.toolTip1.SetToolTip(this.comboBox1, "select LL user server"); + // + // loginuri1 + // + this.loginuri1.AutoSize = true; + this.loginuri1.Location = new System.Drawing.Point(488, 275); + this.loginuri1.Name = "loginuri1"; + this.loginuri1.Size = new System.Drawing.Size(62, 17); + this.loginuri1.TabIndex = 77; + this.loginuri1.Text = "-loginuri"; + this.toolTip1.SetToolTip(this.loginuri1, "login server and CGI script to use"); + this.loginuri1.UseVisualStyleBackColor = true; + // + // loginuriBox1 + // + this.loginuriBox1.Location = new System.Drawing.Point(549, 273); + this.loginuriBox1.Name = "loginuriBox1"; + this.loginuriBox1.Size = new System.Drawing.Size(344, 20); + this.loginuriBox1.TabIndex = 78; + this.loginuriBox1.Text = "localhost:9000"; + this.toolTip1.SetToolTip(this.loginuriBox1, "enter login url here"); + // + // set1 + // + this.set1.AutoSize = true; + this.set1.Location = new System.Drawing.Point(636, 185); + this.set1.Name = "set1"; + this.set1.Size = new System.Drawing.Size(43, 17); + this.set1.TabIndex = 79; + this.set1.Text = "-set"; + this.toolTip1.SetToolTip(this.set1, "specify value of a particular configuration variable; can be used multiple times " + + "in a single command-line"); + this.set1.UseVisualStyleBackColor = true; + // + // setBox1 + // + this.setBox1.Location = new System.Drawing.Point(680, 183); + this.setBox1.Name = "setBox1"; + this.setBox1.Size = new System.Drawing.Size(213, 20); + this.setBox1.TabIndex = 80; + this.setBox1.Text = "SystemLanguage en-us"; + this.toolTip1.SetToolTip(this.setBox1, "enter params"); + // + // errmask1 + // + this.errmask1.AutoSize = true; + this.errmask1.Location = new System.Drawing.Point(636, 154); + this.errmask1.Name = "errmask1"; + this.errmask1.Size = new System.Drawing.Size(66, 17); + this.errmask1.TabIndex = 81; + this.errmask1.Text = "-errmask"; + this.toolTip1.SetToolTip(this.errmask1, "32-bit bitmask for error type mask"); + this.errmask1.UseVisualStyleBackColor = true; + // + // skin1 + // + this.skin1.AutoSize = true; + this.skin1.Location = new System.Drawing.Point(635, 215); + this.skin1.Name = "skin1"; + this.skin1.Size = new System.Drawing.Size(48, 17); + this.skin1.TabIndex = 82; + this.skin1.Text = "-skin"; + this.toolTip1.SetToolTip(this.skin1, "load skins//skin.xml as the default UI appearance (incomplete)"); + this.skin1.UseVisualStyleBackColor = true; + // + // login1 + // + this.login1.AutoSize = true; + this.login1.Location = new System.Drawing.Point(457, 304); + this.login1.Name = "login1"; + this.login1.Size = new System.Drawing.Size(51, 17); + this.login1.TabIndex = 83; + this.login1.Text = "-login"; + this.toolTip1.SetToolTip(this.login1, "log in as a user"); + this.login1.UseVisualStyleBackColor = true; + // + // errmaskBox1 + // + this.errmaskBox1.Location = new System.Drawing.Point(704, 153); + this.errmaskBox1.Name = "errmaskBox1"; + this.errmaskBox1.Size = new System.Drawing.Size(189, 20); + this.errmaskBox1.TabIndex = 84; + this.toolTip1.SetToolTip(this.errmaskBox1, "32-bit bitmask for error type mask"); + // + // skinBox1 + // + this.skinBox1.Location = new System.Drawing.Point(679, 213); + this.skinBox1.Name = "skinBox1"; + this.skinBox1.Size = new System.Drawing.Size(214, 20); + this.skinBox1.TabIndex = 85; + this.skinBox1.Text = "C://Secondlife//"; + this.toolTip1.SetToolTip(this.skinBox1, "enter directory where skin.xml is"); + // + // firstBox1 + // + this.firstBox1.Location = new System.Drawing.Point(549, 303); + this.firstBox1.Name = "firstBox1"; + this.firstBox1.Size = new System.Drawing.Size(80, 20); + this.firstBox1.TabIndex = 86; + this.firstBox1.Text = "Test"; + this.toolTip1.SetToolTip(this.firstBox1, "firstname"); + // + // lastBox1 + // + this.lastBox1.Location = new System.Drawing.Point(668, 303); + this.lastBox1.Name = "lastBox1"; + this.lastBox1.Size = new System.Drawing.Size(80, 20); + this.lastBox1.TabIndex = 92; + this.lastBox1.Text = "User"; + this.toolTip1.SetToolTip(this.lastBox1, "lastname"); + // + // noutc1 + // + this.noutc1.AutoSize = true; + this.noutc1.Location = new System.Drawing.Point(359, 320); + this.noutc1.Name = "noutc1"; + this.noutc1.Size = new System.Drawing.Size(56, 17); + this.noutc1.TabIndex = 29; + this.noutc1.Text = "-noutc"; + this.toolTip1.SetToolTip(this.noutc1, "logs in local time, not UTC"); + this.noutc1.UseVisualStyleBackColor = true; + // + // passBox1 + // + this.passBox1.Location = new System.Drawing.Point(790, 303); + this.passBox1.Name = "passBox1"; + this.passBox1.Size = new System.Drawing.Size(103, 20); + this.passBox1.TabIndex = 93; + this.passBox1.Text = "test"; + this.toolTip1.SetToolTip(this.passBox1, "password"); + // + // raw1 + // + this.raw1.AutoSize = true; + this.raw1.Location = new System.Drawing.Point(457, 336); + this.raw1.Name = "raw1"; + this.raw1.Size = new System.Drawing.Size(81, 17); + this.raw1.TabIndex = 94; + this.raw1.Text = "Raw CMD :"; + this.toolTip1.SetToolTip(this.raw1, "Raw CMD options, may crash everything"); + this.raw1.UseVisualStyleBackColor = true; + // + // rawBox1 + // + this.rawBox1.Location = new System.Drawing.Point(549, 333); + this.rawBox1.Name = "rawBox1"; + this.rawBox1.Size = new System.Drawing.Size(344, 20); + this.rawBox1.TabIndex = 95; + this.toolTip1.SetToolTip(this.rawBox1, "Raw CMD options, may crash everything"); + // + // clear1 + // + this.clear1.Location = new System.Drawing.Point(178, 366); + this.clear1.Name = "clear1"; + this.clear1.Size = new System.Drawing.Size(80, 23); + this.clear1.TabIndex = 96; + this.clear1.Text = "Clear"; + this.toolTip1.SetToolTip(this.clear1, "clear all switch boxes"); + this.clear1.UseVisualStyleBackColor = true; + this.clear1.Click += new System.EventHandler(this.clear1_Click); + // + // nataddress1 + // + this.nataddress1.Location = new System.Drawing.Point(457, 389); + this.nataddress1.Name = "nataddress1"; + this.nataddress1.Size = new System.Drawing.Size(436, 20); + this.nataddress1.TabIndex = 58; + this.nataddress1.Text = "UNUSED ATM"; + this.nataddress1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label8.Location = new System.Drawing.Point(588, 360); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(175, 20); + this.label8.TabIndex = 59; + this.label8.Text = "World/NAT Address :"; + // + // label9 + // + this.label9.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label9.Location = new System.Drawing.Point(633, 27); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(47, 20); + this.label9.TabIndex = 60; + this.label9.Text = "Path :"; + this.label9.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // exeBox1 + // + this.exeBox1.Location = new System.Drawing.Point(530, 27); + this.exeBox1.Name = "exeBox1"; + this.exeBox1.Size = new System.Drawing.Size(100, 20); + this.exeBox1.TabIndex = 61; + this.exeBox1.Text = "Secondlife.exe"; + // + // label10 + // + this.label10.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label10.Location = new System.Drawing.Point(392, 27); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(138, 20); + this.label10.TabIndex = 62; + this.label10.Text = "Executable Name :"; + this.label10.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // label11 + // + this.label11.AutoSize = true; + this.label11.Location = new System.Drawing.Point(514, 306); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(32, 13); + this.label11.TabIndex = 89; + this.label11.Text = "First :"; + // + // label12 + // + this.label12.AutoSize = true; + this.label12.Location = new System.Drawing.Point(632, 306); + this.label12.Name = "label12"; + this.label12.Size = new System.Drawing.Size(33, 13); + this.label12.TabIndex = 90; + this.label12.Text = "Last :"; + // + // label13 + // + this.label13.AutoSize = true; + this.label13.Location = new System.Drawing.Point(751, 306); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(36, 13); + this.label13.TabIndex = 91; + this.label13.Text = "Pass :"; + // + // Main + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(900, 431); + this.Controls.Add(this.clear1); + this.Controls.Add(this.rawBox1); + this.Controls.Add(this.raw1); + this.Controls.Add(this.passBox1); + this.Controls.Add(this.lastBox1); + this.Controls.Add(this.label13); + this.Controls.Add(this.label12); + this.Controls.Add(this.label11); + this.Controls.Add(this.firstBox1); + this.Controls.Add(this.skinBox1); + this.Controls.Add(this.errmaskBox1); + this.Controls.Add(this.login1); + this.Controls.Add(this.skin1); + this.Controls.Add(this.errmask1); + this.Controls.Add(this.setBox1); + this.Controls.Add(this.set1); + this.Controls.Add(this.loginuriBox1); + this.Controls.Add(this.loginuri1); + this.Controls.Add(this.comboBox1); + this.Controls.Add(this.quitafterBox1); + this.Controls.Add(this.techtagBox1); + this.Controls.Add(this.yieldBox1); + this.Controls.Add(this.logfileBox1); + this.Controls.Add(this.settingsBox1); + this.Controls.Add(this.outbwBox1); + this.Controls.Add(this.inbwBox1); + this.Controls.Add(this.dropBox1); + this.Controls.Add(this.portBox1); + this.Controls.Add(this.simBox1); + this.Controls.Add(this.label10); + this.Controls.Add(this.exeBox1); + this.Controls.Add(this.label9); + this.Controls.Add(this.label8); + this.Controls.Add(this.nataddress1); + this.Controls.Add(this.purge1); + this.Controls.Add(this.nosound1); + this.Controls.Add(this.logfile1); + this.Controls.Add(this.settings1); + this.Controls.Add(this.outbw1); + this.Controls.Add(this.inbw1); + this.Controls.Add(this.drop1); + this.Controls.Add(this.port1); + this.Controls.Add(this.yield1); + this.Controls.Add(this.techTag1); + this.Controls.Add(this.local1); + this.Controls.Add(this.nofmod1); + this.Controls.Add(this.noaudio1); + this.Controls.Add(this.url1); + this.Controls.Add(this.user1); + this.Controls.Add(this.quitAfter1); + this.Controls.Add(this.korean1); + this.Controls.Add(this.spanish1); + this.Controls.Add(this.debugst1); + this.Controls.Add(this.noutc1); + this.Controls.Add(this.noinvlib1); + this.Controls.Add(this.simple1); + this.Controls.Add(this.previous1); + this.Controls.Add(this.dialog1); + this.Controls.Add(this.autologin1); + this.Controls.Add(this.helperuri1); + this.Controls.Add(this.log1); + this.Controls.Add(this.noconsole1); + this.Controls.Add(this.safe1); + this.Controls.Add(this.nothread1); + this.Controls.Add(this.ignorepixeldepth1); + this.Controls.Add(this.noMultiple1); + this.Controls.Add(this.label7); + this.Controls.Add(this.multiple1); + this.Controls.Add(this.label6); + this.Controls.Add(this.noProbe1); + this.Controls.Add(this.label5); + this.Controls.Add(this.Launch1); + this.Controls.Add(this.clientBox1); + this.Controls.Add(this.rbGridServer); + this.Controls.Add(this.rbStandAloneMode); + this.Controls.Add(this.rbGridRegionMode); + this.Controls.Add(this.btnStop); + this.Controls.Add(this.btnStart); + this.Controls.Add(this.gbLog); + this.Controls.Add(this.menuStrip1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D; + this.MainMenuStrip = this.menuStrip1; + this.MaximizeBox = false; + this.Name = "Main"; + this.Text = "OpenSim"; + this.toolTip1.SetToolTip(this, "logs in local time, not UTC"); + this.Load += new System.EventHandler(this.Main_Load); + this.menuStrip1.ResumeLayout(false); + this.menuStrip1.PerformLayout(); + this.gbLog.ResumeLayout(false); + this.tabLogs.ResumeLayout(false); + this.tabMainLog.ResumeLayout(false); + this.tabMainLog.PerformLayout(); + this.tabRegionServer.ResumeLayout(false); + this.tabRegionServer.PerformLayout(); + this.tabUserServer.ResumeLayout(false); + this.tabUserServer.PerformLayout(); + this.tabAssetServer.ResumeLayout(false); + this.tabAssetServer.PerformLayout(); + this.tabGridServer.ResumeLayout(false); + this.tabGridServer.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.MenuStrip menuStrip1; + private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem; + private System.Windows.Forms.Timer timer1; + private System.Windows.Forms.TextBox clientBox1; + private System.Windows.Forms.Button btnStart; + private System.Windows.Forms.Button btnStop; + private System.Windows.Forms.RadioButton rbGridRegionMode; + private System.Windows.Forms.RadioButton rbStandAloneMode; + private System.Windows.Forms.RadioButton rbGridServer; + private System.Windows.Forms.Button Launch1; + private System.Windows.Forms.GroupBox gbLog; + private System.Windows.Forms.TabControl tabLogs; + private System.Windows.Forms.TabPage tabMainLog; + private System.Windows.Forms.TabPage tabRegionServer; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.TextBox txtOpenSim; + private System.Windows.Forms.TabPage tabUserServer; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.TextBox txtUserServer; + private System.Windows.Forms.TabPage tabAssetServer; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.TextBox txtAssetServer; + private System.Windows.Forms.TabPage tabGridServer; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.TextBox txtGridServer; + private System.Windows.Forms.TextBox txtMainLog; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.CheckBox noProbe1; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.CheckBox multiple1; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.CheckBox noMultiple1; + private System.Windows.Forms.CheckBox ignorepixeldepth1; + private System.Windows.Forms.CheckBox nothread1; + private System.Windows.Forms.CheckBox safe1; + private System.Windows.Forms.CheckBox noconsole1; + private System.Windows.Forms.CheckBox log1; + private System.Windows.Forms.CheckBox helperuri1; + private System.Windows.Forms.CheckBox autologin1; + private System.Windows.Forms.ToolTip toolTip1; + private System.Windows.Forms.CheckBox dialog1; + private System.Windows.Forms.CheckBox previous1; + private System.Windows.Forms.CheckBox simple1; + private System.Windows.Forms.CheckBox noinvlib1; + private System.Windows.Forms.CheckBox noutc1; + private System.Windows.Forms.CheckBox debugst1; + private System.Windows.Forms.CheckBox spanish1; + private System.Windows.Forms.CheckBox korean1; + private System.Windows.Forms.CheckBox local1; + private System.Windows.Forms.CheckBox nofmod1; + private System.Windows.Forms.CheckBox noaudio1; + private System.Windows.Forms.CheckBox url1; + private System.Windows.Forms.CheckBox user1; + private System.Windows.Forms.CheckBox quitAfter1; + private System.Windows.Forms.CheckBox techTag1; + private System.Windows.Forms.CheckBox yield1; + private System.Windows.Forms.CheckBox purge1; + private System.Windows.Forms.CheckBox nosound1; + private System.Windows.Forms.CheckBox logfile1; + private System.Windows.Forms.CheckBox settings1; + private System.Windows.Forms.CheckBox outbw1; + private System.Windows.Forms.CheckBox inbw1; + private System.Windows.Forms.CheckBox drop1; + private System.Windows.Forms.CheckBox port1; + private System.Windows.Forms.TextBox nataddress1; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.Label label9; + private System.Windows.Forms.TextBox exeBox1; + private System.Windows.Forms.Label label10; + private System.Windows.Forms.TextBox simBox1; + private System.Windows.Forms.TextBox portBox1; + private System.Windows.Forms.TextBox dropBox1; + private System.Windows.Forms.TextBox inbwBox1; + private System.Windows.Forms.TextBox outbwBox1; + private System.Windows.Forms.TextBox settingsBox1; + private System.Windows.Forms.TextBox logfileBox1; + private System.Windows.Forms.TextBox yieldBox1; + private System.Windows.Forms.TextBox techtagBox1; + private System.Windows.Forms.TextBox quitafterBox1; + private System.Windows.Forms.ComboBox comboBox1; + private System.Windows.Forms.CheckBox loginuri1; + private System.Windows.Forms.TextBox loginuriBox1; + private System.Windows.Forms.CheckBox set1; + private System.Windows.Forms.TextBox setBox1; + private System.Windows.Forms.CheckBox errmask1; + private System.Windows.Forms.CheckBox skin1; + private System.Windows.Forms.CheckBox login1; + private System.Windows.Forms.TextBox errmaskBox1; + private System.Windows.Forms.TextBox skinBox1; + private System.Windows.Forms.TextBox firstBox1; + private System.Windows.Forms.Label label11; + private System.Windows.Forms.Label label12; + private System.Windows.Forms.Label label13; + private System.Windows.Forms.TextBox lastBox1; + private System.Windows.Forms.TextBox passBox1; + private InputTextBoxControl txtInputUserServer; + private InputTextBoxControl txtInputAssetServer; + private InputTextBoxControl txtInputRegionServer; + private InputTextBoxControl txtInputGridServer; + private System.Windows.Forms.CheckBox raw1; + private System.Windows.Forms.TextBox rawBox1; + private System.Windows.Forms.Button clear1; + } +} + diff --git a/OpenSim/Tools/OpenSim.GUI/Main.cs b/OpenSim/Tools/OpenSim.GUI/Main.cs index 3e6826a4b3..d5b5616bae 100644 --- a/OpenSim/Tools/OpenSim.GUI/Main.cs +++ b/OpenSim/Tools/OpenSim.GUI/Main.cs @@ -1,537 +1,537 @@ -/* -* Copyright (c) Contributors, http://opensimulator.org/ -* See CONTRIBUTORS.TXT for a full list of copyright holders. -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions are met: -* * Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* * Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the distribution. -* * Neither the name of the OpenSim Project nor the -* names of its contributors may be used to endorse or promote products -* derived from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY -* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY -* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Text; -using System.Windows.Forms; - -namespace OpenSim.GUI -{ - public partial class Main : Form - { - - public ProcessManager proc_OpenSim; - public ProcessManager proc_UserServer; - public ProcessManager proc_GridServer; - public ProcessManager proc_AssetServer; - - public Main() - { - InitializeComponent(); - } - - private void Main_Load(object sender, EventArgs e) - { - txtInputUserServer.KeyPress += new KeyPressEventHandler(txtInputUserServer_KeyPress); - txtInputGridServer.KeyPress += new KeyPressEventHandler(txtInputGridServer_KeyPress); - txtInputAssetServer.KeyPress += new KeyPressEventHandler(txtInputAssetServer_KeyPress); - txtInputRegionServer.KeyPress += new KeyPressEventHandler(txtInputRegionServer_KeyPress); - - tabLogs.Selected += new TabControlEventHandler(tabLogs_Selected); - - UpdateTabVisibility(); - } - - void tabLogs_Selected(object sender, TabControlEventArgs e) - { - if (e.TabPage == tabUserServer) - txtInputUserServer.Focus(); - if (e.TabPage == tabGridServer) - txtInputGridServer.Focus(); - if (e.TabPage == tabAssetServer) - txtInputAssetServer.Focus(); - if (e.TabPage == tabRegionServer) - txtInputRegionServer.Focus(); - } - - void txtInputUserServer_KeyPress(object sender, KeyPressEventArgs e) - { - - if (e.KeyChar == 13) - { - // We got a command - e.Handled = true; - proc_UserServer.StandardInput.WriteLine(txtInputUserServer.Text + "\r\n"); - txtInputUserServer.Text = ""; - } - } - - void txtInputGridServer_KeyPress(object sender, KeyPressEventArgs e) - { - if (e.KeyChar == 13) - { - // We got a command - e.Handled = true; - proc_GridServer.StandardInput.WriteLine(txtInputGridServer.Text + "\r\n"); - txtInputGridServer.Text = ""; - } - } - - void txtInputAssetServer_KeyPress(object sender, KeyPressEventArgs e) - { - if (e.KeyChar == 13) - { - // We got a command - e.Handled = true; - proc_AssetServer.StandardInput.WriteLine(txtInputAssetServer.Text + "\r\n"); - txtInputAssetServer.Text = ""; - } - } - - void txtInputRegionServer_KeyPress(object sender, KeyPressEventArgs e) - { - if (e.KeyChar == 13) - { - // We got a command - e.Handled = true; - proc_OpenSim.StandardInput.WriteLine(txtInputRegionServer.Text + "\r\n"); - txtInputRegionServer.Text = ""; - } - } - - private void btnStart_Click(object sender, EventArgs e) - { - noProbe1.Checked = true; - multiple1.Checked = true; - loginuri1.Checked = true; - login1.Checked = true; - // - // THIS PART NEEDS TO BE MOVED TO A SEPARATE THREAD OR A TIMER OF SOME SORT - // should not block on wait - // ALSO - IF SOME SERVICES ARE NOT CONFIGURED, POP UP CONFIGURATION BOX FOR THAT SERVICE! - // - - btnStart.Enabled = false; - btnStop.Enabled = false; - - - - if (rbGridServer.Checked) - { - // Start UserServer - proc_UserServer = new ProcessManager("OpenSim.Grid.UserServer.exe", ""); - txtMainLog.AppendText("Starting: User server" + "\r\n"); - proc_UserServer.OutputDataReceived += new System.Diagnostics.DataReceivedEventHandler(proc_UserServer_DataReceived); - proc_UserServer.ErrorDataReceived += new System.Diagnostics.DataReceivedEventHandler(proc_UserServer_DataReceived); - proc_UserServer.StartProcess(); - System.Threading.Thread.Sleep(3000); - - // Start GridServer - proc_GridServer = new ProcessManager("OpenSim.Grid.GridServer.exe", ""); - txtMainLog.AppendText("Starting: Grid server" + "\r\n"); - proc_GridServer.OutputDataReceived += new System.Diagnostics.DataReceivedEventHandler(proc_GridServer_DataReceived); - proc_GridServer.ErrorDataReceived += new System.Diagnostics.DataReceivedEventHandler(proc_GridServer_DataReceived); - proc_GridServer.StartProcess(); - System.Threading.Thread.Sleep(3000); - - // Start AssetServer - proc_AssetServer = new ProcessManager("OpenSim.Grid.AssetServer.exe", ""); - txtMainLog.AppendText("Starting: Asset server" + "\r\n"); - proc_AssetServer.OutputDataReceived += new System.Diagnostics.DataReceivedEventHandler(proc_AssetServer_DataReceived); - proc_AssetServer.ErrorDataReceived += new System.Diagnostics.DataReceivedEventHandler(proc_AssetServer_DataReceived); - proc_AssetServer.StartProcess(); - System.Threading.Thread.Sleep(3000); - } - - // Start OpenSim - string p = ""; - if (rbGridServer.Checked) - p = "-gridmode=true"; - - proc_OpenSim = new ProcessManager("OpenSim.EXE", p); - txtMainLog.AppendText("Starting: OpenSim (Region server)" + "\r\n"); - proc_OpenSim.OutputDataReceived += new System.Diagnostics.DataReceivedEventHandler(proc_OpenSim_DataReceived); - proc_OpenSim.ErrorDataReceived += new System.Diagnostics.DataReceivedEventHandler(proc_OpenSim_DataReceived); - proc_OpenSim.StartProcess(); - - btnStart.Enabled = false; - btnStop.Enabled = true; - - } - public delegate void AppendText(string Text); - void proc_UserServer_DataReceived(object sender, System.Diagnostics.DataReceivedEventArgs e) - { - this.Invoke(new AppendText(txtUserServer.AppendText), new object[] { e.Data + "\r\n" }); - this.Invoke(new AppendText(txtMainLog.AppendText), new object[] { "UserServer: " + e.Data + "\r\n" }); - } - void proc_GridServer_DataReceived(object sender, System.Diagnostics.DataReceivedEventArgs e) - { - this.Invoke(new AppendText(txtGridServer.AppendText), new object[] { e.Data + "\r\n" }); - this.Invoke(new AppendText(txtMainLog.AppendText), new object[] { "GridServer: " + e.Data + "\r\n" }); - } - void proc_AssetServer_DataReceived(object sender, System.Diagnostics.DataReceivedEventArgs e) - { - this.Invoke(new AppendText(txtAssetServer.AppendText), new object[] { e.Data + "\r\n" }); - this.Invoke(new AppendText(txtMainLog.AppendText), new object[] { "AssetServer: " + e.Data + "\r\n" }); - } - void proc_OpenSim_DataReceived(object sender, System.Diagnostics.DataReceivedEventArgs e) - { - this.Invoke(new AppendText(txtOpenSim.AppendText), new object[] { e.Data + "\r\n" }); - this.Invoke(new AppendText(txtMainLog.AppendText), new object[] { "OpenSim: " + e.Data + "\r\n" }); - } - - private void btnStop_Click(object sender, EventArgs e) - { - btnStart.Enabled = false; - btnStop.Enabled = false; - Stop(); - btnStart.Enabled = true; - btnStop.Enabled = false; - } - - private void clear1_Click(object sender, EventArgs e) - { - noProbe1.Checked = false; multiple1.Checked = false; loginuri1.Checked = false; - noMultiple1.Checked = false; korean1.Checked = false; spanish1.Checked = false; - ignorepixeldepth1.Checked = false; nothread1.Checked = false; safe1.Checked = false; - noconsole1.Checked = false; log1.Checked = false; helperuri1.Checked = false; - autologin1.Checked = false; dialog1.Checked = false; previous1.Checked = false; - simple1.Checked = false; noinvlib1.Checked = false; noutc1.Checked = false; - debugst1.Checked = false; local1.Checked = false; purge1.Checked = false; - nofmod1.Checked = false; nosound1.Checked = false; noaudio1.Checked = false; - url1.Checked = false; port1.Checked = false; drop1.Checked = false; - inbw1.Checked = false; outbw1.Checked = false; settings1.Checked = false; - logfile1.Checked = false; yield1.Checked = false; techTag1.Checked = false; - quitAfter1.Checked = false; loginuri1.Checked = false; set1.Checked = false; - errmask1.Checked = false; raw1.Checked = false; skin1.Checked = false; - user1.Checked = false; login1.Checked = false; - } - - private void Stop() - { - if (proc_UserServer != null) - { - txtMainLog.AppendText("Shutting down UserServer. CPU time used: " + proc_UserServer.TotalProcessorTime.ToString() + "\r\n"); - proc_UserServer.StopProcess(); - proc_UserServer = null; - } - if (proc_GridServer != null) - { - txtMainLog.AppendText("Shutting down GridServer. CPU time used: " + proc_GridServer.TotalProcessorTime.ToString() + "\r\n"); - proc_GridServer.StopProcess(); - proc_GridServer = null; - } - if (proc_AssetServer != null) - { - txtMainLog.AppendText("Shutting down AssetServer. CPU time used: " + proc_AssetServer.TotalProcessorTime.ToString() + "\r\n"); - proc_AssetServer.StopProcess(); - proc_AssetServer = null; - } - if (proc_OpenSim != null) - { - txtMainLog.AppendText("Shutting down OpenSim. CPU time used: " + proc_OpenSim.TotalProcessorTime.ToString() + "\r\n"); - proc_OpenSim.StopProcess(); - proc_OpenSim = null; - } - } - private void UpdateTabVisibility() - { - if (rbStandAloneMode.Checked) - { - if (tabLogs.TabPages.Contains(tabUserServer)) - tabLogs.TabPages.Remove(tabUserServer); - if (tabLogs.TabPages.Contains(tabGridServer)) - tabLogs.TabPages.Remove(tabGridServer); - if (tabLogs.TabPages.Contains(tabAssetServer)) - tabLogs.TabPages.Remove(tabAssetServer); - } - else - { - if (!tabLogs.TabPages.Contains(tabUserServer)) - tabLogs.TabPages.Add(tabUserServer); - if (!tabLogs.TabPages.Contains(tabGridServer)) - tabLogs.TabPages.Add(tabGridServer); - if (!tabLogs.TabPages.Contains(tabAssetServer)) - tabLogs.TabPages.Add(tabAssetServer); - } - } - - private void rbStandAloneMode_CheckedChanged(object sender, EventArgs e) - { - UpdateTabVisibility(); - } - - private void rbGridRegionMode_CheckedChanged(object sender, EventArgs e) - { - UpdateTabVisibility(); - } - - private void rbGridServer_CheckedChanged(object sender, EventArgs e) - { - UpdateTabVisibility(); - } - - private int counter; - - private void Exit() - { - counter = 0; - timer1.Interval = 600; - timer1.Enabled = true; - this.timer1.Tick += new System.EventHandler(this.timer1_Tick); - } - - private void timer1_Tick(object sender, System.EventArgs e) - { - if (counter >= 10) - { - timer1.Enabled = false; - counter = 0; - Application.Exit(); - } - else - { - counter = counter + 1; - } - } - - private void exitToolStripMenuItem_Click(object sender, EventArgs e) - { - if (proc_UserServer != null || proc_GridServer != null || proc_AssetServer != null || proc_OpenSim != null) - { - label6.Text = "Stopping server(s) and waiting to safely close.............."; - Stop(); - Exit(); - } - else - { - Application.Exit(); - } - } - /// - /// CLIENT SECTION - /// - string exeString; - string exeArgs; - string usrsvr; - string error = "Reconsider your commandline choices, you have opposing values selected!"; - - private void label6_Click(object sender, EventArgs e) - { - label6.Text = clientBox1.Text; - } - private void errorSwitches() - { - MessageBox.Show(error); - label6.Text = error; - } - bool exists; - private void Launch1_Click(object sender, EventArgs e) - { - if (exists = System.IO.File.Exists(clientBox1.Text + exeBox1.Text)) - { - executeClient(); - } - else - { - MessageBox.Show("FILE DOES NOT EXIST!!!"); - label6.Text = "FILE DOES NOT EXIST!!!"; - } - } - private void NATfix() - { - } - private void executeClient() - { - label6.Text = ""; - exeArgs = ""; - exeString = clientBox1.Text; - exeString = exeString += exeBox1.Text; - - if (multiple1.Checked == true && noMultiple1.Checked == true) errorSwitches(); - else if (korean1.Checked == true && spanish1.Checked == true) errorSwitches(); - else - { - if (noProbe1.Checked == true) exeArgs = exeArgs += " -noprobe"; - if (multiple1.Checked == true) exeArgs = exeArgs += " -multiple"; - if (noMultiple1.Checked == true) exeArgs = exeArgs += " -nomultiple"; - if (korean1.Checked == true) exeArgs = exeArgs += " -korean"; - if (spanish1.Checked == true) exeArgs = exeArgs += " -spanish"; - if (ignorepixeldepth1.Checked == true) exeArgs = exeArgs += " -ignorepixeldepth"; - if (nothread1.Checked == true) exeArgs = exeArgs += " -nothread"; - if (safe1.Checked == true) exeArgs = exeArgs += " -safe"; - if (noconsole1.Checked == true) exeArgs = exeArgs += " -noconsole"; - if (log1.Checked == true) exeArgs = exeArgs += " -log"; - if (helperuri1.Checked == true) exeArgs = exeArgs += " -helperuri"; - if (autologin1.Checked == true) exeArgs = exeArgs += " --autologin"; - if (dialog1.Checked == true) exeArgs = exeArgs += " -dialog"; - if (previous1.Checked == true) exeArgs = exeArgs += " -previous"; - if (simple1.Checked == true) exeArgs = exeArgs += " -simple"; - if (noinvlib1.Checked == true) exeArgs = exeArgs += " -noinvlib"; - if (noutc1.Checked == true) exeArgs = exeArgs += " -noutc"; - if (debugst1.Checked == true) exeArgs = exeArgs += " -debugst"; - if (local1.Checked == true) exeArgs = exeArgs += " -local"; - if (purge1.Checked == true) exeArgs = exeArgs += " -purge"; - if (nofmod1.Checked == true) exeArgs = exeArgs += " -nofmod"; - if (nosound1.Checked == true) exeArgs = exeArgs += " -nosound"; - if (noaudio1.Checked == true) exeArgs = exeArgs += " -noaudio"; - if (url1.Checked == true) - { - exeArgs = exeArgs += " -url "; - exeArgs = exeArgs += simBox1.Text; - } - if (port1.Checked == true) - { - int aPort; - aPort = Convert.ToInt32(portBox1.Text); - if (aPort > 13050) - { - portBox1.Text = "13050"; - MessageBox.Show("Enter Usable port number, defaulting to 13050."); - } - if(aPort < 13000) - { - portBox1.Text = "13000"; - MessageBox.Show("Enter Usable port number, defaulting to 13000."); - } - else - { - } - exeArgs = exeArgs += " -port "; - exeArgs = exeArgs += portBox1.Text; - } - if (drop1.Checked == true) - { - int aPct; - aPct = Convert.ToInt32(dropBox1.Text); - if (aPct > 100) - { - dropBox1.Text = "100"; - MessageBox.Show("Enter Usable port number, defaulting to 100."); - } - if (aPct < 0) - { - dropBox1.Text = "0"; - MessageBox.Show("Enter Usable port number, defaulting to 0."); - } - else - { - } - exeArgs = exeArgs += " -drop "; - exeArgs = exeArgs += dropBox1.Text; - } - if (inbw1.Checked == true) - { - exeArgs = exeArgs += " -inbw "; - exeArgs = exeArgs += inbwBox1.Text; - } - if (outbw1.Checked == true) - { - exeArgs = exeArgs += " -outbw "; - exeArgs = exeArgs += outbwBox1.Text; - } - if (settings1.Checked == true) - { - exeArgs = exeArgs += " -settings "; - exeArgs = exeArgs += settingsBox1.Text; - } - if (logfile1.Checked == true) - { - exeArgs = exeArgs += " -logfile "; - exeArgs = exeArgs += logfileBox1.Text; - } - if (yield1.Checked == true) - { - exeArgs = exeArgs += " -yield "; - exeArgs = exeArgs += yieldBox1.Text; - } - if (techTag1.Checked == true) - { - exeArgs = exeArgs += " -techtag "; - exeArgs = exeArgs += techtagBox1.Text; - } - if (quitAfter1.Checked == true) - { - exeArgs = exeArgs += " -quitafter "; - exeArgs = exeArgs += quitafterBox1.Text; - } - if (loginuri1.Checked == true) - { - exeArgs = exeArgs += " -loginuri "; - exeArgs = exeArgs += loginuriBox1.Text; - } - if (set1.Checked == true) - { - exeArgs = exeArgs += " -set "; - exeArgs = exeArgs += setBox1.Text; - } - if (errmask1.Checked == true) - { - exeArgs = exeArgs += " -errmask "; - exeArgs = exeArgs += errmaskBox1.Text; - } - if (raw1.Checked == true) - { - exeArgs = exeArgs += " " + rawBox1.Text; - } - if (skin1.Checked == true) - { - bool exists; - if (exists = System.IO.File.Exists(skinBox1.Text + "skin.xml")) - { - exeArgs = exeArgs += " -skin "; - exeArgs = exeArgs += skinBox1.Text + "skin.xml"; - } - else - { - MessageBox.Show("SKIN FILE DOES NOT EXIST AT SPECIFIED LOCATION!!!"); - skin1.Checked = false; - executeClient(); - } - } - if (user1.Checked == true) - { - //find actual login urls - if (comboBox1.Text == "agni") { usrsvr = " -user " + "--agni"; } - if (comboBox1.Text == "colo") { usrsvr = " -user " + "--colo"; } - if (comboBox1.Text == "dmz") { usrsvr = " -user " + "--dmz"; } - if (comboBox1.Text == "durga") { usrsvr = " -user " + "--Durga"; } - if (comboBox1.Text == "siva") { usrsvr = " -user " + "--siva"; } - exeArgs = exeArgs += usrsvr; - } - if (login1.Checked == true) - { - exeArgs = exeArgs += " -login "; - exeArgs = exeArgs += firstBox1.Text + " " + lastBox1.Text + " " + passBox1.Text; - } - label6.Text = exeString + exeArgs; - System.Diagnostics.Process proc = new System.Diagnostics.Process(); - proc.StartInfo.FileName = exeString; - proc.StartInfo.Arguments = exeArgs; - proc.StartInfo.UseShellExecute = false; - proc.StartInfo.RedirectStandardOutput = false; - proc.StartInfo.WorkingDirectory = clientBox1.Text; - proc.Start(); - } - } - } -} +/* +* Copyright (c) Contributors, http://opensimulator.org/ +* See CONTRIBUTORS.TXT for a full list of copyright holders. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* * Neither the name of the OpenSim Project nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Windows.Forms; + +namespace OpenSim.GUI +{ + public partial class Main : Form + { + + public ProcessManager proc_OpenSim; + public ProcessManager proc_UserServer; + public ProcessManager proc_GridServer; + public ProcessManager proc_AssetServer; + + public Main() + { + InitializeComponent(); + } + + private void Main_Load(object sender, EventArgs e) + { + txtInputUserServer.KeyPress += new KeyPressEventHandler(txtInputUserServer_KeyPress); + txtInputGridServer.KeyPress += new KeyPressEventHandler(txtInputGridServer_KeyPress); + txtInputAssetServer.KeyPress += new KeyPressEventHandler(txtInputAssetServer_KeyPress); + txtInputRegionServer.KeyPress += new KeyPressEventHandler(txtInputRegionServer_KeyPress); + + tabLogs.Selected += new TabControlEventHandler(tabLogs_Selected); + + UpdateTabVisibility(); + } + + void tabLogs_Selected(object sender, TabControlEventArgs e) + { + if (e.TabPage == tabUserServer) + txtInputUserServer.Focus(); + if (e.TabPage == tabGridServer) + txtInputGridServer.Focus(); + if (e.TabPage == tabAssetServer) + txtInputAssetServer.Focus(); + if (e.TabPage == tabRegionServer) + txtInputRegionServer.Focus(); + } + + void txtInputUserServer_KeyPress(object sender, KeyPressEventArgs e) + { + + if (e.KeyChar == 13) + { + // We got a command + e.Handled = true; + proc_UserServer.StandardInput.WriteLine(txtInputUserServer.Text + "\r\n"); + txtInputUserServer.Text = ""; + } + } + + void txtInputGridServer_KeyPress(object sender, KeyPressEventArgs e) + { + if (e.KeyChar == 13) + { + // We got a command + e.Handled = true; + proc_GridServer.StandardInput.WriteLine(txtInputGridServer.Text + "\r\n"); + txtInputGridServer.Text = ""; + } + } + + void txtInputAssetServer_KeyPress(object sender, KeyPressEventArgs e) + { + if (e.KeyChar == 13) + { + // We got a command + e.Handled = true; + proc_AssetServer.StandardInput.WriteLine(txtInputAssetServer.Text + "\r\n"); + txtInputAssetServer.Text = ""; + } + } + + void txtInputRegionServer_KeyPress(object sender, KeyPressEventArgs e) + { + if (e.KeyChar == 13) + { + // We got a command + e.Handled = true; + proc_OpenSim.StandardInput.WriteLine(txtInputRegionServer.Text + "\r\n"); + txtInputRegionServer.Text = ""; + } + } + + private void btnStart_Click(object sender, EventArgs e) + { + noProbe1.Checked = true; + multiple1.Checked = true; + loginuri1.Checked = true; + login1.Checked = true; + // + // THIS PART NEEDS TO BE MOVED TO A SEPARATE THREAD OR A TIMER OF SOME SORT + // should not block on wait + // ALSO - IF SOME SERVICES ARE NOT CONFIGURED, POP UP CONFIGURATION BOX FOR THAT SERVICE! + // + + btnStart.Enabled = false; + btnStop.Enabled = false; + + + + if (rbGridServer.Checked) + { + // Start UserServer + proc_UserServer = new ProcessManager("OpenSim.Grid.UserServer.exe", ""); + txtMainLog.AppendText("Starting: User server" + "\r\n"); + proc_UserServer.OutputDataReceived += new System.Diagnostics.DataReceivedEventHandler(proc_UserServer_DataReceived); + proc_UserServer.ErrorDataReceived += new System.Diagnostics.DataReceivedEventHandler(proc_UserServer_DataReceived); + proc_UserServer.StartProcess(); + System.Threading.Thread.Sleep(3000); + + // Start GridServer + proc_GridServer = new ProcessManager("OpenSim.Grid.GridServer.exe", ""); + txtMainLog.AppendText("Starting: Grid server" + "\r\n"); + proc_GridServer.OutputDataReceived += new System.Diagnostics.DataReceivedEventHandler(proc_GridServer_DataReceived); + proc_GridServer.ErrorDataReceived += new System.Diagnostics.DataReceivedEventHandler(proc_GridServer_DataReceived); + proc_GridServer.StartProcess(); + System.Threading.Thread.Sleep(3000); + + // Start AssetServer + proc_AssetServer = new ProcessManager("OpenSim.Grid.AssetServer.exe", ""); + txtMainLog.AppendText("Starting: Asset server" + "\r\n"); + proc_AssetServer.OutputDataReceived += new System.Diagnostics.DataReceivedEventHandler(proc_AssetServer_DataReceived); + proc_AssetServer.ErrorDataReceived += new System.Diagnostics.DataReceivedEventHandler(proc_AssetServer_DataReceived); + proc_AssetServer.StartProcess(); + System.Threading.Thread.Sleep(3000); + } + + // Start OpenSim + string p = ""; + if (rbGridServer.Checked) + p = "-gridmode=true"; + + proc_OpenSim = new ProcessManager("OpenSim.EXE", p); + txtMainLog.AppendText("Starting: OpenSim (Region server)" + "\r\n"); + proc_OpenSim.OutputDataReceived += new System.Diagnostics.DataReceivedEventHandler(proc_OpenSim_DataReceived); + proc_OpenSim.ErrorDataReceived += new System.Diagnostics.DataReceivedEventHandler(proc_OpenSim_DataReceived); + proc_OpenSim.StartProcess(); + + btnStart.Enabled = false; + btnStop.Enabled = true; + + } + public delegate void AppendText(string Text); + void proc_UserServer_DataReceived(object sender, System.Diagnostics.DataReceivedEventArgs e) + { + this.Invoke(new AppendText(txtUserServer.AppendText), new object[] { e.Data + "\r\n" }); + this.Invoke(new AppendText(txtMainLog.AppendText), new object[] { "UserServer: " + e.Data + "\r\n" }); + } + void proc_GridServer_DataReceived(object sender, System.Diagnostics.DataReceivedEventArgs e) + { + this.Invoke(new AppendText(txtGridServer.AppendText), new object[] { e.Data + "\r\n" }); + this.Invoke(new AppendText(txtMainLog.AppendText), new object[] { "GridServer: " + e.Data + "\r\n" }); + } + void proc_AssetServer_DataReceived(object sender, System.Diagnostics.DataReceivedEventArgs e) + { + this.Invoke(new AppendText(txtAssetServer.AppendText), new object[] { e.Data + "\r\n" }); + this.Invoke(new AppendText(txtMainLog.AppendText), new object[] { "AssetServer: " + e.Data + "\r\n" }); + } + void proc_OpenSim_DataReceived(object sender, System.Diagnostics.DataReceivedEventArgs e) + { + this.Invoke(new AppendText(txtOpenSim.AppendText), new object[] { e.Data + "\r\n" }); + this.Invoke(new AppendText(txtMainLog.AppendText), new object[] { "OpenSim: " + e.Data + "\r\n" }); + } + + private void btnStop_Click(object sender, EventArgs e) + { + btnStart.Enabled = false; + btnStop.Enabled = false; + Stop(); + btnStart.Enabled = true; + btnStop.Enabled = false; + } + + private void clear1_Click(object sender, EventArgs e) + { + noProbe1.Checked = false; multiple1.Checked = false; loginuri1.Checked = false; + noMultiple1.Checked = false; korean1.Checked = false; spanish1.Checked = false; + ignorepixeldepth1.Checked = false; nothread1.Checked = false; safe1.Checked = false; + noconsole1.Checked = false; log1.Checked = false; helperuri1.Checked = false; + autologin1.Checked = false; dialog1.Checked = false; previous1.Checked = false; + simple1.Checked = false; noinvlib1.Checked = false; noutc1.Checked = false; + debugst1.Checked = false; local1.Checked = false; purge1.Checked = false; + nofmod1.Checked = false; nosound1.Checked = false; noaudio1.Checked = false; + url1.Checked = false; port1.Checked = false; drop1.Checked = false; + inbw1.Checked = false; outbw1.Checked = false; settings1.Checked = false; + logfile1.Checked = false; yield1.Checked = false; techTag1.Checked = false; + quitAfter1.Checked = false; loginuri1.Checked = false; set1.Checked = false; + errmask1.Checked = false; raw1.Checked = false; skin1.Checked = false; + user1.Checked = false; login1.Checked = false; + } + + private void Stop() + { + if (proc_UserServer != null) + { + txtMainLog.AppendText("Shutting down UserServer. CPU time used: " + proc_UserServer.TotalProcessorTime.ToString() + "\r\n"); + proc_UserServer.StopProcess(); + proc_UserServer = null; + } + if (proc_GridServer != null) + { + txtMainLog.AppendText("Shutting down GridServer. CPU time used: " + proc_GridServer.TotalProcessorTime.ToString() + "\r\n"); + proc_GridServer.StopProcess(); + proc_GridServer = null; + } + if (proc_AssetServer != null) + { + txtMainLog.AppendText("Shutting down AssetServer. CPU time used: " + proc_AssetServer.TotalProcessorTime.ToString() + "\r\n"); + proc_AssetServer.StopProcess(); + proc_AssetServer = null; + } + if (proc_OpenSim != null) + { + txtMainLog.AppendText("Shutting down OpenSim. CPU time used: " + proc_OpenSim.TotalProcessorTime.ToString() + "\r\n"); + proc_OpenSim.StopProcess(); + proc_OpenSim = null; + } + } + private void UpdateTabVisibility() + { + if (rbStandAloneMode.Checked) + { + if (tabLogs.TabPages.Contains(tabUserServer)) + tabLogs.TabPages.Remove(tabUserServer); + if (tabLogs.TabPages.Contains(tabGridServer)) + tabLogs.TabPages.Remove(tabGridServer); + if (tabLogs.TabPages.Contains(tabAssetServer)) + tabLogs.TabPages.Remove(tabAssetServer); + } + else + { + if (!tabLogs.TabPages.Contains(tabUserServer)) + tabLogs.TabPages.Add(tabUserServer); + if (!tabLogs.TabPages.Contains(tabGridServer)) + tabLogs.TabPages.Add(tabGridServer); + if (!tabLogs.TabPages.Contains(tabAssetServer)) + tabLogs.TabPages.Add(tabAssetServer); + } + } + + private void rbStandAloneMode_CheckedChanged(object sender, EventArgs e) + { + UpdateTabVisibility(); + } + + private void rbGridRegionMode_CheckedChanged(object sender, EventArgs e) + { + UpdateTabVisibility(); + } + + private void rbGridServer_CheckedChanged(object sender, EventArgs e) + { + UpdateTabVisibility(); + } + + private int counter; + + private void Exit() + { + counter = 0; + timer1.Interval = 600; + timer1.Enabled = true; + this.timer1.Tick += new System.EventHandler(this.timer1_Tick); + } + + private void timer1_Tick(object sender, System.EventArgs e) + { + if (counter >= 10) + { + timer1.Enabled = false; + counter = 0; + Application.Exit(); + } + else + { + counter = counter + 1; + } + } + + private void exitToolStripMenuItem_Click(object sender, EventArgs e) + { + if (proc_UserServer != null || proc_GridServer != null || proc_AssetServer != null || proc_OpenSim != null) + { + label6.Text = "Stopping server(s) and waiting to safely close.............."; + Stop(); + Exit(); + } + else + { + Application.Exit(); + } + } + /// + /// CLIENT SECTION + /// + string exeString; + string exeArgs; + string usrsvr; + string error = "Reconsider your commandline choices, you have opposing values selected!"; + + private void label6_Click(object sender, EventArgs e) + { + label6.Text = clientBox1.Text; + } + private void errorSwitches() + { + MessageBox.Show(error); + label6.Text = error; + } + bool exists; + private void Launch1_Click(object sender, EventArgs e) + { + if (exists = System.IO.File.Exists(clientBox1.Text + exeBox1.Text)) + { + executeClient(); + } + else + { + MessageBox.Show("FILE DOES NOT EXIST!!!"); + label6.Text = "FILE DOES NOT EXIST!!!"; + } + } + private void NATfix() + { + } + private void executeClient() + { + label6.Text = ""; + exeArgs = ""; + exeString = clientBox1.Text; + exeString = exeString += exeBox1.Text; + + if (multiple1.Checked == true && noMultiple1.Checked == true) errorSwitches(); + else if (korean1.Checked == true && spanish1.Checked == true) errorSwitches(); + else + { + if (noProbe1.Checked == true) exeArgs = exeArgs += " -noprobe"; + if (multiple1.Checked == true) exeArgs = exeArgs += " -multiple"; + if (noMultiple1.Checked == true) exeArgs = exeArgs += " -nomultiple"; + if (korean1.Checked == true) exeArgs = exeArgs += " -korean"; + if (spanish1.Checked == true) exeArgs = exeArgs += " -spanish"; + if (ignorepixeldepth1.Checked == true) exeArgs = exeArgs += " -ignorepixeldepth"; + if (nothread1.Checked == true) exeArgs = exeArgs += " -nothread"; + if (safe1.Checked == true) exeArgs = exeArgs += " -safe"; + if (noconsole1.Checked == true) exeArgs = exeArgs += " -noconsole"; + if (log1.Checked == true) exeArgs = exeArgs += " -log"; + if (helperuri1.Checked == true) exeArgs = exeArgs += " -helperuri"; + if (autologin1.Checked == true) exeArgs = exeArgs += " --autologin"; + if (dialog1.Checked == true) exeArgs = exeArgs += " -dialog"; + if (previous1.Checked == true) exeArgs = exeArgs += " -previous"; + if (simple1.Checked == true) exeArgs = exeArgs += " -simple"; + if (noinvlib1.Checked == true) exeArgs = exeArgs += " -noinvlib"; + if (noutc1.Checked == true) exeArgs = exeArgs += " -noutc"; + if (debugst1.Checked == true) exeArgs = exeArgs += " -debugst"; + if (local1.Checked == true) exeArgs = exeArgs += " -local"; + if (purge1.Checked == true) exeArgs = exeArgs += " -purge"; + if (nofmod1.Checked == true) exeArgs = exeArgs += " -nofmod"; + if (nosound1.Checked == true) exeArgs = exeArgs += " -nosound"; + if (noaudio1.Checked == true) exeArgs = exeArgs += " -noaudio"; + if (url1.Checked == true) + { + exeArgs = exeArgs += " -url "; + exeArgs = exeArgs += simBox1.Text; + } + if (port1.Checked == true) + { + int aPort; + aPort = Convert.ToInt32(portBox1.Text); + if (aPort > 13050) + { + portBox1.Text = "13050"; + MessageBox.Show("Enter Usable port number, defaulting to 13050."); + } + if(aPort < 13000) + { + portBox1.Text = "13000"; + MessageBox.Show("Enter Usable port number, defaulting to 13000."); + } + else + { + } + exeArgs = exeArgs += " -port "; + exeArgs = exeArgs += portBox1.Text; + } + if (drop1.Checked == true) + { + int aPct; + aPct = Convert.ToInt32(dropBox1.Text); + if (aPct > 100) + { + dropBox1.Text = "100"; + MessageBox.Show("Enter Usable port number, defaulting to 100."); + } + if (aPct < 0) + { + dropBox1.Text = "0"; + MessageBox.Show("Enter Usable port number, defaulting to 0."); + } + else + { + } + exeArgs = exeArgs += " -drop "; + exeArgs = exeArgs += dropBox1.Text; + } + if (inbw1.Checked == true) + { + exeArgs = exeArgs += " -inbw "; + exeArgs = exeArgs += inbwBox1.Text; + } + if (outbw1.Checked == true) + { + exeArgs = exeArgs += " -outbw "; + exeArgs = exeArgs += outbwBox1.Text; + } + if (settings1.Checked == true) + { + exeArgs = exeArgs += " -settings "; + exeArgs = exeArgs += settingsBox1.Text; + } + if (logfile1.Checked == true) + { + exeArgs = exeArgs += " -logfile "; + exeArgs = exeArgs += logfileBox1.Text; + } + if (yield1.Checked == true) + { + exeArgs = exeArgs += " -yield "; + exeArgs = exeArgs += yieldBox1.Text; + } + if (techTag1.Checked == true) + { + exeArgs = exeArgs += " -techtag "; + exeArgs = exeArgs += techtagBox1.Text; + } + if (quitAfter1.Checked == true) + { + exeArgs = exeArgs += " -quitafter "; + exeArgs = exeArgs += quitafterBox1.Text; + } + if (loginuri1.Checked == true) + { + exeArgs = exeArgs += " -loginuri "; + exeArgs = exeArgs += loginuriBox1.Text; + } + if (set1.Checked == true) + { + exeArgs = exeArgs += " -set "; + exeArgs = exeArgs += setBox1.Text; + } + if (errmask1.Checked == true) + { + exeArgs = exeArgs += " -errmask "; + exeArgs = exeArgs += errmaskBox1.Text; + } + if (raw1.Checked == true) + { + exeArgs = exeArgs += " " + rawBox1.Text; + } + if (skin1.Checked == true) + { + bool exists; + if (exists = System.IO.File.Exists(skinBox1.Text + "skin.xml")) + { + exeArgs = exeArgs += " -skin "; + exeArgs = exeArgs += skinBox1.Text + "skin.xml"; + } + else + { + MessageBox.Show("SKIN FILE DOES NOT EXIST AT SPECIFIED LOCATION!!!"); + skin1.Checked = false; + executeClient(); + } + } + if (user1.Checked == true) + { + //find actual login urls + if (comboBox1.Text == "agni") { usrsvr = " -user " + "--agni"; } + if (comboBox1.Text == "colo") { usrsvr = " -user " + "--colo"; } + if (comboBox1.Text == "dmz") { usrsvr = " -user " + "--dmz"; } + if (comboBox1.Text == "durga") { usrsvr = " -user " + "--Durga"; } + if (comboBox1.Text == "siva") { usrsvr = " -user " + "--siva"; } + exeArgs = exeArgs += usrsvr; + } + if (login1.Checked == true) + { + exeArgs = exeArgs += " -login "; + exeArgs = exeArgs += firstBox1.Text + " " + lastBox1.Text + " " + passBox1.Text; + } + label6.Text = exeString + exeArgs; + System.Diagnostics.Process proc = new System.Diagnostics.Process(); + proc.StartInfo.FileName = exeString; + proc.StartInfo.Arguments = exeArgs; + proc.StartInfo.UseShellExecute = false; + proc.StartInfo.RedirectStandardOutput = false; + proc.StartInfo.WorkingDirectory = clientBox1.Text; + proc.Start(); + } + } + } +} diff --git a/OpenSim/Tools/OpenSim.GUI/Main.resx b/OpenSim/Tools/OpenSim.GUI/Main.resx index db8eb0aaa5..517179d1e1 100644 --- a/OpenSim/Tools/OpenSim.GUI/Main.resx +++ b/OpenSim/Tools/OpenSim.GUI/Main.resx @@ -1,135 +1,135 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 17, 17 - - - 126, 17 - - - 209, 17 - - - 209, 17 - - - 39 - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 126, 17 + + + 209, 17 + + + 209, 17 + + + 39 + + diff --git a/OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.csproj b/OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.csproj index 7ac4290dd3..e722fec47e 100644 --- a/OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.csproj +++ b/OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.csproj @@ -1,94 +1,94 @@ - - - Debug - AnyCPU - 8.0.50727 - 2.0 - {78AEEDD5-4DA8-4E05-8D53-F3C5476A0B97} - WinExe - Properties - OpenSim.GUI - OpenSim.GUI - - - true - full - false - ..\..\..\bin\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - - - - - - - - - Form - - - frmConfiguration.cs - - - Component - - - Form - - - Main.cs - - - Component - - - - - Designer - frmConfiguration.cs - - - Designer - Main.cs - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - True - Resources.resx - - - SettingsSingleFileGenerator - Settings.Designer.cs - - - True - Settings.settings - True - - - - + + + Debug + AnyCPU + 8.0.50727 + 2.0 + {78AEEDD5-4DA8-4E05-8D53-F3C5476A0B97} + WinExe + Properties + OpenSim.GUI + OpenSim.GUI + + + true + full + false + ..\..\..\bin\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + Form + + + frmConfiguration.cs + + + Component + + + Form + + + Main.cs + + + Component + + + + + Designer + frmConfiguration.cs + + + Designer + Main.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + \ No newline at end of file diff --git a/OpenSim/Tools/OpenSim.GUI/ProcessManager.cs b/OpenSim/Tools/OpenSim.GUI/ProcessManager.cs index 40cc1781e1..0fb3ea4cb8 100644 --- a/OpenSim/Tools/OpenSim.GUI/ProcessManager.cs +++ b/OpenSim/Tools/OpenSim.GUI/ProcessManager.cs @@ -1,99 +1,99 @@ -/* -* Copyright (c) Contributors, http://opensimulator.org/ -* See CONTRIBUTORS.TXT for a full list of copyright holders. -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions are met: -* * Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* * Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the distribution. -* * Neither the name of the OpenSim Project nor the -* names of its contributors may be used to endorse or promote products -* derived from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY -* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY -* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - -using System; -using System.Collections.Generic; -using System.Text; -using System.Diagnostics; - -namespace OpenSim.GUI -{ - public class ProcessManager : Process - { - private string m_FileName; - private string m_Arguments; - public ProcessManager(string FileName,string Arguments) - { - m_FileName = FileName; - m_Arguments = Arguments; - -// MyProc = new Process(); - StartInfo.WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory; - Console.WriteLine("WorkingDirectory: " + StartInfo.WorkingDirectory); - StartInfo.FileName = m_FileName; - - //p.StartInfo.Arguments = ""; - StartInfo.UseShellExecute = false; - StartInfo.RedirectStandardError = true; - StartInfo.RedirectStandardInput = true; - StartInfo.RedirectStandardOutput = true; - StartInfo.CreateNoWindow = true; - - - - } - - public void StartProcess() - { - try - { - Start(); - BeginOutputReadLine(); - BeginErrorReadLine(); - } - catch (Exception ex) - { - Console.WriteLine("Exception Occurred :{0},{1}", - ex.Message, ex.StackTrace.ToString()); - } - } - public void StopProcess() - { - try - { - CancelErrorRead(); - CancelErrorRead(); - if (!HasExited) - { - StandardInput.WriteLine("quit"); - StandardInput.WriteLine("shutdown"); - System.Threading.Thread.Sleep(500); - if (!HasExited) - { - Kill(); - } - } - } - catch (Exception ex) - { - Console.WriteLine("Exception Occurred :{0},{1}", - ex.Message, ex.StackTrace.ToString()); - } - } - } -} +/* +* Copyright (c) Contributors, http://opensimulator.org/ +* See CONTRIBUTORS.TXT for a full list of copyright holders. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* * Neither the name of the OpenSim Project nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +using System; +using System.Collections.Generic; +using System.Text; +using System.Diagnostics; + +namespace OpenSim.GUI +{ + public class ProcessManager : Process + { + private string m_FileName; + private string m_Arguments; + public ProcessManager(string FileName,string Arguments) + { + m_FileName = FileName; + m_Arguments = Arguments; + +// MyProc = new Process(); + StartInfo.WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory; + Console.WriteLine("WorkingDirectory: " + StartInfo.WorkingDirectory); + StartInfo.FileName = m_FileName; + + //p.StartInfo.Arguments = ""; + StartInfo.UseShellExecute = false; + StartInfo.RedirectStandardError = true; + StartInfo.RedirectStandardInput = true; + StartInfo.RedirectStandardOutput = true; + StartInfo.CreateNoWindow = true; + + + + } + + public void StartProcess() + { + try + { + Start(); + BeginOutputReadLine(); + BeginErrorReadLine(); + } + catch (Exception ex) + { + Console.WriteLine("Exception Occurred :{0},{1}", + ex.Message, ex.StackTrace.ToString()); + } + } + public void StopProcess() + { + try + { + CancelErrorRead(); + CancelErrorRead(); + if (!HasExited) + { + StandardInput.WriteLine("quit"); + StandardInput.WriteLine("shutdown"); + System.Threading.Thread.Sleep(500); + if (!HasExited) + { + Kill(); + } + } + } + catch (Exception ex) + { + Console.WriteLine("Exception Occurred :{0},{1}", + ex.Message, ex.StackTrace.ToString()); + } + } + } +} diff --git a/OpenSim/Tools/OpenSim.GUI/Program.cs b/OpenSim/Tools/OpenSim.GUI/Program.cs index c554875bed..231a001797 100644 --- a/OpenSim/Tools/OpenSim.GUI/Program.cs +++ b/OpenSim/Tools/OpenSim.GUI/Program.cs @@ -1,48 +1,48 @@ -/* -* Copyright (c) Contributors, http://opensimulator.org/ -* See CONTRIBUTORS.TXT for a full list of copyright holders. -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions are met: -* * Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* * Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the distribution. -* * Neither the name of the OpenSim Project nor the -* names of its contributors may be used to endorse or promote products -* derived from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY -* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY -* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - -using System; -using System.Collections.Generic; -using System.Windows.Forms; - -namespace OpenSim.GUI -{ - static class Program - { - /// - /// The main entry point for the application. - /// - [STAThread] - static void Main() - { - Application.EnableVisualStyles(); - Application.SetCompatibleTextRenderingDefault(false); - Application.Run(new Main()); - } - } -} +/* +* Copyright (c) Contributors, http://opensimulator.org/ +* See CONTRIBUTORS.TXT for a full list of copyright holders. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* * Neither the name of the OpenSim Project nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +using System; +using System.Collections.Generic; +using System.Windows.Forms; + +namespace OpenSim.GUI +{ + static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Main()); + } + } +} diff --git a/OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs b/OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs index 3e86b1ced0..f579a3f49e 100644 --- a/OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs +++ b/OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs @@ -1,33 +1,61 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -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.GUI")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("OpenSim.GUI")] -[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("c8dbda49-66bd-476b-93b3-71774870b73e")] - -// 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")] +/* +* Copyright (c) Contributors, http://opensimulator.org/ +* See CONTRIBUTORS.TXT for a full list of copyright holders. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* * Neither the name of the OpenSim Project nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +using System.Reflection; +using System.Runtime.CompilerServices; +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.GUI")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("OpenSim.GUI")] +[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("c8dbda49-66bd-476b-93b3-71774870b73e")] + +// 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/Tools/OpenSim.GUI/Properties/Resources.resx b/OpenSim/Tools/OpenSim.GUI/Properties/Resources.resx index ffecec851a..af7dbebbac 100644 --- a/OpenSim/Tools/OpenSim.GUI/Properties/Resources.resx +++ b/OpenSim/Tools/OpenSim.GUI/Properties/Resources.resx @@ -1,117 +1,117 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + \ No newline at end of file diff --git a/OpenSim/Tools/OpenSim.GUI/Properties/Settings.settings b/OpenSim/Tools/OpenSim.GUI/Properties/Settings.settings index abf36c5d3d..39645652af 100644 --- a/OpenSim/Tools/OpenSim.GUI/Properties/Settings.settings +++ b/OpenSim/Tools/OpenSim.GUI/Properties/Settings.settings @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs index 556349bda3..92d1aa466f 100644 --- a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs +++ b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs @@ -1,89 +1,89 @@ -/* -* Copyright (c) Contributors, http://opensimulator.org/ -* See CONTRIBUTORS.TXT for a full list of copyright holders. -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions are met: -* * Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* * Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the distribution. -* * Neither the name of the OpenSim Project nor the -* names of its contributors may be used to endorse or promote products -* derived from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY -* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY -* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - -namespace OpenSim.GUI -{ - partial class frmConfiguration - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmConfiguration)); - this.textBox1 = new System.Windows.Forms.TextBox(); - this.SuspendLayout(); - // - // textBox1 - // - this.textBox1.Location = new System.Drawing.Point(12, 12); - this.textBox1.Multiline = true; - this.textBox1.Name = "textBox1"; - this.textBox1.Size = new System.Drawing.Size(570, 190); - this.textBox1.TabIndex = 0; - this.textBox1.Text = resources.GetString("textBox1.Text"); - // - // frmConfiguration - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(664, 413); - this.Controls.Add(this.textBox1); - this.Name = "frmConfiguration"; - this.Text = "Configuration"; - this.ResumeLayout(false); - this.PerformLayout(); - - } - - #endregion - - private System.Windows.Forms.TextBox textBox1; - } -} +/* +* Copyright (c) Contributors, http://opensimulator.org/ +* See CONTRIBUTORS.TXT for a full list of copyright holders. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* * Neither the name of the OpenSim Project nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +namespace OpenSim.GUI +{ + partial class frmConfiguration + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmConfiguration)); + this.textBox1 = new System.Windows.Forms.TextBox(); + this.SuspendLayout(); + // + // textBox1 + // + this.textBox1.Location = new System.Drawing.Point(12, 12); + this.textBox1.Multiline = true; + this.textBox1.Name = "textBox1"; + this.textBox1.Size = new System.Drawing.Size(570, 190); + this.textBox1.TabIndex = 0; + this.textBox1.Text = resources.GetString("textBox1.Text"); + // + // frmConfiguration + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(664, 413); + this.Controls.Add(this.textBox1); + this.Name = "frmConfiguration"; + this.Text = "Configuration"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.TextBox textBox1; + } +} diff --git a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs index ba64cbc301..91ad65677e 100644 --- a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs +++ b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs @@ -1,46 +1,46 @@ -/* -* Copyright (c) Contributors, http://opensimulator.org/ -* See CONTRIBUTORS.TXT for a full list of copyright holders. -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions are met: -* * Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* * Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the distribution. -* * Neither the name of the OpenSim Project nor the -* names of its contributors may be used to endorse or promote products -* derived from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY -* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY -* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Text; -using System.Windows.Forms; - -namespace OpenSim.GUI -{ - public partial class frmConfiguration : Form - { - public frmConfiguration() - { - InitializeComponent(); - } - } -} +/* +* Copyright (c) Contributors, http://opensimulator.org/ +* See CONTRIBUTORS.TXT for a full list of copyright holders. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* * Neither the name of the OpenSim Project nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Windows.Forms; + +namespace OpenSim.GUI +{ + public partial class frmConfiguration : Form + { + public frmConfiguration() + { + InitializeComponent(); + } + } +} diff --git a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.resx b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.resx index 2002e68f0d..084547c86f 100644 --- a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.resx +++ b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.resx @@ -1,129 +1,129 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - What I want here: -* Region configuration add/disable/modify) -* OpenSim config: what physics/sql/scriptengine modules -* Configuration for each of the servers -* An option of what parts the server will run: "Stand Alone, Grid region, Grid Server, Custom" -Custom = you can enable/disable one or more services, for example if you only run AssetServer on this machine. -* User manager (add/remove/lockout/modify) -- maybe a separate form for this? - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + What I want here: +* Region configuration add/disable/modify) +* OpenSim config: what physics/sql/scriptengine modules +* Configuration for each of the servers +* An option of what parts the server will run: "Stand Alone, Grid region, Grid Server, Custom" +Custom = you can enable/disable one or more services, for example if you only run AssetServer on this machine. +* User manager (add/remove/lockout/modify) -- maybe a separate form for this? + \ No newline at end of file diff --git a/OpenSim/Tools/Windows/Installer/LICENSE.txt b/OpenSim/Tools/Windows/Installer/LICENSE.txt deleted file mode 100644 index d38b6700b3..0000000000 --- a/OpenSim/Tools/Windows/Installer/LICENSE.txt +++ /dev/null @@ -1,25 +0,0 @@ -Copyright (c) Contributors, http://opensimulator.org/ -See CONTRIBUTORS.TXT for a full list of copyright holders. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the OpenSim Project nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/OpenSim/Tools/Windows/Installer/OpenSim.nsi b/OpenSim/Tools/Windows/Installer/OpenSim.nsi index d1df7ba678..3c3fe812b9 100644 --- a/OpenSim/Tools/Windows/Installer/OpenSim.nsi +++ b/OpenSim/Tools/Windows/Installer/OpenSim.nsi @@ -1,151 +1,151 @@ -!include "MUI.nsh" - -Name "OpenSim" -OutFile "OpenSim Setup 0.4.exe" - -CRCCheck On - -InstallDir "$PROGRAMFILES\OpenSim" -InstallDirRegKey HKCU "Software\OpenSim" "" - -;Vista redirects $SMPROGRAMS to all users without this -RequestExecutionLevel admin - -Var MUI_TEMP -Var STARTMENU_FOLDER - -!define MUI_LANGDLL_REGISTRY_ROOT "HKCU" -!define MUI_LANGDLL_REGISTRY_KEY "Software\OpenSim" -!define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language" - -!define MUI_ABORTWARNING - -!insertmacro MUI_PAGE_WELCOME -!insertmacro MUI_PAGE_LICENSE "LICENSE.txt" -!insertmacro MUI_PAGE_DIRECTORY - -!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU" -!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\OpenSim" -!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder" - -!insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER - -!insertmacro MUI_PAGE_INSTFILES -!insertmacro MUI_PAGE_FINISH - -!insertmacro MUI_UNPAGE_WELCOME -!insertmacro MUI_UNPAGE_CONFIRM -!insertmacro MUI_UNPAGE_INSTFILES -!insertmacro MUI_UNPAGE_FINISH - -!insertmacro MUI_LANGUAGE "English" -!insertmacro MUI_LANGUAGE "French" -!insertmacro MUI_LANGUAGE "German" -!insertmacro MUI_LANGUAGE "Spanish" -!insertmacro MUI_LANGUAGE "SpanishInternational" -!insertmacro MUI_LANGUAGE "SimpChinese" -!insertmacro MUI_LANGUAGE "TradChinese" -!insertmacro MUI_LANGUAGE "Japanese" -!insertmacro MUI_LANGUAGE "Korean" -!insertmacro MUI_LANGUAGE "Italian" -!insertmacro MUI_LANGUAGE "Dutch" -!insertmacro MUI_LANGUAGE "Danish" -!insertmacro MUI_LANGUAGE "Swedish" -!insertmacro MUI_LANGUAGE "Norwegian" -!insertmacro MUI_LANGUAGE "NorwegianNynorsk" -!insertmacro MUI_LANGUAGE "Finnish" -!insertmacro MUI_LANGUAGE "Greek" -!insertmacro MUI_LANGUAGE "Russian" -!insertmacro MUI_LANGUAGE "Portuguese" -!insertmacro MUI_LANGUAGE "PortugueseBR" -!insertmacro MUI_LANGUAGE "Polish" -!insertmacro MUI_LANGUAGE "Ukrainian" -!insertmacro MUI_LANGUAGE "Czech" -!insertmacro MUI_LANGUAGE "Slovak" -!insertmacro MUI_LANGUAGE "Croatian" -!insertmacro MUI_LANGUAGE "Bulgarian" -!insertmacro MUI_LANGUAGE "Hungarian" -!insertmacro MUI_LANGUAGE "Thai" -!insertmacro MUI_LANGUAGE "Romanian" -!insertmacro MUI_LANGUAGE "Latvian" -!insertmacro MUI_LANGUAGE "Macedonian" -!insertmacro MUI_LANGUAGE "Estonian" -!insertmacro MUI_LANGUAGE "Turkish" -!insertmacro MUI_LANGUAGE "Lithuanian" -!insertmacro MUI_LANGUAGE "Slovenian" -!insertmacro MUI_LANGUAGE "Serbian" -!insertmacro MUI_LANGUAGE "SerbianLatin" -!insertmacro MUI_LANGUAGE "Arabic" -!insertmacro MUI_LANGUAGE "Farsi" -!insertmacro MUI_LANGUAGE "Hebrew" -!insertmacro MUI_LANGUAGE "Indonesian" -!insertmacro MUI_LANGUAGE "Mongolian" -!insertmacro MUI_LANGUAGE "Luxembourgish" -!insertmacro MUI_LANGUAGE "Albanian" -!insertmacro MUI_LANGUAGE "Breton" -!insertmacro MUI_LANGUAGE "Belarusian" -!insertmacro MUI_LANGUAGE "Icelandic" -!insertmacro MUI_LANGUAGE "Malay" -!insertmacro MUI_LANGUAGE "Bosnian" -!insertmacro MUI_LANGUAGE "Kurdish" -!insertmacro MUI_LANGUAGE "Irish" -!insertmacro MUI_LANGUAGE "Uzbek" -!insertmacro MUI_LANGUAGE "Galician" -!insertmacro MUI_LANGUAGE "Afrikaans" -!insertmacro MUI_LANGUAGE "Catalan" - -!insertmacro MUI_RESERVEFILE_LANGDLL - -Section "Install" - SetOutPath "$INSTDIR" - - SetCompress Auto - SetOverwrite IfNewer - File /r "bin\*.*" - - WriteRegStr HKCU "Software\OpenSim" "" $INSTDIR - WriteUninstaller "$INSTDIR\Uninstall.exe" - - !insertmacro MUI_STARTMENU_WRITE_BEGIN Application - CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER" - CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\OpenSim.lnk" "$INSTDIR\OpenSim.exe" - CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe" - !insertmacro MUI_STARTMENU_WRITE_END - - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenSim" "DisplayName" "OpenSim (remove only)" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenSim" "UninstallString" "$INSTDIR\Uninstall.exe" -SectionEnd - -Function .onInit - !insertmacro MUI_LANGDLL_DISPLAY -FunctionEnd - -Section "Uninstall" - Delete "$INSTDIR\*.*" - RMDir /r "$INSTDIR" - -!insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP - - Delete "$SMPROGRAMS\$MUI_TEMP\OpenSim.lnk" - Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk" - - ;Delete empty start menu parent diretories - StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP" - - startMenuDeleteLoop: - ClearErrors - RMDir $MUI_TEMP - GetFullPathName $MUI_TEMP "$MUI_TEMP\.." - - IfErrors startMenuDeleteLoopDone - - StrCmp $MUI_TEMP $SMPROGRAMS startMenuDeleteLoopDone startMenuDeleteLoop - startMenuDeleteLoopDone: - - DeleteRegKey /ifempty HKCU "Software\OpenSim" - DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenSim" -SectionEnd - -Function un.onInit - !insertmacro MUI_UNGETLANGUAGE -FunctionEnd +!include "MUI.nsh" + +Name "OpenSim" +OutFile "OpenSim Setup 0.5.exe" + +CRCCheck On + +InstallDir "$PROGRAMFILES\OpenSim" +InstallDirRegKey HKCU "Software\OpenSim" "" + +;Vista redirects $SMPROGRAMS to all users without this +RequestExecutionLevel admin + +Var MUI_TEMP +Var STARTMENU_FOLDER + +!define MUI_LANGDLL_REGISTRY_ROOT "HKCU" +!define MUI_LANGDLL_REGISTRY_KEY "Software\OpenSim" +!define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language" + +!define MUI_ABORTWARNING + +!insertmacro MUI_PAGE_WELCOME +!insertmacro MUI_PAGE_LICENSE "LICENSE.txt" +!insertmacro MUI_PAGE_DIRECTORY + +!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU" +!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\OpenSim" +!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder" + +!insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER + +!insertmacro MUI_PAGE_INSTFILES +!insertmacro MUI_PAGE_FINISH + +!insertmacro MUI_UNPAGE_WELCOME +!insertmacro MUI_UNPAGE_CONFIRM +!insertmacro MUI_UNPAGE_INSTFILES +!insertmacro MUI_UNPAGE_FINISH + +!insertmacro MUI_LANGUAGE "English" +!insertmacro MUI_LANGUAGE "French" +!insertmacro MUI_LANGUAGE "German" +!insertmacro MUI_LANGUAGE "Spanish" +!insertmacro MUI_LANGUAGE "SpanishInternational" +!insertmacro MUI_LANGUAGE "SimpChinese" +!insertmacro MUI_LANGUAGE "TradChinese" +!insertmacro MUI_LANGUAGE "Japanese" +!insertmacro MUI_LANGUAGE "Korean" +!insertmacro MUI_LANGUAGE "Italian" +!insertmacro MUI_LANGUAGE "Dutch" +!insertmacro MUI_LANGUAGE "Danish" +!insertmacro MUI_LANGUAGE "Swedish" +!insertmacro MUI_LANGUAGE "Norwegian" +!insertmacro MUI_LANGUAGE "NorwegianNynorsk" +!insertmacro MUI_LANGUAGE "Finnish" +!insertmacro MUI_LANGUAGE "Greek" +!insertmacro MUI_LANGUAGE "Russian" +!insertmacro MUI_LANGUAGE "Portuguese" +!insertmacro MUI_LANGUAGE "PortugueseBR" +!insertmacro MUI_LANGUAGE "Polish" +!insertmacro MUI_LANGUAGE "Ukrainian" +!insertmacro MUI_LANGUAGE "Czech" +!insertmacro MUI_LANGUAGE "Slovak" +!insertmacro MUI_LANGUAGE "Croatian" +!insertmacro MUI_LANGUAGE "Bulgarian" +!insertmacro MUI_LANGUAGE "Hungarian" +!insertmacro MUI_LANGUAGE "Thai" +!insertmacro MUI_LANGUAGE "Romanian" +!insertmacro MUI_LANGUAGE "Latvian" +!insertmacro MUI_LANGUAGE "Macedonian" +!insertmacro MUI_LANGUAGE "Estonian" +!insertmacro MUI_LANGUAGE "Turkish" +!insertmacro MUI_LANGUAGE "Lithuanian" +!insertmacro MUI_LANGUAGE "Slovenian" +!insertmacro MUI_LANGUAGE "Serbian" +!insertmacro MUI_LANGUAGE "SerbianLatin" +!insertmacro MUI_LANGUAGE "Arabic" +!insertmacro MUI_LANGUAGE "Farsi" +!insertmacro MUI_LANGUAGE "Hebrew" +!insertmacro MUI_LANGUAGE "Indonesian" +!insertmacro MUI_LANGUAGE "Mongolian" +!insertmacro MUI_LANGUAGE "Luxembourgish" +!insertmacro MUI_LANGUAGE "Albanian" +!insertmacro MUI_LANGUAGE "Breton" +!insertmacro MUI_LANGUAGE "Belarusian" +!insertmacro MUI_LANGUAGE "Icelandic" +!insertmacro MUI_LANGUAGE "Malay" +!insertmacro MUI_LANGUAGE "Bosnian" +!insertmacro MUI_LANGUAGE "Kurdish" +!insertmacro MUI_LANGUAGE "Irish" +!insertmacro MUI_LANGUAGE "Uzbek" +!insertmacro MUI_LANGUAGE "Galician" +!insertmacro MUI_LANGUAGE "Afrikaans" +!insertmacro MUI_LANGUAGE "Catalan" + +!insertmacro MUI_RESERVEFILE_LANGDLL + +Section "Install" + SetOutPath "$INSTDIR" + + SetCompress Auto + SetOverwrite IfNewer + File /r "bin\*.*" + + WriteRegStr HKCU "Software\OpenSim" "" $INSTDIR + WriteUninstaller "$INSTDIR\Uninstall.exe" + + !insertmacro MUI_STARTMENU_WRITE_BEGIN Application + CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER" + CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\OpenSim.lnk" "$INSTDIR\OpenSim.exe" + CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe" + !insertmacro MUI_STARTMENU_WRITE_END + + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenSim" "DisplayName" "OpenSim (remove only)" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenSim" "UninstallString" "$INSTDIR\Uninstall.exe" +SectionEnd + +Function .onInit + !insertmacro MUI_LANGDLL_DISPLAY +FunctionEnd + +Section "Uninstall" + Delete "$INSTDIR\*.*" + RMDir /r "$INSTDIR" + +!insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP + + Delete "$SMPROGRAMS\$MUI_TEMP\OpenSim.lnk" + Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk" + + ;Delete empty start menu parent diretories + StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP" + + startMenuDeleteLoop: + ClearErrors + RMDir $MUI_TEMP + GetFullPathName $MUI_TEMP "$MUI_TEMP\.." + + IfErrors startMenuDeleteLoopDone + + StrCmp $MUI_TEMP $SMPROGRAMS startMenuDeleteLoopDone startMenuDeleteLoop + startMenuDeleteLoopDone: + + DeleteRegKey /ifempty HKCU "Software\OpenSim" + DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenSim" +SectionEnd + +Function un.onInit + !insertmacro MUI_UNGETLANGUAGE +FunctionEnd diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs new file mode 100644 index 0000000000..36f3d7f4c5 --- /dev/null +++ b/OpenSim/Tools/pCampBot/BotManager.cs @@ -0,0 +1,238 @@ +/* +* Copyright (c) Contributors, http://opensimulator.org/ +* See CONTRIBUTORS.TXT for a full list of copyright holders. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* * Neither the name of the OpenSim Project nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +using System; +using System.Collections.Generic; +using System.Text; +using System.IO; +using libsecondlife; +using libsecondlife.Packets; +using Nini.Config; +using System.Threading; +using OpenSim.Framework; +using OpenSim.Framework.Console; + +namespace pCampBot +{ + /// + /// Thread/Bot manager for the application + /// + public class BotManager : conscmd_callback + { + private static readonly log4net.ILog m_log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); + + protected ConsoleBase m_console; + protected List m_lBot; + protected Thread[] m_td; + protected bool m_verbose = true; + protected Random somthing = new Random(System.Environment.TickCount); + protected int numbots = 0; + protected IConfig Previous_config; + + /// + /// Constructor Creates MainConsole.Instance to take commands and provide the place to write data + /// + public BotManager() + { + m_console = CreateConsole(); + MainConsole.Instance = m_console; + m_lBot = new List(); + } + + /// + /// Startup number of bots specified in the starting arguments + /// + /// How many bots to start up + /// The configuration for the bots to use + public void dobotStartup(int botcount, IConfig cs) + { + Previous_config = cs; + m_td = new Thread[botcount]; + for (int i = 0; i < botcount; i++) + { + startupBot(i, cs); + } + } + + /// + /// Add additional bots (and threads) to our bot pool + /// + /// How Many of them to add + public void addbots(int botcount) + { + int len = m_td.Length; + Thread[] m_td2 = new Thread[len + botcount]; + for (int i = 0; i < len; i++) + { + m_td2[i] = m_td[i]; + } + m_td = m_td2; + int newlen = len + botcount; + for (int i = len; i < newlen; i++) + { + startupBot(i, Previous_config); + } + } + + /// + /// This starts up the bot and stores the thread for the bot in the thread array + /// + /// The position in the thread array to stick the bot's thread + /// Configuration of the bot + public void startupBot(int pos, IConfig cs) + { + PhysicsBot pb = new PhysicsBot(cs); + + pb.OnConnected += handlebotEvent; + pb.OnDisconnected += handlebotEvent; + if (cs.GetString("firstname", "random") == "random") pb.firstname = CreateRandomName(); + if (cs.GetString("lastname", "random") == "random") pb.lastname = CreateRandomName(); + + m_td[pos] = new Thread(pb.startup); + m_td[pos].Name = "CampBot_" + pos; + m_td[pos].IsBackground = true; + m_td[pos].Start(); + m_lBot.Add(pb); + OpenSim.Framework.ThreadTracker.Add(m_td[pos]); + } + + /// + /// Creates a random name for the bot + /// + /// + private string CreateRandomName() + { + string returnstring = ""; + string chars = "abcdefghijklmnopqrstuvwxyz0123456789"; + + for (int i = 0; i < 7; i++) + { + returnstring += chars.Substring(somthing.Next(chars.Length),1); + } + return returnstring; + } + + /// + /// High level connnected/disconnected events so we can keep track of our threads by proxy + /// + /// + /// + public void handlebotEvent(PhysicsBot callbot, EventType eventt) + { + switch (eventt) + { + case EventType.CONNECTED: + m_log.Info("[ " + callbot.firstname + " " + callbot.lastname + "]: Connected"); + numbots++; + break; + case EventType.DISCONNECTED: + m_log.Info("[ " + callbot.firstname + " " + callbot.lastname + "]: Disconnected"); + m_td[m_lBot.IndexOf(callbot)].Abort(); + numbots--; + if (numbots >1) + Environment.Exit(0); + break; + } + } + + /// + /// Shutting down all bots + /// + public void doBotShutdown() + { + foreach (PhysicsBot pb in m_lBot) + { + pb.shutdown(); + } + } + + /// + /// Standard CreateConsole routine + /// + /// + protected ConsoleBase CreateConsole() + { + return new ConsoleBase("Region", this); + } + + /// + /// I don't think the bots use this.. + /// + /// + /// + /// + private string CombineParams(string[] commandParams, int pos) + { + string result = String.Empty; + for (int i = pos; i < commandParams.Length; i++) + { + result += commandParams[i] + " "; + } + result = result.TrimEnd(' '); + return result; + } + + /// + /// Command runnint tool.. Currently use it to add bots, shutdown and (dangerous)Forcequit + /// + /// + /// + public void RunCmd(string command, string[] cmdparams) + { + switch (command) + { + case "shutdown": + m_console.Warn("BOTMANAGER", "Shutting down bots"); + doBotShutdown(); + break; + case "quit": + m_console.Warn("DANGER", "This should only be used to quit the program if you've already used the shutdown command and the program hasn't quit"); + Environment.Exit(0); + break; + case "addbots": + int newbots = 0; + Helpers.TryParse(cmdparams[0], out newbots); + + if (newbots > 0) + addbots(newbots); + break; + case "help": + m_console.Notice("HELP", "\nshutdown - graceful shutdown\naddbots - adds n bots to the test\nquit - forcequits, dangerous if you have not already run shutdown"); + break; + } + } + + /// + /// Required method to implement the conscmd_callback interface + /// + /// + public void Show(string ShowWhat) + { + } + } +} diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs new file mode 100644 index 0000000000..48ce062692 --- /dev/null +++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs @@ -0,0 +1,201 @@ +/* +* Copyright (c) Contributors, http://opensimulator.org/ +* See CONTRIBUTORS.TXT for a full list of copyright holders. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* * Neither the name of the OpenSim Project nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +using System; +using System.Collections.Generic; +using System.IO; +using System.Text; +using libsecondlife; +using libsecondlife.Packets; +using Nini.Config; +using System.Threading; +using OpenSim.Framework; +using OpenSim.Framework.Console; +using Timer = System.Timers.Timer; + +namespace pCampBot +{ + public class PhysicsBot + { + public delegate void AnEvent(PhysicsBot callbot, EventType someevent); // event delegate for bot events + public IConfig startupConfig; // bot config, passed from BotManager + + public string firstname; + public string lastname; + public string password; + public string loginURI; + + public event AnEvent OnConnected; + public event AnEvent OnDisconnected; + + protected Timer m_action; // Action Timer + + protected Random somthing = new Random(System.Environment.TickCount);// We do stuff randomly here + + //New instance of a SecondLife client + public SecondLife client = new SecondLife(); + + protected string[] talkarray; + /// + /// + /// + /// nini config for the bot + public PhysicsBot(IConfig bsconfig) + { + startupConfig = bsconfig; + readconfig(); + talkarray = readexcuses(); + } + + //We do our actions here. This is where one would + //add additional steps and/or things the bot should do + + void m_action_Elapsed(object sender, System.Timers.ElapsedEventArgs e) + { + //client.Throttle.Task = 500000f; + //client.Throttle.Set(); + int walkorrun = somthing.Next(4); // Randomize between walking and running. The greater this number, + // the greater the bot's chances to walk instead of run. + if (walkorrun == 0) + { + client.Self.Movement.AlwaysRun = true; + } + else + { + client.Self.Movement.AlwaysRun = false; + } + + LLVector3 pos = client.Self.SimPosition; + LLVector3 newpos = new LLVector3(somthing.Next(255), somthing.Next(255), somthing.Next(255)); + client.Self.Movement.TurnToward(newpos); + + for (int i = 0; i < 2000; i++) + { + client.Self.Movement.AtPos = true; + Thread.Sleep(somthing.Next(25, 75)); // Makes sure the bots keep walking for this time. + } + client.Self.Jump(); + + string randomf = talkarray[somthing.Next(talkarray.Length)]; + if (talkarray.Length > 1 && randomf.Length > 1) + client.Self.Chat(randomf, 0, ChatType.Normal); + + //Thread.Sleep(somthing.Next(1, 10)); // Apparently its better without it right now. + + } + + /// + /// Read the Nini config and initialize + /// + public void readconfig() + { + firstname = startupConfig.GetString("firstname", "random"); + lastname = startupConfig.GetString("lastname", "random"); + password = startupConfig.GetString("password", "12345"); + loginURI = startupConfig.GetString("loginuri", "http://10.1.1.5:9000"); + + + + } + + /// + /// Tells LibSecondLife to logout and disconnect. Raises the disconnect events once it finishes. + /// + public void shutdown() + { + client.Network.Logout(); + } + + /// + /// This is the bot startup loop. + /// + public void startup() + { + client.Settings.LOGIN_SERVER = loginURI; + client.Network.OnConnected += new NetworkManager.ConnectedCallback(this.Network_OnConnected); + client.Network.OnSimConnected += new NetworkManager.SimConnectedCallback(this.Network_OnConnected); + client.Network.OnDisconnected += new NetworkManager.DisconnectedCallback(this.Network_OnDisconnected); + if (client.Network.Login(firstname, lastname, password, "pCampBot", "Your name")) + { + + if (OnConnected != null) + { + m_action = new Timer(somthing.Next(1000, 10000)); + m_action.Elapsed += new System.Timers.ElapsedEventHandler(m_action_Elapsed); + m_action.Start(); + OnConnected(this, EventType.CONNECTED); + client.Self.Jump(); + + } + } + else + { + MainConsole.Instance.Error(firstname + " " + lastname, "Can't login: " + client.Network.LoginMessage); + if (OnDisconnected != null) + { + OnDisconnected(this, EventType.DISCONNECTED); + } + } + } + + public void Network_OnConnected(object sender) + { + if (OnConnected != null) + { + OnConnected(this, EventType.CONNECTED); + } + } + + public void Simulator_Connected(object sender) + { + } + + public void Network_OnDisconnected(NetworkManager.DisconnectType reason, string message) + { + if (OnDisconnected != null) + { + OnDisconnected(this, EventType.DISCONNECTED); + } + } + + public string[] readexcuses() + { + string allexcuses = ""; + + string file = Path.Combine(Util.configDir(), "pCampBotSentences.txt"); + if (File.Exists(file)) + { + StreamReader csr = File.OpenText(file); + allexcuses = csr.ReadToEnd(); + csr.Close(); + } + + return allexcuses.Split(Environment.NewLine.ToCharArray()); + } + } +} diff --git a/OpenSim/Tools/pCampBot/README.txt b/OpenSim/Tools/pCampBot/README.txt new file mode 100644 index 0000000000..7ecbde1ba9 --- /dev/null +++ b/OpenSim/Tools/pCampBot/README.txt @@ -0,0 +1,44 @@ +This is the PhysicsCamperbot libslBot tester. + +This is designed to be run in standalone mode with authorize accounts +turned off as a way to stress test the simulator. It creates +clients that log in, randomly jump/walk around, and say excuses from +the BOFH. + +*** WARNING *** +Using this bot on a public grid could get you banned permanently, so +just say No! to griefing! + +----- Setup ----- +Linux: To build, in the main opensim directory, run: + ./runprebuild.sh + nant + +Windows: Run the prebuild.bat in the main opensim directory and then +open the created solution and compile it. + +pCampBot.exe will end up in the regular opensim/bin folder + +----- Running the bot ----- + +windows: pCampBot.exe -botcount -loginuri +*nix: mono pCampBot.exe -botcount -loginuri + +The names it produces are random by default, however, you can specify +either a firstname or a lastname in the command line also. + +ex: pCampBot.exe -botcount -loginuri -lastname + +If you specify both a firstname *and* a lastname, you'll likely run +into trouble unless you're only running a single bot. In that case, +there's also a password option. + +pCampBot.exe -botcount 1 -loginuri http://somegrid.com:8002 -firstname SomeDude -lastname SomeDude -password GobbleDeGook + +----- Commands ----- + +The bot has console commands: + help - lists the console commands and what they do + shutdown - gracefully shuts down the bots + quit - forcefully shuts things down leaving stuff unclean + addbots N - adds N number of random bots. (replace 'N' with a number) diff --git a/OpenSim/Tools/pCampBot/pCampBot.cs b/OpenSim/Tools/pCampBot/pCampBot.cs new file mode 100644 index 0000000000..704a3f5c9d --- /dev/null +++ b/OpenSim/Tools/pCampBot/pCampBot.cs @@ -0,0 +1,76 @@ +/* +* Copyright (c) Contributors, http://opensimulator.org/ +* See CONTRIBUTORS.TXT for a full list of copyright holders. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* * Neither the name of the OpenSim Project nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +using System; +using System.Collections.Generic; +using System.Text; +using libsecondlife; +using libsecondlife.Packets; +using Nini.Config; +using System.Threading; +using OpenSim.Framework.Console; + +namespace pCampBot +{ + /// + /// Event Types from the BOT. Add new events here + /// + public enum EventType:int + { + NONE = 0, + CONNECTED = 1, + DISCONNECTED = 2 + } + + public class pCampBot + { + [STAThread] + public static void Main(string[] args) + { + //Set up our nifty config.. thanks to nini + ArgvConfigSource cs = new ArgvConfigSource(args); + + cs.AddSwitch("Startup", "botcount"); + cs.AddSwitch("Startup", "loginuri"); + cs.AddSwitch("Startup", "firstname"); + cs.AddSwitch("Startup", "lastname"); + cs.AddSwitch("Startup", "password"); + + IConfig ol = cs.Configs["Startup"]; + int botcount = ol.GetInt("botcount", 1); + BotManager bm = new BotManager(); + + //startup specified number of bots. 1 is the default + bm.dobotStartup(botcount, ol); + while (true) + { + MainConsole.Instance.Prompt(); + } + } + } +}