aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenGridServices.GridServer
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenGridServices.GridServer/ConsoleCmds.cs57
-rw-r--r--OpenGridServices.GridServer/GridHttp.cs8
-rw-r--r--OpenGridServices.GridServer/Main.cs291
-rw-r--r--OpenGridServices.GridServer/OpenGridServices.GridServer.csproj9
-rw-r--r--OpenGridServices.GridServer/OpenGridServices.GridServer.exe.build96
-rw-r--r--OpenGridServices.GridServer/SimProfiles.cs3
6 files changed, 143 insertions, 321 deletions
diff --git a/OpenGridServices.GridServer/ConsoleCmds.cs b/OpenGridServices.GridServer/ConsoleCmds.cs
deleted file mode 100644
index 82a2279..0000000
--- a/OpenGridServices.GridServer/ConsoleCmds.cs
+++ /dev/null
@@ -1,57 +0,0 @@
1/*
2Copyright (c) OpenSim project, http://osgrid.org/
3
4
5* All rights reserved.
6*
7* Redistribution and use in source and binary forms, with or without
8* modification, are permitted provided that the following conditions are met:
9* * Redistributions of source code must retain the above copyright
10* notice, this list of conditions and the following disclaimer.
11* * Redistributions in binary form must reproduce the above copyright
12* notice, this list of conditions and the following disclaimer in the
13* documentation and/or other materials provided with the distribution.
14* * Neither the name of the <organization> nor the
15* names of its contributors may be used to endorse or promote products
16* derived from this software without specific prior written permission.
17*
18* THIS SOFTWARE IS PROVIDED BY <copyright holder> ``AS IS'' AND ANY
19* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21* DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY
22* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
25* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28*/
29
30using System;
31using System.Text;
32using ServerConsole;
33
34namespace OpenGridServices
35{
36
37 public class GridConsole : conscmd_callback {
38 public GridConsole() { }
39
40 public override void RunCmd(string cmd, string[] cmdparams) {
41 switch(cmd) {
42 case "help":
43 ServerConsole.MainConsole.Instance.WriteLine("shutdown - shutdown the grid (USE CAUTION!)"
44);
45 break;
46
47 case "shutdown":
48 ServerConsole.MainConsole.Instance.Close();
49 Environment.Exit(0);
50 break;
51 }
52 }
53
54 public override void Show(string ShowWhat) {
55 }
56 }
57}
diff --git a/OpenGridServices.GridServer/GridHttp.cs b/OpenGridServices.GridServer/GridHttp.cs
index 496a3bc..758d761 100644
--- a/OpenGridServices.GridServer/GridHttp.cs
+++ b/OpenGridServices.GridServer/GridHttp.cs
@@ -37,23 +37,23 @@ using System.IO;
37using System.Collections; 37using System.Collections;
38using System.Collections.Generic; 38using System.Collections.Generic;
39using libsecondlife; 39using libsecondlife;
40using ServerConsole;
41using OpenSim.Framework.Sims; 40using OpenSim.Framework.Sims;
41using OpenSim.Framework.Console;
42 42
43namespace OpenGridServices 43namespace OpenGridServices.GridServer
44{ 44{
45 public class GridHTTPServer { 45 public class GridHTTPServer {
46 public Thread HTTPD; 46 public Thread HTTPD;
47 public HttpListener Listener; 47 public HttpListener Listener;
48 48
49 public GridHTTPServer() { 49 public GridHTTPServer() {
50 ServerConsole.MainConsole.Instance.WriteLine("Starting up HTTP Server"); 50 MainConsole.Instance.WriteLine("Starting up HTTP Server");
51 HTTPD = new Thread(new ThreadStart(StartHTTP)); 51 HTTPD = new Thread(new ThreadStart(StartHTTP));
52 HTTPD.Start(); 52 HTTPD.Start();
53 } 53 }
54 54
55 public void StartHTTP() { 55 public void StartHTTP() {
56 ServerConsole.MainConsole.Instance.WriteLine("GridHttp.cs:StartHTTP() - Spawned main thread OK"); 56 MainConsole.Instance.WriteLine("GridHttp.cs:StartHTTP() - Spawned main thread OK");
57 Listener = new HttpListener(); 57 Listener = new HttpListener();
58 58
59 Listener.Prefixes.Add("http://+:8001/gridserver/"); 59 Listener.Prefixes.Add("http://+:8001/gridserver/");
diff --git a/OpenGridServices.GridServer/Main.cs b/OpenGridServices.GridServer/Main.cs
index de49b1e..16abc24 100644
--- a/OpenGridServices.GridServer/Main.cs
+++ b/OpenGridServices.GridServer/Main.cs
@@ -31,207 +31,96 @@ using System;
31using System.IO; 31using System.IO;
32using System.Text; 32using System.Text;
33using libsecondlife; 33using libsecondlife;
34using ServerConsole; 34using OpenSim.Framework.Console;
35 35
36namespace OpenGridServices 36namespace OpenGridServices.GridServer
37{ 37{
38 /// <summary> 38 /// <summary>
39 /// </summary> 39 /// </summary>
40 public class OpenGrid_Main 40 public class OpenGrid_Main : conscmd_callback
41 { 41 {
42 42
43 public static OpenGrid_Main thegrid; 43 public static OpenGrid_Main thegrid;
44 public string GridOwner; 44 public string GridOwner;
45 public string DefaultStartupMsg; 45 public string DefaultStartupMsg;
46 public string DefaultAssetServer; 46 public string DefaultAssetServer;
47 public string AssetSendKey; 47 public string AssetSendKey;
48 public string AssetRecvKey; 48 public string AssetRecvKey;
49 public string DefaultUserServer; 49 public string DefaultUserServer;
50 public string UserSendKey; 50 public string UserSendKey;
51 public string UserRecvKey; 51 public string UserRecvKey;
52 52
53 public GridHTTPServer _httpd; 53 public GridHTTPServer _httpd;
54 public SimProfileManager _regionmanager; 54 public SimProfileManager _regionmanager;
55 55
56 [STAThread] 56 private ConsoleBase m_console;
57 public static void Main( string[] args ) 57
58 { 58 [STAThread]
59 Console.WriteLine("Starting...\n"); 59 public static void Main(string[] args)
60 ServerConsole.MainConsole.Instance = new MServerConsole(ServerConsole.ConsoleBase.ConsoleType.Local, "", 0, "opengrid-console.log", "OpenGrid", new GridConsole()); 60 {
61 61 Console.WriteLine("Starting...\n");
62 thegrid = new OpenGrid_Main(); 62
63 thegrid.Startup(); 63 thegrid = new OpenGrid_Main();
64 64 thegrid.Startup();
65 ServerConsole.MainConsole.Instance.WriteLine("\nEnter help for a list of commands\n"); 65
66 66 thegrid.Work();
67 while(true) { 67 }
68 ServerConsole.MainConsole.Instance.MainConsolePrompt(); 68
69 } 69 private void Work()
70 } 70 {
71 71 m_console.WriteLine("\nEnter help for a list of commands\n");
72 public void Startup() { 72
73 ServerConsole.MainConsole.Instance.WriteLine("Main.cs:Startup() - Please press enter to retain default settings"); 73 while (true)
74 74 {
75 this.GridOwner=ServerConsole.MainConsole.Instance.CmdPrompt("Grid owner [OGS development team]: ","OGS development team"); 75 m_console.MainConsolePrompt();
76 this.DefaultStartupMsg=ServerConsole.MainConsole.Instance.CmdPrompt("Default startup message for clients [Welcome to OGS!]: ","Welcome to OGS!"); 76 }
77 77 }
78 this.DefaultAssetServer=ServerConsole.MainConsole.Instance.CmdPrompt("Default asset server [no default]: "); 78
79 this.AssetSendKey=ServerConsole.MainConsole.Instance.CmdPrompt("Key to send to asset server: "); 79 private OpenGrid_Main()
80 this.AssetRecvKey=ServerConsole.MainConsole.Instance.CmdPrompt("Key to expect from asset server: "); 80 {
81 81 m_console = new ConsoleBase("opengrid-console.log", "OpenGrid", this);
82 this.DefaultUserServer=ServerConsole.MainConsole.Instance.CmdPrompt("Default user server [no default]: "); 82 MainConsole.Instance = m_console;
83 this.UserSendKey=ServerConsole.MainConsole.Instance.CmdPrompt("Key to send to user server: "); 83 }
84 this.UserRecvKey=ServerConsole.MainConsole.Instance.CmdPrompt("Key to expect from user server: "); 84
85 85 public void Startup()
86 ServerConsole.MainConsole.Instance.WriteLine("Main.cs:Startup() - Starting HTTP process"); 86 {
87 _httpd = new GridHTTPServer(); 87 m_console.WriteLine("Main.cs:Startup() - Please press enter to retain default settings");
88 88
89 this._regionmanager=new SimProfileManager(); 89 this.GridOwner = m_console.CmdPrompt("Grid owner [OGS development team]: ", "OGS development team");
90 _regionmanager.CreateNewProfile("OpenSim Test", "http://there-is-no-caps.com", "4.78.190.75", 9000, 997, 996, this.UserSendKey, this.UserRecvKey); 90 this.DefaultStartupMsg = m_console.CmdPrompt("Default startup message for clients [Welcome to OGS!]: ", "Welcome to OGS!");
91 91
92 } 92 this.DefaultAssetServer = m_console.CmdPrompt("Default asset server [no default]: ");
93 } 93 this.AssetSendKey = m_console.CmdPrompt("Key to send to asset server: ");
94 /// <summary> 94 this.AssetRecvKey = m_console.CmdPrompt("Key to expect from asset server: ");
95 /// Description of ServerConsole. 95
96 /// </summary> 96 this.DefaultUserServer = m_console.CmdPrompt("Default user server [no default]: ");
97 public class MServerConsole : ConsoleBase 97 this.UserSendKey = m_console.CmdPrompt("Key to send to user server: ");
98 { 98 this.UserRecvKey = m_console.CmdPrompt("Key to expect from user server: ");
99 99
100 private ConsoleType ConsType; 100 m_console.WriteLine("Main.cs:Startup() - Starting HTTP process");
101 StreamWriter Log; 101 _httpd = new GridHTTPServer();
102 public conscmd_callback cmdparser; 102
103 public string componentname; 103 this._regionmanager = new SimProfileManager();
104 104 _regionmanager.CreateNewProfile("OpenSim Test", "http://there-is-no-caps.com", "4.78.190.75", 9000, 997, 996, this.UserSendKey, this.UserRecvKey);
105 // STUPID HACK ALERT!!!! STUPID HACK ALERT!!!!! 105 }
106 // constype - the type of console to use (see enum ConsoleType) 106
107 // sparam - depending on the console type: 107 public void RunCmd(string cmd, string[] cmdparams)
108 // TCP - the IP to bind to (127.0.0.1 if blank) 108 {
109 // Local - param ignored 109 switch (cmd)
110 // and for the iparam: 110 {
111 // TCP - the port to bind to 111 case "help":
112 // Local - param ignored 112 m_console.WriteLine("shutdown - shutdown the grid (USE CAUTION!)");
113 // LogFile - duh 113 break;
114 // componentname - which component of the OGS system? (user, asset etc) 114
115 // cmdparser - a reference to a conscmd_callback object 115 case "shutdown":
116 116 m_console.Close();
117 public MServerConsole(ConsoleType constype, string sparam, int iparam, string LogFile, string componentname, conscmd_callback cmdparser) { 117 Environment.Exit(0);
118 ConsType = constype; 118 break;
119 this.componentname = componentname; 119 }
120 this.cmdparser = cmdparser; 120 }
121 switch(constype) { 121
122 case ConsoleType.Local: 122 public void Show(string ShowWhat)
123 Console.WriteLine("ServerConsole.cs - creating new local console"); 123 {
124 Console.WriteLine("Logs will be saved to current directory in " + LogFile); 124 }
125 Log=File.AppendText(LogFile); 125 }
126 Log.WriteLine("========================================================================");
127 Log.WriteLine(componentname + " Started at " + DateTime.Now.ToString());
128 break;
129
130 case ConsoleType.TCP:
131 break;
132
133 default:
134 Console.WriteLine("ServerConsole.cs - what are you smoking? that isn't a valid console type!");
135 break;
136 }
137 }
138
139 public override void Close() {
140 Log.WriteLine("Shutdown at " + DateTime.Now.ToString());
141 Log.Close();
142 }
143
144 // You know what ReadLine() and WriteLine() do, right? And Read() and Write()? Right, you do actually know C#, right? Are you actually a programmer? Do you know english? Do you find my sense of humour in comments irritating? Good, glad you're still here
145 public override void WriteLine(string Line) {
146 Log.WriteLine(Line);
147 Console.WriteLine(Line);
148 return;
149 }
150
151 public override string ReadLine() {
152 string TempStr=Console.ReadLine();
153 Log.WriteLine(TempStr);
154 return TempStr;
155 }
156
157 public override int Read() {
158 int TempInt= Console.Read();
159 Log.Write((char)TempInt);
160 return TempInt;
161 }
162
163 public override void Write(string Line) {
164 Console.Write(Line);
165 Log.Write(Line);
166 return;
167 }
168
169
170 // Displays a prompt and waits for the user to enter a string, then returns that string
171 // Done with no echo and suitable for passwords
172 public override string PasswdPrompt(string prompt) {
173 // FIXME: Needs to be better abstracted
174 Log.WriteLine(prompt);
175 this.Write(prompt);
176 ConsoleColor oldfg=Console.ForegroundColor;
177 Console.ForegroundColor=Console.BackgroundColor;
178 string temp=Console.ReadLine();
179 Console.ForegroundColor=oldfg;
180 return temp;
181 }
182
183 // Displays a command prompt and waits for the user to enter a string, then returns that string
184 public override string CmdPrompt(string prompt) {
185 this.Write(prompt);
186 return this.ReadLine();
187 }
188
189 // Displays a command prompt and returns a default value if the user simply presses enter
190 public override string CmdPrompt(string prompt, string defaultresponse) {
191 string temp=CmdPrompt(prompt);
192 if(temp=="") {
193 return defaultresponse;
194 } else {
195 return temp;
196 }
197 }
198
199 // Displays a command prompt and returns a default value, user may only enter 1 of 2 options
200 public override string CmdPrompt(string prompt, string defaultresponse, string OptionA, string OptionB) {
201 bool itisdone=false;
202 string temp=CmdPrompt(prompt,defaultresponse);
203 while(itisdone==false) {
204 if((temp==OptionA) || (temp==OptionB)) {
205 itisdone=true;
206 } else {
207 this.WriteLine("Valid options are " + OptionA + " or " + OptionB);
208 temp=CmdPrompt(prompt,defaultresponse);
209 }
210 }
211 return temp;
212 }
213
214 // Runs a command with a number of parameters
215 public override Object RunCmd(string Cmd, string[] cmdparams) {
216 cmdparser.RunCmd(Cmd, cmdparams);
217 return null;
218 }
219
220 // Shows data about something
221 public override void ShowCommands(string ShowWhat) {
222 cmdparser.Show(ShowWhat);
223 }
224
225 public override void MainConsolePrompt() {
226 string[] tempstrarray;
227 string tempstr = this.CmdPrompt(this.componentname + "# ");
228 tempstrarray = tempstr.Split(' ');
229 string cmd=tempstrarray[0];
230 Array.Reverse(tempstrarray);
231 Array.Resize<string>(ref tempstrarray,tempstrarray.Length-1);
232 Array.Reverse(tempstrarray);
233 string[] cmdparams=(string[])tempstrarray;
234 RunCmd(cmd,cmdparams);
235 }
236 }
237} 126}
diff --git a/OpenGridServices.GridServer/OpenGridServices.GridServer.csproj b/OpenGridServices.GridServer/OpenGridServices.GridServer.csproj
index 4a4c38e..856505f 100644
--- a/OpenGridServices.GridServer/OpenGridServices.GridServer.csproj
+++ b/OpenGridServices.GridServer/OpenGridServices.GridServer.csproj
@@ -3,7 +3,7 @@
3 <ProjectType>Local</ProjectType> 3 <ProjectType>Local</ProjectType>
4 <ProductVersion>8.0.50727</ProductVersion> 4 <ProductVersion>8.0.50727</ProductVersion>
5 <SchemaVersion>2.0</SchemaVersion> 5 <SchemaVersion>2.0</SchemaVersion>
6 <ProjectGuid>{F7DE71C5-CD20-4AD8-83A4-1363066853A6}</ProjectGuid> 6 <ProjectGuid>{3378EE78-2D72-4C21-8F9D-680B33AAFFEE}</ProjectGuid>
7 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 7 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
8 <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> 8 <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
9 <ApplicationIcon></ApplicationIcon> 9 <ApplicationIcon></ApplicationIcon>
@@ -78,10 +78,6 @@
78 <HintPath>..\bin\OpenSim.Framework.Console.dll</HintPath> 78 <HintPath>..\bin\OpenSim.Framework.Console.dll</HintPath>
79 <Private>False</Private> 79 <Private>False</Private>
80 </Reference> 80 </Reference>
81 <Reference Include="OpenGridServices.ServerConsole.dll" >
82 <HintPath>..\bin\OpenGridServices.ServerConsole.dll</HintPath>
83 <Private>False</Private>
84 </Reference>
85 <Reference Include="libsecondlife.dll" > 81 <Reference Include="libsecondlife.dll" >
86 <HintPath>..\bin\libsecondlife.dll</HintPath> 82 <HintPath>..\bin\libsecondlife.dll</HintPath>
87 <Private>False</Private> 83 <Private>False</Private>
@@ -90,9 +86,6 @@
90 <ItemGroup> 86 <ItemGroup>
91 </ItemGroup> 87 </ItemGroup>
92 <ItemGroup> 88 <ItemGroup>
93 <Compile Include="ConsoleCmds.cs">
94 <SubType>Code</SubType>
95 </Compile>
96 <Compile Include="GridHttp.cs"> 89 <Compile Include="GridHttp.cs">
97 <SubType>Code</SubType> 90 <SubType>Code</SubType>
98 </Compile> 91 </Compile>
diff --git a/OpenGridServices.GridServer/OpenGridServices.GridServer.exe.build b/OpenGridServices.GridServer/OpenGridServices.GridServer.exe.build
index e119279..a25536e 100644
--- a/OpenGridServices.GridServer/OpenGridServices.GridServer.exe.build
+++ b/OpenGridServices.GridServer/OpenGridServices.GridServer.exe.build
@@ -1,49 +1,47 @@
1<?xml version="1.0" ?> 1<?xml version="1.0" ?>
2<project name="OpenGridServices.GridServer" default="build"> 2<project name="OpenGridServices.GridServer" default="build">
3 <target name="build"> 3 <target name="build">
4 <echo message="Build Directory is ${project::get-base-directory()}/${build.dir}" /> 4 <echo message="Build Directory is ${project::get-base-directory()}/${build.dir}" />
5 <mkdir dir="${project::get-base-directory()}/${build.dir}" /> 5 <mkdir dir="${project::get-base-directory()}/${build.dir}" />
6 <copy todir="${project::get-base-directory()}/${build.dir}"> 6 <copy todir="${project::get-base-directory()}/${build.dir}">
7 <fileset basedir="${project::get-base-directory()}"> 7 <fileset basedir="${project::get-base-directory()}">
8 </fileset> 8 </fileset>
9 </copy> 9 </copy>
10 <csc target="exe" debug="${build.debug}" unsafe="False" define="TRACE" output="${project::get-base-directory()}/${build.dir}/${project::get-name()}.exe"> 10 <csc target="exe" debug="${build.debug}" unsafe="False" define="TRACE;DEBUG" output="${project::get-base-directory()}/${build.dir}/${project::get-name()}.exe">
11 <resources prefix="OpenGridServices.GridServer" dynamicprefix="true" > 11 <resources prefix="OpenGridServices.GridServer" dynamicprefix="true" >
12 </resources> 12 </resources>
13 <sources failonempty="true"> 13 <sources failonempty="true">
14 <include name="ConsoleCmds.cs" /> 14 <include name="GridHttp.cs" />
15 <include name="GridHttp.cs" /> 15 <include name="Main.cs" />
16 <include name="Main.cs" /> 16 <include name="SimProfiles.cs" />
17 <include name="SimProfiles.cs" /> 17 <include name="Properties/AssemblyInfo.cs" />
18 <include name="Properties/AssemblyInfo.cs" /> 18 </sources>
19 </sources> 19 <references basedir="${project::get-base-directory()}">
20 <references basedir="${project::get-base-directory()}"> 20 <lib>
21 <lib> 21 <include name="${project::get-base-directory()}" />
22 <include name="${project::get-base-directory()}" /> 22 <include name="${project::get-base-directory()}/${build.dir}" />
23 <include name="${project::get-base-directory()}/${build.dir}" /> 23 </lib>
24 </lib> 24 <include name="System.dll" />
25 <include name="System.dll" /> 25 <include name="System.Data.dll" />
26 <include name="System.Data.dll" /> 26 <include name="System.Xml.dll" />
27 <include name="System.Xml.dll" /> 27 <include name="../bin/OpenSim.Framework.dll" />
28 <include name="../bin/OpenSim.Framework.dll" /> 28 <include name="../bin/OpenSim.Framework.Console.dll" />
29 <include name="../bin/OpenSim.Framework.Console.dll" /> 29 <include name="../bin/libsecondlife.dll" />
30 <include name="../bin/OpenGridServices.ServerConsole.dll" /> 30 </references>
31 <include name="../bin/libsecondlife.dll" /> 31 </csc>
32 </references> 32 <echo message="Copying from [${project::get-base-directory()}/${build.dir}/] to [${project::get-base-directory()}/../bin/" />
33 </csc> 33 <mkdir dir="${project::get-base-directory()}/../bin/"/>
34 <echo message="Copying from [${project::get-base-directory()}/${build.dir}/] to [${project::get-base-directory()}/../bin/" /> 34 <copy todir="${project::get-base-directory()}/../bin/">
35 <mkdir dir="${project::get-base-directory()}/../bin/"/> 35 <fileset basedir="${project::get-base-directory()}/${build.dir}/" >
36 <copy todir="${project::get-base-directory()}/../bin/"> 36 <include name="*.dll"/>
37 <fileset basedir="${project::get-base-directory()}/${build.dir}/" > 37 <include name="*.exe"/>
38 <include name="*.dll"/> 38 </fileset>
39 <include name="*.exe"/> 39 </copy>
40 </fileset> 40 </target>
41 </copy> 41 <target name="clean">
42 </target> 42 <delete dir="${bin.dir}" failonerror="false" />
43 <target name="clean"> 43 <delete dir="${obj.dir}" failonerror="false" />
44 <delete dir="${bin.dir}" failonerror="false" /> 44 </target>
45 <delete dir="${obj.dir}" failonerror="false" /> 45 <target name="doc" description="Creates documentation.">
46 </target> 46 </target>
47 <target name="doc" description="Creates documentation."> 47</project>
48 </target>
49</project>
diff --git a/OpenGridServices.GridServer/SimProfiles.cs b/OpenGridServices.GridServer/SimProfiles.cs
index 6db8331..4971b4b 100644
--- a/OpenGridServices.GridServer/SimProfiles.cs
+++ b/OpenGridServices.GridServer/SimProfiles.cs
@@ -32,11 +32,10 @@ using System.Text;
32using System.Collections; 32using System.Collections;
33using System.Collections.Generic; 33using System.Collections.Generic;
34using libsecondlife; 34using libsecondlife;
35using ServerConsole;
36using OpenSim.Framework.Utilities; 35using OpenSim.Framework.Utilities;
37using OpenSim.Framework.Sims; 36using OpenSim.Framework.Sims;
38 37
39namespace OpenGridServices 38namespace OpenGridServices.GridServer
40{ 39{
41 /// <summary> 40 /// <summary>
42 /// </summary> 41 /// </summary>