aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/ApplicationPlugins/RemoteController
diff options
context:
space:
mode:
authorJeff Ames2007-12-03 07:10:08 +0000
committerJeff Ames2007-12-03 07:10:08 +0000
commit27a731ae1a6f25b9989dc4f79343c0b7d5cd1eba (patch)
tree6240c449fdcefa29adf855c46e23f644ebf3f651 /OpenSim/ApplicationPlugins/RemoteController
parent* Moved XMLRPC Controller to a Application Plugin. Requires testing. (diff)
downloadopensim-SC-27a731ae1a6f25b9989dc4f79343c0b7d5cd1eba.zip
opensim-SC-27a731ae1a6f25b9989dc4f79343c0b7d5cd1eba.tar.gz
opensim-SC-27a731ae1a6f25b9989dc4f79343c0b7d5cd1eba.tar.bz2
opensim-SC-27a731ae1a6f25b9989dc4f79343c0b7d5cd1eba.tar.xz
set svn:eol-style
Diffstat (limited to 'OpenSim/ApplicationPlugins/RemoteController')
-rw-r--r--OpenSim/ApplicationPlugins/RemoteController/Properties/AssemblyInfo.cs66
-rw-r--r--OpenSim/ApplicationPlugins/RemoteController/Properties/Settings.Designer.cs60
-rw-r--r--OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs276
3 files changed, 201 insertions, 201 deletions
diff --git a/OpenSim/ApplicationPlugins/RemoteController/Properties/AssemblyInfo.cs b/OpenSim/ApplicationPlugins/RemoteController/Properties/AssemblyInfo.cs
index 869efe2..cbaa57c 100644
--- a/OpenSim/ApplicationPlugins/RemoteController/Properties/AssemblyInfo.cs
+++ b/OpenSim/ApplicationPlugins/RemoteController/Properties/AssemblyInfo.cs
@@ -1,33 +1,33 @@
1using System.Reflection; 1using System.Reflection;
2using System.Runtime.CompilerServices; 2using System.Runtime.CompilerServices;
3using System.Runtime.InteropServices; 3using System.Runtime.InteropServices;
4 4
5// General Information about an assembly is controlled through the following 5// General Information about an assembly is controlled through the following
6// set of attributes. Change these attribute values to modify the information 6// set of attributes. Change these attribute values to modify the information
7// associated with an assembly. 7// associated with an assembly.
8[assembly: AssemblyTitle("RemoteController")] 8[assembly: AssemblyTitle("RemoteController")]
9[assembly: AssemblyDescription("")] 9[assembly: AssemblyDescription("")]
10[assembly: AssemblyConfiguration("")] 10[assembly: AssemblyConfiguration("")]
11[assembly: AssemblyCompany("")] 11[assembly: AssemblyCompany("")]
12[assembly: AssemblyProduct("RemoteController")] 12[assembly: AssemblyProduct("RemoteController")]
13[assembly: AssemblyCopyright("Copyright © 2007")] 13[assembly: AssemblyCopyright("Copyright © 2007")]
14[assembly: AssemblyTrademark("")] 14[assembly: AssemblyTrademark("")]
15[assembly: AssemblyCulture("")] 15[assembly: AssemblyCulture("")]
16 16
17// Setting ComVisible to false makes the types in this assembly not visible 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 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. 19// COM, set the ComVisible attribute to true on that type.
20[assembly: ComVisible(false)] 20[assembly: ComVisible(false)]
21 21
22// The following GUID is for the ID of the typelib if this project is exposed to COM 22// The following GUID is for the ID of the typelib if this project is exposed to COM
23[assembly: Guid("a8d10dbc-371b-4514-8d1d-7d3589f658af")] 23[assembly: Guid("a8d10dbc-371b-4514-8d1d-7d3589f658af")]
24 24
25// Version information for an assembly consists of the following four values: 25// Version information for an assembly consists of the following four values:
26// 26//
27// Major Version 27// Major Version
28// Minor Version 28// Minor Version
29// Build Number 29// Build Number
30// Revision 30// Revision
31// 31//
32[assembly: AssemblyVersion("1.0.0.0")] 32[assembly: AssemblyVersion("1.0.0.0")]
33[assembly: AssemblyFileVersion("1.0.0.0")] 33[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/OpenSim/ApplicationPlugins/RemoteController/Properties/Settings.Designer.cs b/OpenSim/ApplicationPlugins/RemoteController/Properties/Settings.Designer.cs
index 86daae1..3f8415b 100644
--- a/OpenSim/ApplicationPlugins/RemoteController/Properties/Settings.Designer.cs
+++ b/OpenSim/ApplicationPlugins/RemoteController/Properties/Settings.Designer.cs
@@ -1,30 +1,30 @@
1//------------------------------------------------------------------------------ 1//------------------------------------------------------------------------------
2// <auto-generated> 2// <auto-generated>
3// This code was generated by a tool. 3// This code was generated by a tool.
4// Runtime Version:2.0.50727.832 4// Runtime Version:2.0.50727.832
5// 5//
6// Changes to this file may cause incorrect behavior and will be lost if 6// Changes to this file may cause incorrect behavior and will be lost if
7// the code is regenerated. 7// the code is regenerated.
8// </auto-generated> 8// </auto-generated>
9//------------------------------------------------------------------------------ 9//------------------------------------------------------------------------------
10 10
11namespace RemoteController.Properties 11namespace RemoteController.Properties
12{ 12{
13 13
14 14
15 [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
16 [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "8.0.0.0")] 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 17 internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
18 { 18 {
19 19
20 private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 20 private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
21 21
22 public static Settings Default 22 public static Settings Default
23 { 23 {
24 get 24 get
25 { 25 {
26 return defaultInstance; 26 return defaultInstance;
27 } 27 }
28 } 28 }
29 } 29 }
30} 30}
diff --git a/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs b/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs
index 2566a6b..d4a11d9 100644
--- a/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs
+++ b/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs
@@ -1,139 +1,139 @@
1using System; 1using System;
2using System.Collections.Generic; 2using System.Collections.Generic;
3using System.Text; 3using System.Text;
4using System.Net; 4using System.Net;
5using OpenSim; 5using OpenSim;
6using OpenSim.Framework.Console; 6using OpenSim.Framework.Console;
7using OpenSim.Framework; 7using OpenSim.Framework;
8using OpenSim.Framework.Servers; 8using OpenSim.Framework.Servers;
9using Mono.Addins; 9using Mono.Addins;
10using Mono.Addins.Description; 10using Mono.Addins.Description;
11using Nini; 11using Nini;
12using Nini.Config; 12using Nini.Config;
13using Nwc.XmlRpc; 13using Nwc.XmlRpc;
14using System.Collections; 14using System.Collections;
15using System.Timers; 15using System.Timers;
16 16
17[assembly: Addin] 17[assembly: Addin]
18[assembly: AddinDependency("OpenSim", "0.4")] 18[assembly: AddinDependency("OpenSim", "0.4")]
19 19
20namespace OpenSim.ApplicationPlugins.LoadRegions 20namespace OpenSim.ApplicationPlugins.LoadRegions
21{ 21{
22 [Extension("/OpenSim/Startup")] 22 [Extension("/OpenSim/Startup")]
23 public class RemoteAdminPlugin : IApplicationPlugin 23 public class RemoteAdminPlugin : IApplicationPlugin
24 { 24 {
25 private OpenSimMain m_app; 25 private OpenSimMain m_app;
26 private BaseHttpServer m_httpd; 26 private BaseHttpServer m_httpd;
27 27
28 public void Initialise(OpenSimMain openSim) 28 public void Initialise(OpenSimMain openSim)
29 { 29 {
30 if (openSim.ConfigSource.Configs["RemoteAdmin"].GetBoolean("enabled", false)) 30 if (openSim.ConfigSource.Configs["RemoteAdmin"].GetBoolean("enabled", false))
31 { 31 {
32 System.Console.WriteLine("RADMIN","Remote Admin Plugin Enabled"); 32 System.Console.WriteLine("RADMIN","Remote Admin Plugin Enabled");
33 33
34 m_app = openSim; 34 m_app = openSim;
35 m_httpd = openSim.HttpServer; 35 m_httpd = openSim.HttpServer;
36 36
37 m_httpd.AddXmlRPCHandler("admin_create_region", XmlRpcCreateRegionMethod); 37 m_httpd.AddXmlRPCHandler("admin_create_region", XmlRpcCreateRegionMethod);
38 m_httpd.AddXmlRPCHandler("admin_shutdown", XmlRpcShutdownMethod); 38 m_httpd.AddXmlRPCHandler("admin_shutdown", XmlRpcShutdownMethod);
39 } 39 }
40 } 40 }
41 41
42 public XmlRpcResponse XmlRpcShutdownMethod(XmlRpcRequest request) 42 public XmlRpcResponse XmlRpcShutdownMethod(XmlRpcRequest request)
43 { 43 {
44 MainLog.Instance.Verbose("CONTROLLER", "Recieved Shutdown Administrator Request"); 44 MainLog.Instance.Verbose("CONTROLLER", "Recieved Shutdown Administrator Request");
45 XmlRpcResponse response = new XmlRpcResponse(); 45 XmlRpcResponse response = new XmlRpcResponse();
46 Hashtable requestData = (Hashtable)request.Params[0]; 46 Hashtable requestData = (Hashtable)request.Params[0];
47 47
48 if ((string)requestData["shutdown"] == "delayed") 48 if ((string)requestData["shutdown"] == "delayed")
49 { 49 {
50 int timeout = (Int32)requestData["milliseconds"]; 50 int timeout = (Int32)requestData["milliseconds"];
51 51
52 Hashtable responseData = new Hashtable(); 52 Hashtable responseData = new Hashtable();
53 responseData["accepted"] = "true"; 53 responseData["accepted"] = "true";
54 response.Value = responseData; 54 response.Value = responseData;
55 55
56 m_app.SceneManager.SendGeneralMessage("Region is going down in " + ((int)(timeout / 1000)).ToString() + 56 m_app.SceneManager.SendGeneralMessage("Region is going down in " + ((int)(timeout / 1000)).ToString() +
57 " second(s). Please save what you are doing and log out."); 57 " second(s). Please save what you are doing and log out.");
58 58
59 // Perform shutdown 59 // Perform shutdown
60 Timer shutdownTimer = new Timer(timeout); // Wait before firing 60 Timer shutdownTimer = new Timer(timeout); // Wait before firing
61 shutdownTimer.AutoReset = false; 61 shutdownTimer.AutoReset = false;
62 shutdownTimer.Elapsed += new ElapsedEventHandler(shutdownTimer_Elapsed); 62 shutdownTimer.Elapsed += new ElapsedEventHandler(shutdownTimer_Elapsed);
63 shutdownTimer.Start(); 63 shutdownTimer.Start();
64 64
65 return response; 65 return response;
66 } 66 }
67 else 67 else
68 { 68 {
69 Hashtable responseData = new Hashtable(); 69 Hashtable responseData = new Hashtable();
70 responseData["accepted"] = "true"; 70 responseData["accepted"] = "true";
71 response.Value = responseData; 71 response.Value = responseData;
72 72
73 m_app.SceneManager.SendGeneralMessage("Region is going down now."); 73 m_app.SceneManager.SendGeneralMessage("Region is going down now.");
74 74
75 // Perform shutdown 75 // Perform shutdown
76 Timer shutdownTimer = new Timer(2000); // Wait 2 seconds before firing 76 Timer shutdownTimer = new Timer(2000); // Wait 2 seconds before firing
77 shutdownTimer.AutoReset = false; 77 shutdownTimer.AutoReset = false;
78 shutdownTimer.Elapsed += new ElapsedEventHandler(shutdownTimer_Elapsed); 78 shutdownTimer.Elapsed += new ElapsedEventHandler(shutdownTimer_Elapsed);
79 shutdownTimer.Start(); 79 shutdownTimer.Start();
80 80
81 return response; 81 return response;
82 } 82 }
83 } 83 }
84 84
85 private void shutdownTimer_Elapsed(object sender, ElapsedEventArgs e) 85 private void shutdownTimer_Elapsed(object sender, ElapsedEventArgs e)
86 { 86 {
87 m_app.Shutdown(); 87 m_app.Shutdown();
88 } 88 }
89 89
90 public XmlRpcResponse XmlRpcCreateRegionMethod(XmlRpcRequest request) 90 public XmlRpcResponse XmlRpcCreateRegionMethod(XmlRpcRequest request)
91 { 91 {
92 MainLog.Instance.Verbose("CONTROLLER", "Recieved Create Region Administrator Request"); 92 MainLog.Instance.Verbose("CONTROLLER", "Recieved Create Region Administrator Request");
93 XmlRpcResponse response = new XmlRpcResponse(); 93 XmlRpcResponse response = new XmlRpcResponse();
94 Hashtable requestData = (Hashtable)request.Params[0]; 94 Hashtable requestData = (Hashtable)request.Params[0];
95 95
96 RegionInfo newRegionData = new RegionInfo(); 96 RegionInfo newRegionData = new RegionInfo();
97 97
98 try 98 try
99 { 99 {
100 newRegionData.RegionID = (string)requestData["region_id"]; 100 newRegionData.RegionID = (string)requestData["region_id"];
101 newRegionData.RegionName = (string)requestData["region_name"]; 101 newRegionData.RegionName = (string)requestData["region_name"];
102 newRegionData.RegionLocX = Convert.ToUInt32((Int32)requestData["region_x"]); 102 newRegionData.RegionLocX = Convert.ToUInt32((Int32)requestData["region_x"]);
103 newRegionData.RegionLocY = Convert.ToUInt32((Int32)requestData["region_y"]); 103 newRegionData.RegionLocY = Convert.ToUInt32((Int32)requestData["region_y"]);
104 104
105 // Security risk 105 // Security risk
106 newRegionData.DataStore = (string)requestData["datastore"]; 106 newRegionData.DataStore = (string)requestData["datastore"];
107 107
108 newRegionData.InternalEndPoint = new IPEndPoint( 108 newRegionData.InternalEndPoint = new IPEndPoint(
109 IPAddress.Parse((string)requestData["listen_ip"]), 0); 109 IPAddress.Parse((string)requestData["listen_ip"]), 0);
110 110
111 newRegionData.InternalEndPoint.Port = (Int32)requestData["listen_port"]; 111 newRegionData.InternalEndPoint.Port = (Int32)requestData["listen_port"];
112 newRegionData.ExternalHostName = (string)requestData["external_address"]; 112 newRegionData.ExternalHostName = (string)requestData["external_address"];
113 113
114 newRegionData.MasterAvatarFirstName = (string)requestData["region_master_first"]; 114 newRegionData.MasterAvatarFirstName = (string)requestData["region_master_first"];
115 newRegionData.MasterAvatarLastName = (string)requestData["region_master_last"]; 115 newRegionData.MasterAvatarLastName = (string)requestData["region_master_last"];
116 116
117 m_app.CreateRegion(newRegionData); 117 m_app.CreateRegion(newRegionData);
118 118
119 Hashtable responseData = new Hashtable(); 119 Hashtable responseData = new Hashtable();
120 responseData["created"] = "true"; 120 responseData["created"] = "true";
121 response.Value = responseData; 121 response.Value = responseData;
122 } 122 }
123 catch (Exception e) 123 catch (Exception e)
124 { 124 {
125 Hashtable responseData = new Hashtable(); 125 Hashtable responseData = new Hashtable();
126 responseData["created"] = "false"; 126 responseData["created"] = "false";
127 responseData["error"] = e.ToString(); 127 responseData["error"] = e.ToString();
128 response.Value = responseData; 128 response.Value = responseData;
129 } 129 }
130 130
131 return response; 131 return response;
132 } 132 }
133 133
134 public void Close() 134 public void Close()
135 { 135 {
136 136
137 } 137 }
138 } 138 }
139} \ No newline at end of file 139} \ No newline at end of file