Finished off console framework ready to add the real meat

ogs-cs
gareth 2007-03-08 01:33:44 +00:00
parent 2caa54c2f0
commit 2550e4e5cb
4 changed files with 70 additions and 5 deletions

View File

@ -56,17 +56,19 @@ namespace OpenGridServices
// Local - param ignored
// LogFile - duh
// componentname - which component of the OGS system? (user, asset etc)
public MServerConsole(ConsoleType constype, string sparam, int iparam, string LogFile, string componentname) {
// cmdparser - a reference to a conscmd_callback object
public MServerConsole(ConsoleType constype, string sparam, int iparam, string LogFile, string componentname, conscmd_callback cmdparser) {
ConsType = constype;
this.componentname = componentname;
this.cmdparser = cmdparser;
switch(constype) {
case ConsoleType.Local:
Console.WriteLine("ServerConsole.cs - creating new local console");
Console.WriteLine("Logs will be saved to current directory in " + LogFile);
Log=File.AppendText(LogFile);
Log.WriteLine("========================================================================");
Log.WriteLine(componentname + VersionInfo.Version + " Started at " + DateTime.Now.ToString());
Log.WriteLine(componentname + " " + VersionInfo.Version + " Started at " + DateTime.Now.ToString());
break;
case ConsoleType.TCP:

View File

@ -49,6 +49,7 @@
<sources>
<include name="../common/src/VersionInfo.cs" />
<include name="../common/src/OGS-Console.cs" />
<include name="src/ConsoleCmds.cs" />
<include name="src/Main.cs" />
</sources>
</csc>

View File

@ -0,0 +1,60 @@
/*
Copyright (c) OpenSim project, http://osgrid.org/
* All rights reserved.
*
* 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 <organization> 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 <copyright holder> ``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 <copyright holder> 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.Text;
using ServerConsole;
namespace OpenGridServices
{
public class GridConsole : conscmd_callback {
public GridConsole() { }
public override void RunCmd(string cmd, string[] cmdparams) {
switch(cmd) {
case "help":
ServerConsole.MainConsole.Instance.WriteLine("shutdown - shutdown the grid (USE CAUTION!)"
);
break;
case "shutdown":
ServerConsole.MainConsole.Instance.Close();
Environment.Exit(0);
break;
}
}
public override void Show(string ShowWhat) {
switch(ShowWhat) {
}
}
}
}

View File

@ -45,11 +45,13 @@ namespace OpenGridServices
{
Console.WriteLine("OpenGrid " + VersionInfo.Version + "\n");
Console.WriteLine("Starting...\n");
ServerConsole.MainConsole.Instance = new MServerConsole(ServerConsole.ConsoleBase.ConsoleType.Local, "", 0, "opengrid-console.log", "OpenGrid");
ServerConsole.MainConsole.Instance = new MServerConsole(ServerConsole.ConsoleBase.ConsoleType.Local, "", 0, "opengrid-console.log", "OpenGrid", new GridConsole());
thegrid = new OpenGrid_Main();
thegrid.Startup();
ServerConsole.MainConsole.Instance.WriteLine("\nEnter help for a list of commands\n");
while(true) {
ServerConsole.MainConsole.Instance.MainConsolePrompt();
}