diff options
Diffstat (limited to 'OpenSim')
12 files changed, 38 insertions, 67 deletions
diff --git a/OpenSim/ApplicationPlugins/LoadRegions/LoadRegionsPlugin.cs b/OpenSim/ApplicationPlugins/LoadRegions/LoadRegionsPlugin.cs index 6743fb4..523f9fc 100644 --- a/OpenSim/ApplicationPlugins/LoadRegions/LoadRegionsPlugin.cs +++ b/OpenSim/ApplicationPlugins/LoadRegions/LoadRegionsPlugin.cs | |||
@@ -28,18 +28,13 @@ | |||
28 | using System.Reflection; | 28 | using System.Reflection; |
29 | using System.Threading; | 29 | using System.Threading; |
30 | using log4net; | 30 | using log4net; |
31 | using Mono.Addins; | ||
32 | using Nini.Config; | 31 | using Nini.Config; |
33 | using OpenSim.Framework; | 32 | using OpenSim.Framework; |
34 | using OpenSim.Framework.RegionLoader.Filesystem; | 33 | using OpenSim.Framework.RegionLoader.Filesystem; |
35 | using OpenSim.Framework.RegionLoader.Web; | 34 | using OpenSim.Framework.RegionLoader.Web; |
36 | 35 | ||
37 | [assembly : Addin] | ||
38 | [assembly : AddinDependency("OpenSim", "0.5")] | ||
39 | |||
40 | namespace OpenSim.ApplicationPlugins.LoadRegions | 36 | namespace OpenSim.ApplicationPlugins.LoadRegions |
41 | { | 37 | { |
42 | [Extension("/OpenSim/Startup")] | ||
43 | public class LoadRegionsPlugin : IApplicationPlugin | 38 | public class LoadRegionsPlugin : IApplicationPlugin |
44 | { | 39 | { |
45 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 40 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
diff --git a/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs b/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs index e3a0321..3f6869e 100644 --- a/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs +++ b/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs | |||
@@ -33,19 +33,14 @@ using System.Reflection; | |||
33 | using System.Timers; | 33 | using System.Timers; |
34 | using libsecondlife; | 34 | using libsecondlife; |
35 | using log4net; | 35 | using log4net; |
36 | using Mono.Addins; | ||
37 | using Nwc.XmlRpc; | 36 | using Nwc.XmlRpc; |
38 | using OpenSim.Framework; | 37 | using OpenSim.Framework; |
39 | using OpenSim.Framework.Servers; | 38 | using OpenSim.Framework.Servers; |
40 | using OpenSim.Region.Environment.Modules.World.Terrain; | 39 | using OpenSim.Region.Environment.Modules.World.Terrain; |
41 | using OpenSim.Region.Environment.Scenes; | 40 | using OpenSim.Region.Environment.Scenes; |
42 | 41 | ||
43 | [assembly : Addin] | ||
44 | [assembly : AddinDependency("OpenSim", "0.5")] | ||
45 | |||
46 | namespace OpenSim.ApplicationPlugins.RemoteController | 42 | namespace OpenSim.ApplicationPlugins.RemoteController |
47 | { | 43 | { |
48 | [Extension("/OpenSim/Startup")] | ||
49 | public class RemoteAdminPlugin : IApplicationPlugin | 44 | public class RemoteAdminPlugin : IApplicationPlugin |
50 | { | 45 | { |
51 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 46 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
diff --git a/OpenSim/ApplicationPlugins/Rest/Inventory/RestHandler.cs b/OpenSim/ApplicationPlugins/Rest/Inventory/RestHandler.cs index c351272..1ec3567 100644 --- a/OpenSim/ApplicationPlugins/Rest/Inventory/RestHandler.cs +++ b/OpenSim/ApplicationPlugins/Rest/Inventory/RestHandler.cs | |||
@@ -32,16 +32,9 @@ using System.Reflection; | |||
32 | using OpenSim.Framework; | 32 | using OpenSim.Framework; |
33 | using OpenSim.Framework.Servers; | 33 | using OpenSim.Framework.Servers; |
34 | using OpenSim.ApplicationPlugins.Rest; | 34 | using OpenSim.ApplicationPlugins.Rest; |
35 | using Mono.Addins; | ||
36 | |||
37 | [assembly : Addin] | ||
38 | [assembly : AddinDependency("OpenSim", "0.5")] | ||
39 | 35 | ||
40 | namespace OpenSim.ApplicationPlugins.Rest.Inventory | 36 | namespace OpenSim.ApplicationPlugins.Rest.Inventory |
41 | { | 37 | { |
42 | |||
43 | [Extension("/OpenSim/Startup")] | ||
44 | |||
45 | public class RestHandler : RestPlugin, IHttpAgentHandler | 38 | public class RestHandler : RestPlugin, IHttpAgentHandler |
46 | { | 39 | { |
47 | 40 | ||
diff --git a/OpenSim/ApplicationPlugins/Rest/Regions/GETHandler.cs b/OpenSim/ApplicationPlugins/Rest/Regions/GETHandler.cs index a605d09..2734c77 100644 --- a/OpenSim/ApplicationPlugins/Rest/Regions/GETHandler.cs +++ b/OpenSim/ApplicationPlugins/Rest/Regions/GETHandler.cs | |||
@@ -37,7 +37,6 @@ using System.Timers; | |||
37 | using System.Xml; | 37 | using System.Xml; |
38 | using System.Xml.Serialization; | 38 | using System.Xml.Serialization; |
39 | using libsecondlife; | 39 | using libsecondlife; |
40 | using Mono.Addins; | ||
41 | using Nwc.XmlRpc; | 40 | using Nwc.XmlRpc; |
42 | using Nini.Config; | 41 | using Nini.Config; |
43 | using OpenSim.Framework; | 42 | using OpenSim.Framework; |
diff --git a/OpenSim/ApplicationPlugins/Rest/Regions/POSTHandler.cs b/OpenSim/ApplicationPlugins/Rest/Regions/POSTHandler.cs index e6131f1..a40af29 100644 --- a/OpenSim/ApplicationPlugins/Rest/Regions/POSTHandler.cs +++ b/OpenSim/ApplicationPlugins/Rest/Regions/POSTHandler.cs | |||
@@ -37,7 +37,6 @@ using System.Timers; | |||
37 | using System.Xml; | 37 | using System.Xml; |
38 | using System.Xml.Serialization; | 38 | using System.Xml.Serialization; |
39 | using libsecondlife; | 39 | using libsecondlife; |
40 | using Mono.Addins; | ||
41 | using Nwc.XmlRpc; | 40 | using Nwc.XmlRpc; |
42 | using Nini.Config; | 41 | using Nini.Config; |
43 | using OpenSim.Framework; | 42 | using OpenSim.Framework; |
diff --git a/OpenSim/ApplicationPlugins/Rest/Regions/RestRegionPlugin.cs b/OpenSim/ApplicationPlugins/Rest/Regions/RestRegionPlugin.cs index 9d68225..5ec2526 100644 --- a/OpenSim/ApplicationPlugins/Rest/Regions/RestRegionPlugin.cs +++ b/OpenSim/ApplicationPlugins/Rest/Regions/RestRegionPlugin.cs | |||
@@ -37,7 +37,6 @@ using System.Timers; | |||
37 | using System.Xml; | 37 | using System.Xml; |
38 | using System.Xml.Serialization; | 38 | using System.Xml.Serialization; |
39 | using libsecondlife; | 39 | using libsecondlife; |
40 | using Mono.Addins; | ||
41 | using Nwc.XmlRpc; | 40 | using Nwc.XmlRpc; |
42 | using Nini.Config; | 41 | using Nini.Config; |
43 | using OpenSim.Framework; | 42 | using OpenSim.Framework; |
@@ -47,13 +46,8 @@ using OpenSim.Framework.Communications; | |||
47 | using OpenSim.Region.Environment.Scenes; | 46 | using OpenSim.Region.Environment.Scenes; |
48 | using OpenSim.ApplicationPlugins.Rest; | 47 | using OpenSim.ApplicationPlugins.Rest; |
49 | 48 | ||
50 | [assembly : Addin] | ||
51 | [assembly : AddinDependency("OpenSim", "0.5")] | ||
52 | |||
53 | namespace OpenSim.ApplicationPlugins.Rest.Regions | 49 | namespace OpenSim.ApplicationPlugins.Rest.Regions |
54 | { | 50 | { |
55 | |||
56 | [Extension("/OpenSim/Startup")] | ||
57 | public partial class RestRegionPlugin : RestPlugin | 51 | public partial class RestRegionPlugin : RestPlugin |
58 | { | 52 | { |
59 | private static XmlSerializerNamespaces _xmlNs; | 53 | private static XmlSerializerNamespaces _xmlNs; |
diff --git a/OpenSim/ApplicationPlugins/Rest/RestPlugin.cs b/OpenSim/ApplicationPlugins/Rest/RestPlugin.cs index 78e0e66..1f633d5 100644 --- a/OpenSim/ApplicationPlugins/Rest/RestPlugin.cs +++ b/OpenSim/ApplicationPlugins/Rest/RestPlugin.cs | |||
@@ -35,7 +35,6 @@ using System.Reflection; | |||
35 | using System.Timers; | 35 | using System.Timers; |
36 | using System.Xml; | 36 | using System.Xml; |
37 | using libsecondlife; | 37 | using libsecondlife; |
38 | using Mono.Addins; | ||
39 | using Nwc.XmlRpc; | 38 | using Nwc.XmlRpc; |
40 | using Nini.Config; | 39 | using Nini.Config; |
41 | using OpenSim.Framework; | 40 | using OpenSim.Framework; |
@@ -44,13 +43,8 @@ using OpenSim.Framework.Servers; | |||
44 | using OpenSim.Framework.Communications; | 43 | using OpenSim.Framework.Communications; |
45 | using OpenSim.Region.Environment.Scenes; | 44 | using OpenSim.Region.Environment.Scenes; |
46 | 45 | ||
47 | // [assembly : Addin] | ||
48 | // [assembly : AddinDependency("OpenSim", "0.5")] | ||
49 | |||
50 | namespace OpenSim.ApplicationPlugins.Rest | 46 | namespace OpenSim.ApplicationPlugins.Rest |
51 | { | 47 | { |
52 | |||
53 | // [Extension("/OpenSim/Startup")] | ||
54 | public abstract class RestPlugin : IApplicationPlugin | 48 | public abstract class RestPlugin : IApplicationPlugin |
55 | { | 49 | { |
56 | #region properties | 50 | #region properties |
diff --git a/OpenSim/Framework/PluginLoader.cs b/OpenSim/Framework/PluginLoader.cs index 9104958..cfc1d7c 100644 --- a/OpenSim/Framework/PluginLoader.cs +++ b/OpenSim/Framework/PluginLoader.cs | |||
@@ -55,6 +55,7 @@ namespace OpenSim.Framework | |||
55 | } | 55 | } |
56 | 56 | ||
57 | /// <summary> | 57 | /// <summary> |
58 | |||
58 | /// Generic Plugin Loader | 59 | /// Generic Plugin Loader |
59 | /// </summary> | 60 | /// </summary> |
60 | public class PluginLoader <T> : IDisposable where T : IPlugin | 61 | public class PluginLoader <T> : IDisposable where T : IPlugin |
@@ -66,16 +67,17 @@ namespace OpenSim.Framework | |||
66 | private PluginInitialiserBase initialiser; | 67 | private PluginInitialiserBase initialiser; |
67 | private Dictionary<string,IPluginConstraint> constraints | 68 | private Dictionary<string,IPluginConstraint> constraints |
68 | = new Dictionary<string,IPluginConstraint>(); | 69 | = new Dictionary<string,IPluginConstraint>(); |
69 | 70 | ||
71 | private static bool runonce = false; | ||
70 | private static readonly ILog log | 72 | private static readonly ILog log |
71 | = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 73 | = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
72 | 74 | ||
73 | public PluginInitialiserBase Initialiser | 75 | public PluginInitialiserBase Initialiser |
74 | { | 76 | { |
75 | set { initialiser = value; } | 77 | set { initialiser = value; } |
76 | get { return initialiser; } | 78 | get { return initialiser; } |
77 | } | 79 | } |
78 | 80 | ||
79 | public List<T> Plugins | 81 | public List<T> Plugins |
80 | { | 82 | { |
81 | get { return loaded; } | 83 | get { return loaded; } |
@@ -84,25 +86,19 @@ namespace OpenSim.Framework | |||
84 | public PluginLoader () | 86 | public PluginLoader () |
85 | { | 87 | { |
86 | Initialiser = new PluginInitialiserBase(); | 88 | Initialiser = new PluginInitialiserBase(); |
89 | initialise_plugin_dir_ ("."); | ||
87 | } | 90 | } |
88 | 91 | ||
89 | public PluginLoader (PluginInitialiserBase init) | 92 | public PluginLoader (PluginInitialiserBase init) |
90 | { | 93 | { |
91 | Initialiser = init; | 94 | Initialiser = init; |
95 | initialise_plugin_dir_ ("."); | ||
92 | } | 96 | } |
93 | 97 | ||
94 | public PluginLoader (PluginInitialiserBase init, string dir) | 98 | public PluginLoader (PluginInitialiserBase init, string dir) |
95 | { | 99 | { |
96 | Initialiser = init; | 100 | Initialiser = init; |
97 | AddPluginDir (dir); | 101 | initialise_plugin_dir_ (dir); |
98 | } | ||
99 | |||
100 | public void AddPluginDir (string dir) | ||
101 | { | ||
102 | suppress_console_output_ (true); | ||
103 | AddinManager.Initialize (dir); | ||
104 | AddinManager.Registry.Update (null); | ||
105 | suppress_console_output_ (false); | ||
106 | } | 102 | } |
107 | 103 | ||
108 | public void AddExtensionPoint (string extpoint) | 104 | public void AddExtensionPoint (string extpoint) |
@@ -114,22 +110,21 @@ namespace OpenSim.Framework | |||
114 | { | 110 | { |
115 | constraints.Add (extpoint, cons); | 111 | constraints.Add (extpoint, cons); |
116 | } | 112 | } |
117 | 113 | ||
118 | public void Load (string extpoint, string dir) | 114 | public void Load (string extpoint) |
119 | { | 115 | { |
120 | AddPluginDir (dir); | ||
121 | AddExtensionPoint (extpoint); | 116 | AddExtensionPoint (extpoint); |
122 | Load(); | 117 | Load(); |
123 | } | 118 | } |
124 | 119 | ||
125 | public void Load () | 120 | public void Load () |
126 | { | 121 | { |
127 | suppress_console_output_ (true); | 122 | log.Info("[PLUGINS]: Begin Loading " + AddinManager.Registry.RegistryPath); |
128 | AddinManager.Registry.Update (null); | ||
129 | suppress_console_output_ (false); | ||
130 | 123 | ||
131 | foreach (string ext in extpoints) | 124 | foreach (string ext in extpoints) |
132 | { | 125 | { |
126 | log.Info("[PLUGINS]: Loading extension point " + ext); | ||
127 | |||
133 | if (constraints.ContainsKey (ext)) | 128 | if (constraints.ContainsKey (ext)) |
134 | { | 129 | { |
135 | IPluginConstraint cons = constraints [ext]; | 130 | IPluginConstraint cons = constraints [ext]; |
@@ -155,9 +150,25 @@ namespace OpenSim.Framework | |||
155 | p.Dispose (); | 150 | p.Dispose (); |
156 | } | 151 | } |
157 | 152 | ||
158 | public void ClearCache() | 153 | private void initialise_plugin_dir_ (string dir) |
154 | { | ||
155 | if (runonce == true) | ||
156 | return; | ||
157 | |||
158 | log.Info("[PLUGINS]: Initialzing " + dir); | ||
159 | |||
160 | clear_registry_(); | ||
161 | suppress_console_output_ (true); | ||
162 | AddinManager.Initialize (dir); | ||
163 | AddinManager.Registry.Update (null); | ||
164 | suppress_console_output_ (false); | ||
165 | runonce = true; | ||
166 | } | ||
167 | |||
168 | private void clear_registry_ () | ||
159 | { | 169 | { |
160 | // The Mono addin manager (in Mono.Addins.dll version 0.2.0.0) occasionally seems to corrupt its addin cache | 170 | // The Mono addin manager (in Mono.Addins.dll version 0.2.0.0) |
171 | // occasionally seems to corrupt its addin cache | ||
161 | // Hence, as a temporary solution we'll remove it before each startup | 172 | // Hence, as a temporary solution we'll remove it before each startup |
162 | if (Directory.Exists("addin-db-000")) | 173 | if (Directory.Exists("addin-db-000")) |
163 | Directory.Delete("addin-db-000", true); | 174 | Directory.Delete("addin-db-000", true); |
@@ -225,7 +236,7 @@ namespace OpenSim.Framework | |||
225 | public PluginFilenameConstraint (string name) | 236 | public PluginFilenameConstraint (string name) |
226 | { | 237 | { |
227 | filename = name; | 238 | filename = name; |
228 | 239 | ||
229 | } | 240 | } |
230 | 241 | ||
231 | public string Message | 242 | public string Message |
@@ -245,7 +256,7 @@ namespace OpenSim.Framework | |||
245 | string[] path = ns[0].Path.Split('/'); | 256 | string[] path = ns[0].Path.Split('/'); |
246 | if (path [path.Length-1] == filename) | 257 | if (path [path.Length-1] == filename) |
247 | return false; | 258 | return false; |
248 | 259 | ||
249 | return true; | 260 | return true; |
250 | } | 261 | } |
251 | } | 262 | } |
diff --git a/OpenSim/Grid/GridServer/GridServerBase.cs b/OpenSim/Grid/GridServer/GridServerBase.cs index 3cd7489..a8ebd27 100644 --- a/OpenSim/Grid/GridServer/GridServerBase.cs +++ b/OpenSim/Grid/GridServer/GridServerBase.cs | |||
@@ -31,7 +31,6 @@ using System.IO; | |||
31 | using System.Reflection; | 31 | using System.Reflection; |
32 | using System.Timers; | 32 | using System.Timers; |
33 | using log4net; | 33 | using log4net; |
34 | using Mono.Addins; | ||
35 | using OpenSim.Framework; | 34 | using OpenSim.Framework; |
36 | using OpenSim.Framework.Console; | 35 | using OpenSim.Framework.Console; |
37 | using OpenSim.Framework.Servers; | 36 | using OpenSim.Framework.Servers; |
@@ -121,7 +120,7 @@ namespace OpenSim.Grid.GridServer | |||
121 | PluginLoader<IGridPlugin> loader = | 120 | PluginLoader<IGridPlugin> loader = |
122 | new PluginLoader<IGridPlugin> (new GridPluginInitialiser (this)); | 121 | new PluginLoader<IGridPlugin> (new GridPluginInitialiser (this)); |
123 | 122 | ||
124 | loader.Load ("/OpenSim/GridServer", "."); | 123 | loader.Load ("/OpenSim/GridServer"); |
125 | m_plugins = loader.Plugins; | 124 | m_plugins = loader.Plugins; |
126 | } | 125 | } |
127 | 126 | ||
diff --git a/OpenSim/Grid/GridServer/IGridPlugin.cs b/OpenSim/Grid/GridServer/IGridPlugin.cs index 6593962..b8ac611 100644 --- a/OpenSim/Grid/GridServer/IGridPlugin.cs +++ b/OpenSim/Grid/GridServer/IGridPlugin.cs | |||
@@ -26,14 +26,10 @@ | |||
26 | * | 26 | * |
27 | */ | 27 | */ |
28 | 28 | ||
29 | using Mono.Addins; | ||
30 | using OpenSim.Framework; | 29 | using OpenSim.Framework; |
31 | 30 | ||
32 | [assembly : AddinRoot("OpenSim", "0.5")] | ||
33 | |||
34 | namespace OpenSim.Grid.GridServer | 31 | namespace OpenSim.Grid.GridServer |
35 | { | 32 | { |
36 | [TypeExtensionPoint("/OpenSim/GridServer")] | ||
37 | public interface IGridPlugin : IPlugin | 33 | public interface IGridPlugin : IPlugin |
38 | { | 34 | { |
39 | void Initialise(GridServerBase gridServer); | 35 | void Initialise(GridServerBase gridServer); |
diff --git a/OpenSim/Region/Application/IApplicationPlugin.cs b/OpenSim/Region/Application/IApplicationPlugin.cs index f122925..2e3122f 100644 --- a/OpenSim/Region/Application/IApplicationPlugin.cs +++ b/OpenSim/Region/Application/IApplicationPlugin.cs | |||
@@ -25,14 +25,10 @@ | |||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 | */ | 26 | */ |
27 | 27 | ||
28 | using Mono.Addins; | ||
29 | using OpenSim.Framework; | 28 | using OpenSim.Framework; |
30 | 29 | ||
31 | [assembly : AddinRoot("OpenSim", "0.5")] | ||
32 | |||
33 | namespace OpenSim | 30 | namespace OpenSim |
34 | { | 31 | { |
35 | [TypeExtensionPoint("/OpenSim/Startup")] | ||
36 | public interface IApplicationPlugin : IPlugin | 32 | public interface IApplicationPlugin : IPlugin |
37 | { | 33 | { |
38 | void Initialise(OpenSimBase openSim); | 34 | void Initialise(OpenSimBase openSim); |
diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs index 37daf88..065d2f2 100644 --- a/OpenSim/Region/Application/OpenSimBase.cs +++ b/OpenSim/Region/Application/OpenSimBase.cs | |||
@@ -34,7 +34,6 @@ using System.Text; | |||
34 | using System.Threading; | 34 | using System.Threading; |
35 | using libsecondlife; | 35 | using libsecondlife; |
36 | using log4net; | 36 | using log4net; |
37 | using Mono.Addins; | ||
38 | using Nini.Config; | 37 | using Nini.Config; |
39 | using OpenSim.Framework; | 38 | using OpenSim.Framework; |
40 | using OpenSim.Framework.Communications.Cache; | 39 | using OpenSim.Framework.Communications.Cache; |
@@ -337,7 +336,7 @@ namespace OpenSim | |||
337 | PluginLoader<IApplicationPlugin> loader = | 336 | PluginLoader<IApplicationPlugin> loader = |
338 | new PluginLoader<IApplicationPlugin> (new ApplicationPluginInitialiser (this)); | 337 | new PluginLoader<IApplicationPlugin> (new ApplicationPluginInitialiser (this)); |
339 | 338 | ||
340 | loader.Load ("/OpenSim/Startup", "."); | 339 | loader.Load ("/OpenSim/Startup"); |
341 | m_plugins = loader.Plugins; | 340 | m_plugins = loader.Plugins; |
342 | } | 341 | } |
343 | 342 | ||
@@ -730,3 +729,4 @@ namespace OpenSim | |||
730 | 729 | ||
731 | 730 | ||
732 | 731 | ||
732 | |||