diff options
Diffstat (limited to 'OpenSim/Tools/LaunchSLClient')
11 files changed, 844 insertions, 0 deletions
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs new file mode 100644 index 0000000..f6e52cf --- /dev/null +++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs | |||
@@ -0,0 +1,83 @@ | |||
1 | namespace LaunchSLClient | ||
2 | { | ||
3 | partial class Form1 | ||
4 | { | ||
5 | /// <summary> | ||
6 | /// Required designer variable. | ||
7 | /// </summary> | ||
8 | private System.ComponentModel.IContainer components = null; | ||
9 | |||
10 | /// <summary> | ||
11 | /// Clean up any resources being used. | ||
12 | /// </summary> | ||
13 | /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> | ||
14 | protected override void Dispose(bool disposing) | ||
15 | { | ||
16 | if (disposing && (components != null)) | ||
17 | { | ||
18 | components.Dispose(); | ||
19 | } | ||
20 | base.Dispose(disposing); | ||
21 | } | ||
22 | |||
23 | #region Windows Form Designer generated code | ||
24 | |||
25 | /// <summary> | ||
26 | /// Required method for Designer support - do not modify | ||
27 | /// the contents of this method with the code editor. | ||
28 | /// </summary> | ||
29 | private void InitializeComponent() | ||
30 | { | ||
31 | this.comboBox1 = new System.Windows.Forms.ComboBox(); | ||
32 | this.textBox1 = new System.Windows.Forms.TextBox(); | ||
33 | this.SuspendLayout(); | ||
34 | // | ||
35 | // comboBox1 | ||
36 | // | ||
37 | this.comboBox1.FormattingEnabled = true; | ||
38 | this.comboBox1.Items.AddRange(new object[] { | ||
39 | "Local Sandbox", | ||
40 | "Local Grid Server", | ||
41 | "DeepGrid - www.deepgrid.com", | ||
42 | "OSGrid - www.osgrid.org", | ||
43 | "Linden Labs - www.secondlife.com"}); | ||
44 | this.comboBox1.Location = new System.Drawing.Point(37, 83); | ||
45 | this.comboBox1.Name = "comboBox1"; | ||
46 | this.comboBox1.Size = new System.Drawing.Size(348, 21); | ||
47 | this.comboBox1.TabIndex = 0; | ||
48 | this.comboBox1.Text = "Choose from list"; | ||
49 | this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged); | ||
50 | // | ||
51 | // textBox1 | ||
52 | // | ||
53 | this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None; | ||
54 | this.textBox1.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); | ||
55 | this.textBox1.Location = new System.Drawing.Point(37, 32); | ||
56 | this.textBox1.Name = "textBox1"; | ||
57 | this.textBox1.ReadOnly = true; | ||
58 | this.textBox1.Size = new System.Drawing.Size(292, 19); | ||
59 | this.textBox1.TabIndex = 1; | ||
60 | this.textBox1.Text = "Choose from one of the following:"; | ||
61 | // | ||
62 | // Form1 | ||
63 | // | ||
64 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); | ||
65 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; | ||
66 | this.ClientSize = new System.Drawing.Size(501, 339); | ||
67 | this.Controls.Add(this.textBox1); | ||
68 | this.Controls.Add(this.comboBox1); | ||
69 | this.Name = "Form1"; | ||
70 | this.Text = "OpenSim Client Launcher"; | ||
71 | this.ResumeLayout(false); | ||
72 | this.PerformLayout(); | ||
73 | |||
74 | } | ||
75 | |||
76 | #endregion | ||
77 | |||
78 | private System.Windows.Forms.ComboBox comboBox1; | ||
79 | private System.Windows.Forms.TextBox textBox1; | ||
80 | |||
81 | } | ||
82 | } | ||
83 | |||
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs new file mode 100644 index 0000000..497661d --- /dev/null +++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs | |||
@@ -0,0 +1,194 @@ | |||
1 | /* | ||
2 | * Copyright (c) Contributors, http://www.openmetaverse.org/ | ||
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions are met: | ||
7 | * * Redistributions of source code must retain the above copyright | ||
8 | * notice, this list of conditions and the following disclaimer. | ||
9 | * * Redistributions in binary form must reproduce the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer in the | ||
11 | * documentation and/or other materials provided with the distribution. | ||
12 | * * Neither the name of the OpenSim Project nor the | ||
13 | * names of its contributors may be used to endorse or promote products | ||
14 | * derived from this software without specific prior written permission. | ||
15 | * | ||
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY | ||
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY | ||
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
26 | * | ||
27 | */ | ||
28 | using System; | ||
29 | using System.IO; | ||
30 | using System.Collections; | ||
31 | using System.Collections.Generic; | ||
32 | using System.ComponentModel; | ||
33 | using System.Data; | ||
34 | using System.Diagnostics; | ||
35 | using System.Drawing; | ||
36 | using System.Text; | ||
37 | using System.Text.RegularExpressions; | ||
38 | using System.Windows.Forms; | ||
39 | using Microsoft.Win32; | ||
40 | |||
41 | namespace LaunchSLClient | ||
42 | { | ||
43 | public partial class Form1 : Form | ||
44 | { | ||
45 | string gridUrl = ""; | ||
46 | string sandboxUrl = ""; | ||
47 | string deepGridUrl = "http://user.deepgrid.com:8002/"; | ||
48 | string osGridUrl = "http://www.osgrid.org:8002/"; | ||
49 | string runUrl = ""; | ||
50 | string runLine = ""; | ||
51 | Object exeFlags; | ||
52 | Object exePath; | ||
53 | |||
54 | |||
55 | public Form1() | ||
56 | { | ||
57 | InitializeComponent(); | ||
58 | ArrayList menuItems=new ArrayList(); | ||
59 | menuItems.Add("Please select one:"); | ||
60 | string sandboxHostName = ""; | ||
61 | string sandboxPort = ""; | ||
62 | Object simPath = null; | ||
63 | FileInfo defaultFile; | ||
64 | StreamReader stream; | ||
65 | |||
66 | |||
67 | // get executable path from registry | ||
68 | // | ||
69 | RegistryKey regKey; | ||
70 | RegistryKey exeKey; | ||
71 | regKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Linden Research, Inc.\SecondLife"); | ||
72 | if (regKey == null) | ||
73 | { | ||
74 | throw new LauncherException("Can't find Second Life. Are you sure it is installed?", "LauncherException.Form1"); | ||
75 | } | ||
76 | Object exe = regKey.GetValue("Exe"); | ||
77 | exeFlags = regKey.GetValue("Flags"); | ||
78 | exePath = regKey.GetValue(""); | ||
79 | runLine = exePath.ToString() + "\\" + exe.ToString(); | ||
80 | Registry.LocalMachine.Flush(); | ||
81 | Registry.LocalMachine.Close(); | ||
82 | |||
83 | // find opensim directory | ||
84 | // | ||
85 | exeKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\OpenSim\OpenSim"); | ||
86 | if (exeKey != null) | ||
87 | { | ||
88 | |||
89 | simPath = exeKey.GetValue("Path"); | ||
90 | |||
91 | // build sandbox URL from Regions\default.xml | ||
92 | // this is highly dependant on a standard default.xml | ||
93 | // | ||
94 | Directory.SetCurrentDirectory(simPath.ToString()); //this should be set to wherever we decide to put the binaries | ||
95 | string text; | ||
96 | Regex myRegex = new Regex(".*internal_ip_port=\\\"(?<port>.*?)\\\".*external_host_name=\\\"(?<name>.*?)\\\".*"); | ||
97 | if (File.Exists(@"Regions\default.xml")) | ||
98 | { | ||
99 | defaultFile = new FileInfo(@"Regions\default.xml"); | ||
100 | stream = defaultFile.OpenText(); | ||
101 | do | ||
102 | { | ||
103 | text = stream.ReadLine(); | ||
104 | if (text == null) | ||
105 | { | ||
106 | break; | ||
107 | } | ||
108 | MatchCollection theMatches = myRegex.Matches(text); | ||
109 | foreach (Match theMatch in theMatches) | ||
110 | { | ||
111 | if (theMatch.Length != 0) | ||
112 | { | ||
113 | sandboxHostName = theMatch.Groups["name"].ToString(); | ||
114 | sandboxPort = theMatch.Groups["port"].ToString(); | ||
115 | } | ||
116 | } | ||
117 | } while (text != null); | ||
118 | stream.Close(); | ||
119 | sandboxUrl = "http:\\" + sandboxHostName + ":" + sandboxPort; | ||
120 | menuItems.Add("Local Sandbox"); | ||
121 | } | ||
122 | else | ||
123 | { | ||
124 | MessageBox.Show("No OpenSim config files found. Please run OpenSim and finish configuration to run a local sim. Showing public grids only", "No OpenSim"); | ||
125 | } | ||
126 | |||
127 | |||
128 | //build local grid URL from network_servers_information.xml | ||
129 | // this is highly dependant on a standard default.xml | ||
130 | // | ||
131 | myRegex = new Regex(".*UserServerURL=\\\"(?<url>.*?)\\\".*"); | ||
132 | if (File.Exists(@"network_servers_information.xml")) | ||
133 | { | ||
134 | defaultFile = new FileInfo(@"network_servers_information.xml"); | ||
135 | |||
136 | |||
137 | stream = defaultFile.OpenText(); | ||
138 | do | ||
139 | { | ||
140 | text = stream.ReadLine(); | ||
141 | if (text == null) | ||
142 | { | ||
143 | break; | ||
144 | } | ||
145 | MatchCollection theMatches = myRegex.Matches(text); | ||
146 | foreach (Match theMatch in theMatches) | ||
147 | { | ||
148 | if (theMatch.Length != 0) | ||
149 | { | ||
150 | gridUrl = theMatch.Groups["url"].ToString(); | ||
151 | } | ||
152 | } | ||
153 | } while (text != null); | ||
154 | stream.Close(); | ||
155 | if (gridUrl != null) | ||
156 | { | ||
157 | menuItems.Add("Local Grid Server"); | ||
158 | } | ||
159 | } | ||
160 | } | ||
161 | else | ||
162 | { | ||
163 | MessageBox.Show("No OpenSim installed. Showing public grids only", "No OpenSim"); | ||
164 | } | ||
165 | menuItems.Add("DeepGrid - www.deepgrid.com"); | ||
166 | menuItems.Add("OSGrid - www.osgrid.org"); | ||
167 | menuItems.Add("Linden Labs - www.secondlife.com"); | ||
168 | comboBox1.DataSource=menuItems; | ||
169 | } | ||
170 | |||
171 | private void radioButton1_CheckedChanged(object sender, EventArgs e) | ||
172 | { | ||
173 | |||
174 | } | ||
175 | |||
176 | private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) | ||
177 | { | ||
178 | if (comboBox1.Text == "Please select one:") { return; } | ||
179 | if (comboBox1.Text == "Local Sandbox") { runUrl=" - loginuri " + sandboxUrl;} | ||
180 | if (comboBox1.Text == "Local Grid Server") { runUrl = " - loginuri " + gridUrl; } | ||
181 | if (comboBox1.Text == "DeepGrid - www.deepgrid.com") { runUrl = " - loginuri " + deepGridUrl; } | ||
182 | if (comboBox1.Text == "OSGrid - www.osgrid.org") { runUrl = " - loginuri " + osGridUrl; } | ||
183 | if (comboBox1.Text == "Linden Labs - www.secondlife.com") { runUrl = ""; } | ||
184 | System.Diagnostics.Process proc = new System.Diagnostics.Process(); | ||
185 | proc.StartInfo.FileName = runLine; | ||
186 | proc.StartInfo.Arguments = exeFlags.ToString() + " " + runUrl; | ||
187 | proc.StartInfo.UseShellExecute = false; | ||
188 | proc.StartInfo.RedirectStandardOutput = false; | ||
189 | proc.StartInfo.WorkingDirectory = exePath.ToString(); | ||
190 | proc.Start(); | ||
191 | proc.WaitForExit(); | ||
192 | } | ||
193 | } | ||
194 | } \ No newline at end of file | ||
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.resx b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.resx new file mode 100644 index 0000000..ff31a6d --- /dev/null +++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.resx | |||
@@ -0,0 +1,120 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <root> | ||
3 | <!-- | ||
4 | Microsoft ResX Schema | ||
5 | |||
6 | Version 2.0 | ||
7 | |||
8 | The primary goals of this format is to allow a simple XML format | ||
9 | that is mostly human readable. The generation and parsing of the | ||
10 | various data types are done through the TypeConverter classes | ||
11 | associated with the data types. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | ... ado.net/XML headers & schema ... | ||
16 | <resheader name="resmimetype">text/microsoft-resx</resheader> | ||
17 | <resheader name="version">2.0</resheader> | ||
18 | <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||
19 | <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||
20 | <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||
21 | <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||
22 | <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||
23 | <value>[base64 mime encoded serialized .NET Framework object]</value> | ||
24 | </data> | ||
25 | <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||
26 | <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||
27 | <comment>This is a comment</comment> | ||
28 | </data> | ||
29 | |||
30 | There are any number of "resheader" rows that contain simple | ||
31 | name/value pairs. | ||
32 | |||
33 | Each data row contains a name, and value. The row also contains a | ||
34 | type or mimetype. Type corresponds to a .NET class that support | ||
35 | text/value conversion through the TypeConverter architecture. | ||
36 | Classes that don't support this are serialized and stored with the | ||
37 | mimetype set. | ||
38 | |||
39 | The mimetype is used for serialized objects, and tells the | ||
40 | ResXResourceReader how to depersist the object. This is currently not | ||
41 | extensible. For a given mimetype the value must be set accordingly: | ||
42 | |||
43 | Note - application/x-microsoft.net.object.binary.base64 is the format | ||
44 | that the ResXResourceWriter will generate, however the reader can | ||
45 | read any of the formats listed below. | ||
46 | |||
47 | mimetype: application/x-microsoft.net.object.binary.base64 | ||
48 | value : The object must be serialized with | ||
49 | : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||
50 | : and then encoded with base64 encoding. | ||
51 | |||
52 | mimetype: application/x-microsoft.net.object.soap.base64 | ||
53 | value : The object must be serialized with | ||
54 | : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||
55 | : and then encoded with base64 encoding. | ||
56 | |||
57 | mimetype: application/x-microsoft.net.object.bytearray.base64 | ||
58 | value : The object must be serialized into a byte array | ||
59 | : using a System.ComponentModel.TypeConverter | ||
60 | : and then encoded with base64 encoding. | ||
61 | --> | ||
62 | <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||
63 | <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||
64 | <xsd:element name="root" msdata:IsDataSet="true"> | ||
65 | <xsd:complexType> | ||
66 | <xsd:choice maxOccurs="unbounded"> | ||
67 | <xsd:element name="metadata"> | ||
68 | <xsd:complexType> | ||
69 | <xsd:sequence> | ||
70 | <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||
71 | </xsd:sequence> | ||
72 | <xsd:attribute name="name" use="required" type="xsd:string" /> | ||
73 | <xsd:attribute name="type" type="xsd:string" /> | ||
74 | <xsd:attribute name="mimetype" type="xsd:string" /> | ||
75 | <xsd:attribute ref="xml:space" /> | ||
76 | </xsd:complexType> | ||
77 | </xsd:element> | ||
78 | <xsd:element name="assembly"> | ||
79 | <xsd:complexType> | ||
80 | <xsd:attribute name="alias" type="xsd:string" /> | ||
81 | <xsd:attribute name="name" type="xsd:string" /> | ||
82 | </xsd:complexType> | ||
83 | </xsd:element> | ||
84 | <xsd:element name="data"> | ||
85 | <xsd:complexType> | ||
86 | <xsd:sequence> | ||
87 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
88 | <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||
89 | </xsd:sequence> | ||
90 | <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||
91 | <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||
92 | <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||
93 | <xsd:attribute ref="xml:space" /> | ||
94 | </xsd:complexType> | ||
95 | </xsd:element> | ||
96 | <xsd:element name="resheader"> | ||
97 | <xsd:complexType> | ||
98 | <xsd:sequence> | ||
99 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
100 | </xsd:sequence> | ||
101 | <xsd:attribute name="name" type="xsd:string" use="required" /> | ||
102 | </xsd:complexType> | ||
103 | </xsd:element> | ||
104 | </xsd:choice> | ||
105 | </xsd:complexType> | ||
106 | </xsd:element> | ||
107 | </xsd:schema> | ||
108 | <resheader name="resmimetype"> | ||
109 | <value>text/microsoft-resx</value> | ||
110 | </resheader> | ||
111 | <resheader name="version"> | ||
112 | <value>2.0</value> | ||
113 | </resheader> | ||
114 | <resheader name="reader"> | ||
115 | <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
116 | </resheader> | ||
117 | <resheader name="writer"> | ||
118 | <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
119 | </resheader> | ||
120 | </root> \ No newline at end of file | ||
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LaunchSLClient.csproj b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LaunchSLClient.csproj new file mode 100644 index 0000000..bc70f11 --- /dev/null +++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LaunchSLClient.csproj | |||
@@ -0,0 +1,79 @@ | |||
1 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
2 | <PropertyGroup> | ||
3 | <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | ||
4 | <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> | ||
5 | <ProductVersion>8.0.50727</ProductVersion> | ||
6 | <SchemaVersion>2.0</SchemaVersion> | ||
7 | <ProjectGuid>{50FD2DCD-2E2D-413C-8260-D9CD22405895}</ProjectGuid> | ||
8 | <OutputType>WinExe</OutputType> | ||
9 | <AppDesignerFolder>Properties</AppDesignerFolder> | ||
10 | <RootNamespace>LaunchSLClient</RootNamespace> | ||
11 | <AssemblyName>LaunchSLClient</AssemblyName> | ||
12 | </PropertyGroup> | ||
13 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> | ||
14 | <DebugSymbols>true</DebugSymbols> | ||
15 | <DebugType>full</DebugType> | ||
16 | <Optimize>false</Optimize> | ||
17 | <OutputPath>bin\Debug\</OutputPath> | ||
18 | <DefineConstants>DEBUG;TRACE</DefineConstants> | ||
19 | <ErrorReport>prompt</ErrorReport> | ||
20 | <WarningLevel>4</WarningLevel> | ||
21 | </PropertyGroup> | ||
22 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> | ||
23 | <DebugType>pdbonly</DebugType> | ||
24 | <Optimize>true</Optimize> | ||
25 | <OutputPath>bin\Release\</OutputPath> | ||
26 | <DefineConstants>TRACE</DefineConstants> | ||
27 | <ErrorReport>prompt</ErrorReport> | ||
28 | <WarningLevel>4</WarningLevel> | ||
29 | </PropertyGroup> | ||
30 | <ItemGroup> | ||
31 | <Reference Include="System" /> | ||
32 | <Reference Include="System.Data" /> | ||
33 | <Reference Include="System.Deployment" /> | ||
34 | <Reference Include="System.Drawing" /> | ||
35 | <Reference Include="System.Windows.Forms" /> | ||
36 | <Reference Include="System.Xml" /> | ||
37 | </ItemGroup> | ||
38 | <ItemGroup> | ||
39 | <Compile Include="Form1.cs"> | ||
40 | <SubType>Form</SubType> | ||
41 | </Compile> | ||
42 | <Compile Include="Form1.Designer.cs"> | ||
43 | <DependentUpon>Form1.cs</DependentUpon> | ||
44 | </Compile> | ||
45 | <Compile Include="LauncherException.cs" /> | ||
46 | <Compile Include="Program.cs" /> | ||
47 | <Compile Include="Properties\AssemblyInfo.cs" /> | ||
48 | <EmbeddedResource Include="Form1.resx"> | ||
49 | <SubType>Designer</SubType> | ||
50 | <DependentUpon>Form1.cs</DependentUpon> | ||
51 | </EmbeddedResource> | ||
52 | <EmbeddedResource Include="Properties\Resources.resx"> | ||
53 | <Generator>ResXFileCodeGenerator</Generator> | ||
54 | <LastGenOutput>Resources.Designer.cs</LastGenOutput> | ||
55 | <SubType>Designer</SubType> | ||
56 | </EmbeddedResource> | ||
57 | <Compile Include="Properties\Resources.Designer.cs"> | ||
58 | <AutoGen>True</AutoGen> | ||
59 | <DependentUpon>Resources.resx</DependentUpon> | ||
60 | </Compile> | ||
61 | <None Include="Properties\Settings.settings"> | ||
62 | <Generator>SettingsSingleFileGenerator</Generator> | ||
63 | <LastGenOutput>Settings.Designer.cs</LastGenOutput> | ||
64 | </None> | ||
65 | <Compile Include="Properties\Settings.Designer.cs"> | ||
66 | <AutoGen>True</AutoGen> | ||
67 | <DependentUpon>Settings.settings</DependentUpon> | ||
68 | <DesignTimeSharedInput>True</DesignTimeSharedInput> | ||
69 | </Compile> | ||
70 | </ItemGroup> | ||
71 | <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> | ||
72 | <!-- To modify your build process, add your task inside one of the targets below and uncomment it. | ||
73 | Other similar extension points exist, see Microsoft.Common.targets. | ||
74 | <Target Name="BeforeBuild"> | ||
75 | </Target> | ||
76 | <Target Name="AfterBuild"> | ||
77 | </Target> | ||
78 | --> | ||
79 | </Project> \ No newline at end of file | ||
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs new file mode 100644 index 0000000..7a2e861 --- /dev/null +++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs | |||
@@ -0,0 +1,53 @@ | |||
1 | /* | ||
2 | * Copyright (c) Contributors, http://www.openmetaverse.org/ | ||
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions are met: | ||
7 | * * Redistributions of source code must retain the above copyright | ||
8 | * notice, this list of conditions and the following disclaimer. | ||
9 | * * Redistributions in binary form must reproduce the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer in the | ||
11 | * documentation and/or other materials provided with the distribution. | ||
12 | * * Neither the name of the OpenSim Project nor the | ||
13 | * names of its contributors may be used to endorse or promote products | ||
14 | * derived from this software without specific prior written permission. | ||
15 | * | ||
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY | ||
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY | ||
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
26 | * | ||
27 | */ | ||
28 | using System; | ||
29 | using System.Collections.Generic; | ||
30 | using System.Text; | ||
31 | |||
32 | namespace LaunchSLClient | ||
33 | { | ||
34 | class LauncherException : ApplicationException | ||
35 | { | ||
36 | |||
37 | private const string CUSTOMMESSAGE = "The SL Client Launcher has failed with the following error: "; | ||
38 | |||
39 | private LauncherException() { } | ||
40 | |||
41 | public LauncherException(string errorMesssage, string source) | ||
42 | : base (CUSTOMMESSAGE + errorMesssage) | ||
43 | { | ||
44 | base.Source = source; | ||
45 | } | ||
46 | |||
47 | public LauncherException(string errorMessage, string source, Exception innerException) | ||
48 | : base(CUSTOMMESSAGE + errorMessage, innerException) | ||
49 | { | ||
50 | base.Source = source; | ||
51 | } | ||
52 | } | ||
53 | } | ||
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs new file mode 100644 index 0000000..ba652a9 --- /dev/null +++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs | |||
@@ -0,0 +1,57 @@ | |||
1 | /* | ||
2 | * Copyright (c) Contributors, http://www.openmetaverse.org/ | ||
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions are met: | ||
7 | * * Redistributions of source code must retain the above copyright | ||
8 | * notice, this list of conditions and the following disclaimer. | ||
9 | * * Redistributions in binary form must reproduce the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer in the | ||
11 | * documentation and/or other materials provided with the distribution. | ||
12 | * * Neither the name of the OpenSim Project nor the | ||
13 | * names of its contributors may be used to endorse or promote products | ||
14 | * derived from this software without specific prior written permission. | ||
15 | * | ||
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY | ||
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY | ||
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
26 | * | ||
27 | */ | ||
28 | using System; | ||
29 | using System.Collections.Generic; | ||
30 | using System.Windows.Forms; | ||
31 | |||
32 | |||
33 | namespace LaunchSLClient | ||
34 | { | ||
35 | static class Program | ||
36 | { | ||
37 | /// <summary> | ||
38 | /// The main entry point for the application. | ||
39 | /// </summary> | ||
40 | [STAThread] | ||
41 | static void Main() | ||
42 | { | ||
43 | |||
44 | try | ||
45 | { | ||
46 | Application.EnableVisualStyles(); | ||
47 | Application.SetCompatibleTextRenderingDefault(false); | ||
48 | Application.Run(new Form1()); | ||
49 | } | ||
50 | catch (Exception ex) | ||
51 | { | ||
52 | // Handles all unhandled errors | ||
53 | MessageBox.Show(ex.Message,"Unhandled Error"); | ||
54 | } | ||
55 | } | ||
56 | } | ||
57 | } \ No newline at end of file | ||
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..4bd2cea --- /dev/null +++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs | |||
@@ -0,0 +1,33 @@ | |||
1 | using System.Reflection; | ||
2 | using System.Runtime.CompilerServices; | ||
3 | using System.Runtime.InteropServices; | ||
4 | |||
5 | // General Information about an assembly is controlled through the following | ||
6 | // set of attributes. Change these attribute values to modify the information | ||
7 | // associated with an assembly. | ||
8 | [assembly: AssemblyTitle("LaunchSLClient")] | ||
9 | [assembly: AssemblyDescription("")] | ||
10 | [assembly: AssemblyConfiguration("")] | ||
11 | [assembly: AssemblyCompany("Home")] | ||
12 | [assembly: AssemblyProduct("LaunchSLClient")] | ||
13 | [assembly: AssemblyCopyright("Copyright © Home 2007")] | ||
14 | [assembly: AssemblyTrademark("")] | ||
15 | [assembly: AssemblyCulture("")] | ||
16 | |||
17 | // Setting ComVisible to false makes the types in this assembly not visible | ||
18 | // to COM components. If you need to access a type in this assembly from | ||
19 | // COM, set the ComVisible attribute to true on that type. | ||
20 | [assembly: ComVisible(false)] | ||
21 | |||
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM | ||
23 | [assembly: Guid("b08c6904-e6cc-4d9c-8d24-feb0464b1648")] | ||
24 | |||
25 | // Version information for an assembly consists of the following four values: | ||
26 | // | ||
27 | // Major Version | ||
28 | // Minor Version | ||
29 | // Build Number | ||
30 | // Revision | ||
31 | // | ||
32 | [assembly: AssemblyVersion("1.0.0.0")] | ||
33 | [assembly: AssemblyFileVersion("1.0.0.0")] | ||
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.Designer.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.Designer.cs new file mode 100644 index 0000000..f9dfcc0 --- /dev/null +++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.Designer.cs | |||
@@ -0,0 +1,71 @@ | |||
1 | //------------------------------------------------------------------------------ | ||
2 | // <auto-generated> | ||
3 | // This code was generated by a tool. | ||
4 | // Runtime Version:2.0.50727.832 | ||
5 | // | ||
6 | // Changes to this file may cause incorrect behavior and will be lost if | ||
7 | // the code is regenerated. | ||
8 | // </auto-generated> | ||
9 | //------------------------------------------------------------------------------ | ||
10 | |||
11 | namespace LaunchSLClient.Properties | ||
12 | { | ||
13 | |||
14 | |||
15 | /// <summary> | ||
16 | /// A strongly-typed resource class, for looking up localized strings, etc. | ||
17 | /// </summary> | ||
18 | // This class was auto-generated by the StronglyTypedResourceBuilder | ||
19 | // class via a tool like ResGen or Visual Studio. | ||
20 | // To add or remove a member, edit your .ResX file then rerun ResGen | ||
21 | // with the /str option, or rebuild your VS project. | ||
22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")] | ||
23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] | ||
24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] | ||
25 | internal class Resources | ||
26 | { | ||
27 | |||
28 | private static global::System.Resources.ResourceManager resourceMan; | ||
29 | |||
30 | private static global::System.Globalization.CultureInfo resourceCulture; | ||
31 | |||
32 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] | ||
33 | internal Resources() | ||
34 | { | ||
35 | } | ||
36 | |||
37 | /// <summary> | ||
38 | /// Returns the cached ResourceManager instance used by this class. | ||
39 | /// </summary> | ||
40 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] | ||
41 | internal static global::System.Resources.ResourceManager ResourceManager | ||
42 | { | ||
43 | get | ||
44 | { | ||
45 | if ((resourceMan == null)) | ||
46 | { | ||
47 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("LaunchSLClient.Properties.Resources", typeof(Resources).Assembly); | ||
48 | resourceMan = temp; | ||
49 | } | ||
50 | return resourceMan; | ||
51 | } | ||
52 | } | ||
53 | |||
54 | /// <summary> | ||
55 | /// Overrides the current thread's CurrentUICulture property for all | ||
56 | /// resource lookups using this strongly typed resource class. | ||
57 | /// </summary> | ||
58 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] | ||
59 | internal static global::System.Globalization.CultureInfo Culture | ||
60 | { | ||
61 | get | ||
62 | { | ||
63 | return resourceCulture; | ||
64 | } | ||
65 | set | ||
66 | { | ||
67 | resourceCulture = value; | ||
68 | } | ||
69 | } | ||
70 | } | ||
71 | } | ||
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.resx b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.resx new file mode 100644 index 0000000..ffecec8 --- /dev/null +++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.resx | |||
@@ -0,0 +1,117 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <root> | ||
3 | <!-- | ||
4 | Microsoft ResX Schema | ||
5 | |||
6 | Version 2.0 | ||
7 | |||
8 | The primary goals of this format is to allow a simple XML format | ||
9 | that is mostly human readable. The generation and parsing of the | ||
10 | various data types are done through the TypeConverter classes | ||
11 | associated with the data types. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | ... ado.net/XML headers & schema ... | ||
16 | <resheader name="resmimetype">text/microsoft-resx</resheader> | ||
17 | <resheader name="version">2.0</resheader> | ||
18 | <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||
19 | <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||
20 | <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||
21 | <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||
22 | <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||
23 | <value>[base64 mime encoded serialized .NET Framework object]</value> | ||
24 | </data> | ||
25 | <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||
26 | <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||
27 | <comment>This is a comment</comment> | ||
28 | </data> | ||
29 | |||
30 | There are any number of "resheader" rows that contain simple | ||
31 | name/value pairs. | ||
32 | |||
33 | Each data row contains a name, and value. The row also contains a | ||
34 | type or mimetype. Type corresponds to a .NET class that support | ||
35 | text/value conversion through the TypeConverter architecture. | ||
36 | Classes that don't support this are serialized and stored with the | ||
37 | mimetype set. | ||
38 | |||
39 | The mimetype is used for serialized objects, and tells the | ||
40 | ResXResourceReader how to depersist the object. This is currently not | ||
41 | extensible. For a given mimetype the value must be set accordingly: | ||
42 | |||
43 | Note - application/x-microsoft.net.object.binary.base64 is the format | ||
44 | that the ResXResourceWriter will generate, however the reader can | ||
45 | read any of the formats listed below. | ||
46 | |||
47 | mimetype: application/x-microsoft.net.object.binary.base64 | ||
48 | value : The object must be serialized with | ||
49 | : System.Serialization.Formatters.Binary.BinaryFormatter | ||
50 | : and then encoded with base64 encoding. | ||
51 | |||
52 | mimetype: application/x-microsoft.net.object.soap.base64 | ||
53 | value : The object must be serialized with | ||
54 | : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||
55 | : and then encoded with base64 encoding. | ||
56 | |||
57 | mimetype: application/x-microsoft.net.object.bytearray.base64 | ||
58 | value : The object must be serialized into a byte array | ||
59 | : using a System.ComponentModel.TypeConverter | ||
60 | : and then encoded with base64 encoding. | ||
61 | --> | ||
62 | <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||
63 | <xsd:element name="root" msdata:IsDataSet="true"> | ||
64 | <xsd:complexType> | ||
65 | <xsd:choice maxOccurs="unbounded"> | ||
66 | <xsd:element name="metadata"> | ||
67 | <xsd:complexType> | ||
68 | <xsd:sequence> | ||
69 | <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||
70 | </xsd:sequence> | ||
71 | <xsd:attribute name="name" type="xsd:string" /> | ||
72 | <xsd:attribute name="type" type="xsd:string" /> | ||
73 | <xsd:attribute name="mimetype" type="xsd:string" /> | ||
74 | </xsd:complexType> | ||
75 | </xsd:element> | ||
76 | <xsd:element name="assembly"> | ||
77 | <xsd:complexType> | ||
78 | <xsd:attribute name="alias" type="xsd:string" /> | ||
79 | <xsd:attribute name="name" type="xsd:string" /> | ||
80 | </xsd:complexType> | ||
81 | </xsd:element> | ||
82 | <xsd:element name="data"> | ||
83 | <xsd:complexType> | ||
84 | <xsd:sequence> | ||
85 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
86 | <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||
87 | </xsd:sequence> | ||
88 | <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" /> | ||
89 | <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||
90 | <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||
91 | </xsd:complexType> | ||
92 | </xsd:element> | ||
93 | <xsd:element name="resheader"> | ||
94 | <xsd:complexType> | ||
95 | <xsd:sequence> | ||
96 | <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
97 | </xsd:sequence> | ||
98 | <xsd:attribute name="name" type="xsd:string" use="required" /> | ||
99 | </xsd:complexType> | ||
100 | </xsd:element> | ||
101 | </xsd:choice> | ||
102 | </xsd:complexType> | ||
103 | </xsd:element> | ||
104 | </xsd:schema> | ||
105 | <resheader name="resmimetype"> | ||
106 | <value>text/microsoft-resx</value> | ||
107 | </resheader> | ||
108 | <resheader name="version"> | ||
109 | <value>2.0</value> | ||
110 | </resheader> | ||
111 | <resheader name="reader"> | ||
112 | <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
113 | </resheader> | ||
114 | <resheader name="writer"> | ||
115 | <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
116 | </resheader> | ||
117 | </root> \ No newline at end of file | ||
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.Designer.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.Designer.cs new file mode 100644 index 0000000..72c3ced --- /dev/null +++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.Designer.cs | |||
@@ -0,0 +1,30 @@ | |||
1 | //------------------------------------------------------------------------------ | ||
2 | // <auto-generated> | ||
3 | // This code was generated by a tool. | ||
4 | // Runtime Version:2.0.50727.832 | ||
5 | // | ||
6 | // Changes to this file may cause incorrect behavior and will be lost if | ||
7 | // the code is regenerated. | ||
8 | // </auto-generated> | ||
9 | //------------------------------------------------------------------------------ | ||
10 | |||
11 | namespace LaunchSLClient.Properties | ||
12 | { | ||
13 | |||
14 | |||
15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] | ||
16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "8.0.0.0")] | ||
17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase | ||
18 | { | ||
19 | |||
20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); | ||
21 | |||
22 | public static Settings Default | ||
23 | { | ||
24 | get | ||
25 | { | ||
26 | return defaultInstance; | ||
27 | } | ||
28 | } | ||
29 | } | ||
30 | } | ||
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.settings b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.settings new file mode 100644 index 0000000..abf36c5 --- /dev/null +++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.settings | |||
@@ -0,0 +1,7 @@ | |||
1 | <?xml version='1.0' encoding='utf-8'?> | ||
2 | <SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)"> | ||
3 | <Profiles> | ||
4 | <Profile Name="(Default)" /> | ||
5 | </Profiles> | ||
6 | <Settings /> | ||
7 | </SettingsFile> | ||