set svn:eol-style

afrisby
Jeff Ames 2007-12-03 07:10:08 +00:00
parent 981c97502a
commit 27a731ae1a
3 changed files with 201 additions and 201 deletions

View File

@ -1,33 +1,33 @@
using System.Reflection; using System.Reflection;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following // General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information // set of attributes. Change these attribute values to modify the information
// associated with an assembly. // associated with an assembly.
[assembly: AssemblyTitle("RemoteController")] [assembly: AssemblyTitle("RemoteController")]
[assembly: AssemblyDescription("")] [assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")] [assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("RemoteController")] [assembly: AssemblyProduct("RemoteController")]
[assembly: AssemblyCopyright("Copyright © 2007")] [assembly: AssemblyCopyright("Copyright © 2007")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible // 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 // to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type. // COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)] [assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM // The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("a8d10dbc-371b-4514-8d1d-7d3589f658af")] [assembly: Guid("a8d10dbc-371b-4514-8d1d-7d3589f658af")]
// Version information for an assembly consists of the following four values: // Version information for an assembly consists of the following four values:
// //
// Major Version // Major Version
// Minor Version // Minor Version
// Build Number // Build Number
// Revision // Revision
// //
[assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyFileVersion("1.0.0.0")]

View File

@ -1,30 +1,30 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
// Runtime Version:2.0.50727.832 // Runtime Version:2.0.50727.832
// //
// Changes to this file may cause incorrect behavior and will be lost if // Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated. // the code is regenerated.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace RemoteController.Properties namespace RemoteController.Properties
{ {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "8.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "8.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{ {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default public static Settings Default
{ {
get get
{ {
return defaultInstance; return defaultInstance;
} }
} }
} }
} }

View File

@ -1,139 +1,139 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
using System.Net; using System.Net;
using OpenSim; using OpenSim;
using OpenSim.Framework.Console; using OpenSim.Framework.Console;
using OpenSim.Framework; using OpenSim.Framework;
using OpenSim.Framework.Servers; using OpenSim.Framework.Servers;
using Mono.Addins; using Mono.Addins;
using Mono.Addins.Description; using Mono.Addins.Description;
using Nini; using Nini;
using Nini.Config; using Nini.Config;
using Nwc.XmlRpc; using Nwc.XmlRpc;
using System.Collections; using System.Collections;
using System.Timers; using System.Timers;
[assembly: Addin] [assembly: Addin]
[assembly: AddinDependency("OpenSim", "0.4")] [assembly: AddinDependency("OpenSim", "0.4")]
namespace OpenSim.ApplicationPlugins.LoadRegions namespace OpenSim.ApplicationPlugins.LoadRegions
{ {
[Extension("/OpenSim/Startup")] [Extension("/OpenSim/Startup")]
public class RemoteAdminPlugin : IApplicationPlugin public class RemoteAdminPlugin : IApplicationPlugin
{ {
private OpenSimMain m_app; private OpenSimMain m_app;
private BaseHttpServer m_httpd; private BaseHttpServer m_httpd;
public void Initialise(OpenSimMain openSim) public void Initialise(OpenSimMain openSim)
{ {
if (openSim.ConfigSource.Configs["RemoteAdmin"].GetBoolean("enabled", false)) if (openSim.ConfigSource.Configs["RemoteAdmin"].GetBoolean("enabled", false))
{ {
System.Console.WriteLine("RADMIN","Remote Admin Plugin Enabled"); System.Console.WriteLine("RADMIN","Remote Admin Plugin Enabled");
m_app = openSim; m_app = openSim;
m_httpd = openSim.HttpServer; m_httpd = openSim.HttpServer;
m_httpd.AddXmlRPCHandler("admin_create_region", XmlRpcCreateRegionMethod); m_httpd.AddXmlRPCHandler("admin_create_region", XmlRpcCreateRegionMethod);
m_httpd.AddXmlRPCHandler("admin_shutdown", XmlRpcShutdownMethod); m_httpd.AddXmlRPCHandler("admin_shutdown", XmlRpcShutdownMethod);
} }
} }
public XmlRpcResponse XmlRpcShutdownMethod(XmlRpcRequest request) public XmlRpcResponse XmlRpcShutdownMethod(XmlRpcRequest request)
{ {
MainLog.Instance.Verbose("CONTROLLER", "Recieved Shutdown Administrator Request"); MainLog.Instance.Verbose("CONTROLLER", "Recieved Shutdown Administrator Request");
XmlRpcResponse response = new XmlRpcResponse(); XmlRpcResponse response = new XmlRpcResponse();
Hashtable requestData = (Hashtable)request.Params[0]; Hashtable requestData = (Hashtable)request.Params[0];
if ((string)requestData["shutdown"] == "delayed") if ((string)requestData["shutdown"] == "delayed")
{ {
int timeout = (Int32)requestData["milliseconds"]; int timeout = (Int32)requestData["milliseconds"];
Hashtable responseData = new Hashtable(); Hashtable responseData = new Hashtable();
responseData["accepted"] = "true"; responseData["accepted"] = "true";
response.Value = responseData; response.Value = responseData;
m_app.SceneManager.SendGeneralMessage("Region is going down in " + ((int)(timeout / 1000)).ToString() + m_app.SceneManager.SendGeneralMessage("Region is going down in " + ((int)(timeout / 1000)).ToString() +
" second(s). Please save what you are doing and log out."); " second(s). Please save what you are doing and log out.");
// Perform shutdown // Perform shutdown
Timer shutdownTimer = new Timer(timeout); // Wait before firing Timer shutdownTimer = new Timer(timeout); // Wait before firing
shutdownTimer.AutoReset = false; shutdownTimer.AutoReset = false;
shutdownTimer.Elapsed += new ElapsedEventHandler(shutdownTimer_Elapsed); shutdownTimer.Elapsed += new ElapsedEventHandler(shutdownTimer_Elapsed);
shutdownTimer.Start(); shutdownTimer.Start();
return response; return response;
} }
else else
{ {
Hashtable responseData = new Hashtable(); Hashtable responseData = new Hashtable();
responseData["accepted"] = "true"; responseData["accepted"] = "true";
response.Value = responseData; response.Value = responseData;
m_app.SceneManager.SendGeneralMessage("Region is going down now."); m_app.SceneManager.SendGeneralMessage("Region is going down now.");
// Perform shutdown // Perform shutdown
Timer shutdownTimer = new Timer(2000); // Wait 2 seconds before firing Timer shutdownTimer = new Timer(2000); // Wait 2 seconds before firing
shutdownTimer.AutoReset = false; shutdownTimer.AutoReset = false;
shutdownTimer.Elapsed += new ElapsedEventHandler(shutdownTimer_Elapsed); shutdownTimer.Elapsed += new ElapsedEventHandler(shutdownTimer_Elapsed);
shutdownTimer.Start(); shutdownTimer.Start();
return response; return response;
} }
} }
private void shutdownTimer_Elapsed(object sender, ElapsedEventArgs e) private void shutdownTimer_Elapsed(object sender, ElapsedEventArgs e)
{ {
m_app.Shutdown(); m_app.Shutdown();
} }
public XmlRpcResponse XmlRpcCreateRegionMethod(XmlRpcRequest request) public XmlRpcResponse XmlRpcCreateRegionMethod(XmlRpcRequest request)
{ {
MainLog.Instance.Verbose("CONTROLLER", "Recieved Create Region Administrator Request"); MainLog.Instance.Verbose("CONTROLLER", "Recieved Create Region Administrator Request");
XmlRpcResponse response = new XmlRpcResponse(); XmlRpcResponse response = new XmlRpcResponse();
Hashtable requestData = (Hashtable)request.Params[0]; Hashtable requestData = (Hashtable)request.Params[0];
RegionInfo newRegionData = new RegionInfo(); RegionInfo newRegionData = new RegionInfo();
try try
{ {
newRegionData.RegionID = (string)requestData["region_id"]; newRegionData.RegionID = (string)requestData["region_id"];
newRegionData.RegionName = (string)requestData["region_name"]; newRegionData.RegionName = (string)requestData["region_name"];
newRegionData.RegionLocX = Convert.ToUInt32((Int32)requestData["region_x"]); newRegionData.RegionLocX = Convert.ToUInt32((Int32)requestData["region_x"]);
newRegionData.RegionLocY = Convert.ToUInt32((Int32)requestData["region_y"]); newRegionData.RegionLocY = Convert.ToUInt32((Int32)requestData["region_y"]);
// Security risk // Security risk
newRegionData.DataStore = (string)requestData["datastore"]; newRegionData.DataStore = (string)requestData["datastore"];
newRegionData.InternalEndPoint = new IPEndPoint( newRegionData.InternalEndPoint = new IPEndPoint(
IPAddress.Parse((string)requestData["listen_ip"]), 0); IPAddress.Parse((string)requestData["listen_ip"]), 0);
newRegionData.InternalEndPoint.Port = (Int32)requestData["listen_port"]; newRegionData.InternalEndPoint.Port = (Int32)requestData["listen_port"];
newRegionData.ExternalHostName = (string)requestData["external_address"]; newRegionData.ExternalHostName = (string)requestData["external_address"];
newRegionData.MasterAvatarFirstName = (string)requestData["region_master_first"]; newRegionData.MasterAvatarFirstName = (string)requestData["region_master_first"];
newRegionData.MasterAvatarLastName = (string)requestData["region_master_last"]; newRegionData.MasterAvatarLastName = (string)requestData["region_master_last"];
m_app.CreateRegion(newRegionData); m_app.CreateRegion(newRegionData);
Hashtable responseData = new Hashtable(); Hashtable responseData = new Hashtable();
responseData["created"] = "true"; responseData["created"] = "true";
response.Value = responseData; response.Value = responseData;
} }
catch (Exception e) catch (Exception e)
{ {
Hashtable responseData = new Hashtable(); Hashtable responseData = new Hashtable();
responseData["created"] = "false"; responseData["created"] = "false";
responseData["error"] = e.ToString(); responseData["error"] = e.ToString();
response.Value = responseData; response.Value = responseData;
} }
return response; return response;
} }
public void Close() public void Close()
{ {
} }
} }
} }