diff options
author | Melanie | 2010-01-29 07:20:13 +0000 |
---|---|---|
committer | Melanie | 2010-01-29 07:20:13 +0000 |
commit | cfca9e1e811f6cdea6b7c3338f7f783a07f8e0ac (patch) | |
tree | 43f3fd01f30651d482f81b5ae7c25fd84cc8ca37 /OpenSim/Region/CoreModules | |
parent | Merge branch 'master' into careminster (diff) | |
download | opensim-SC_OLD-cfca9e1e811f6cdea6b7c3338f7f783a07f8e0ac.zip opensim-SC_OLD-cfca9e1e811f6cdea6b7c3338f7f783a07f8e0ac.tar.gz opensim-SC_OLD-cfca9e1e811f6cdea6b7c3338f7f783a07f8e0ac.tar.bz2 opensim-SC_OLD-cfca9e1e811f6cdea6b7c3338f7f783a07f8e0ac.tar.xz |
Revert "Updates all IRegionModules to the new style region modules."
This reverts commit ec3c31e61e5e540f822891110df9bc978655bbaf.
Diffstat (limited to 'OpenSim/Region/CoreModules')
54 files changed, 698 insertions, 1466 deletions
diff --git a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetTransactionModule.cs b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetTransactionModule.cs index 7012037..1077f4a 100644 --- a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetTransactionModule.cs +++ b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetTransactionModule.cs | |||
@@ -27,7 +27,6 @@ | |||
27 | 27 | ||
28 | using System; | 28 | using System; |
29 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
30 | using Mono.Addins; | ||
31 | using Nini.Config; | 30 | using Nini.Config; |
32 | using OpenMetaverse; | 31 | using OpenMetaverse; |
33 | using OpenSim.Framework; | 32 | using OpenSim.Framework; |
@@ -36,8 +35,7 @@ using OpenSim.Region.Framework.Scenes; | |||
36 | 35 | ||
37 | namespace OpenSim.Region.CoreModules.Agent.AssetTransaction | 36 | namespace OpenSim.Region.CoreModules.Agent.AssetTransaction |
38 | { | 37 | { |
39 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 38 | public class AssetTransactionModule : IRegionModule, IAgentAssetTransactions |
40 | public class AssetTransactionModule : ISharedRegionModule, IAgentAssetTransactions | ||
41 | { | 39 | { |
42 | private readonly Dictionary<UUID, Scene> RegisteredScenes = new Dictionary<UUID, Scene>(); | 40 | private readonly Dictionary<UUID, Scene> RegisteredScenes = new Dictionary<UUID, Scene>(); |
43 | private bool m_dumpAssetsToFile = false; | 41 | private bool m_dumpAssetsToFile = false; |
@@ -61,14 +59,9 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction | |||
61 | //m_log.Debug("creating AgentAssetTransactionModule"); | 59 | //m_log.Debug("creating AgentAssetTransactionModule"); |
62 | } | 60 | } |
63 | 61 | ||
64 | #region ISharedRegionModule Members | 62 | #region IRegionModule Members |
65 | 63 | ||
66 | public void Initialise(IConfigSource config) | 64 | public void Initialise(Scene scene, IConfigSource config) |
67 | { | ||
68 | |||
69 | } | ||
70 | |||
71 | public void AddRegion(Scene scene) | ||
72 | { | 65 | { |
73 | if (!RegisteredScenes.ContainsKey(scene.RegionInfo.RegionID)) | 66 | if (!RegisteredScenes.ContainsKey(scene.RegionInfo.RegionID)) |
74 | { | 67 | { |
@@ -86,23 +79,6 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction | |||
86 | m_scene = scene; | 79 | m_scene = scene; |
87 | } | 80 | } |
88 | 81 | ||
89 | public Type ReplaceableInterface | ||
90 | { | ||
91 | get { return null; } | ||
92 | } | ||
93 | |||
94 | public void RegionLoaded(Scene scene) | ||
95 | { | ||
96 | } | ||
97 | |||
98 | public void RemoveRegion(Scene scene) | ||
99 | { | ||
100 | if (RegisteredScenes.ContainsKey(scene.RegionInfo.RegionID)) | ||
101 | RegisteredScenes.Remove(scene.RegionInfo.RegionID); | ||
102 | scene.UnregisterModuleInterface<IAgentAssetTransactions>(this); | ||
103 | scene.EventManager.OnNewClient -= NewClient; | ||
104 | } | ||
105 | |||
106 | public void PostInitialise() | 82 | public void PostInitialise() |
107 | { | 83 | { |
108 | } | 84 | } |
@@ -116,6 +92,11 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction | |||
116 | get { return "AgentTransactionModule"; } | 92 | get { return "AgentTransactionModule"; } |
117 | } | 93 | } |
118 | 94 | ||
95 | public bool IsSharedModule | ||
96 | { | ||
97 | get { return true; } | ||
98 | } | ||
99 | |||
119 | #endregion | 100 | #endregion |
120 | 101 | ||
121 | public void NewClient(IClientAPI client) | 102 | public void NewClient(IClientAPI client) |
diff --git a/OpenSim/Region/CoreModules/Agent/Capabilities/CapabilitiesModule.cs b/OpenSim/Region/CoreModules/Agent/Capabilities/CapabilitiesModule.cs index 886173f..2a1355b 100644 --- a/OpenSim/Region/CoreModules/Agent/Capabilities/CapabilitiesModule.cs +++ b/OpenSim/Region/CoreModules/Agent/Capabilities/CapabilitiesModule.cs | |||
@@ -69,7 +69,7 @@ namespace OpenSim.Region.CoreModules.Agent.Capabilities | |||
69 | 69 | ||
70 | public void RemoveRegion(Scene scene) | 70 | public void RemoveRegion(Scene scene) |
71 | { | 71 | { |
72 | scene.UnregisterModuleInterface<ICapabilitiesModule>(this); | 72 | m_scene.UnregisterModuleInterface<ICapabilitiesModule>(this); |
73 | } | 73 | } |
74 | 74 | ||
75 | public void PostInitialise() {} | 75 | public void PostInitialise() {} |
diff --git a/OpenSim/Region/CoreModules/Agent/IPBan/IPBanModule.cs b/OpenSim/Region/CoreModules/Agent/IPBan/IPBanModule.cs index f7f2eff..bfe2a71 100644 --- a/OpenSim/Region/CoreModules/Agent/IPBan/IPBanModule.cs +++ b/OpenSim/Region/CoreModules/Agent/IPBan/IPBanModule.cs | |||
@@ -29,7 +29,6 @@ using System; | |||
29 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
30 | using System.IO; | 30 | using System.IO; |
31 | using System.Text; | 31 | using System.Text; |
32 | using Mono.Addins; | ||
33 | using Nini.Config; | 32 | using Nini.Config; |
34 | using OpenSim.Framework; | 33 | using OpenSim.Framework; |
35 | using OpenSim.Region.Framework.Interfaces; | 34 | using OpenSim.Region.Framework.Interfaces; |
@@ -37,27 +36,21 @@ using OpenSim.Region.Framework.Scenes; | |||
37 | 36 | ||
38 | namespace OpenSim.Region.CoreModules.Agent.IPBan | 37 | namespace OpenSim.Region.CoreModules.Agent.IPBan |
39 | { | 38 | { |
40 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 39 | public class IPBanModule : IRegionModule |
41 | public class IPBanModule : ISharedRegionModule | ||
42 | { | 40 | { |
43 | #region Implementation of ISharedRegionModule | 41 | #region Implementation of IRegionModule |
44 | 42 | ||
45 | private List<string> m_bans = new List<string>(); | 43 | private List<string> m_bans = new List<string>(); |
46 | private Dictionary<Scene, SceneBanner> SceneBanners = new Dictionary<Scene, SceneBanner>(); | ||
47 | 44 | ||
48 | public void Initialise(IConfigSource source) | 45 | public void Initialise(Scene scene, IConfigSource source) |
49 | { | 46 | { |
50 | } | 47 | new SceneBanner(scene, m_bans); |
51 | |||
52 | public void AddRegion(Scene scene) | ||
53 | { | ||
54 | SceneBanners.Add(scene, new SceneBanner(scene, m_bans)); | ||
55 | 48 | ||
56 | lock (m_bans) | 49 | lock (m_bans) |
57 | { | 50 | { |
58 | foreach (EstateBan ban in scene.RegionInfo.EstateSettings.EstateBans) | 51 | foreach (EstateBan ban in scene.RegionInfo.EstateSettings.EstateBans) |
59 | { | 52 | { |
60 | if (!String.IsNullOrEmpty(ban.BannedHostIPMask)) | 53 | if (!String.IsNullOrEmpty(ban.BannedHostIPMask)) |
61 | m_bans.Add(ban.BannedHostIPMask); | 54 | m_bans.Add(ban.BannedHostIPMask); |
62 | if (!String.IsNullOrEmpty(ban.BannedHostNameMask)) | 55 | if (!String.IsNullOrEmpty(ban.BannedHostNameMask)) |
63 | m_bans.Add(ban.BannedHostNameMask); | 56 | m_bans.Add(ban.BannedHostNameMask); |
@@ -65,12 +58,7 @@ namespace OpenSim.Region.CoreModules.Agent.IPBan | |||
65 | } | 58 | } |
66 | } | 59 | } |
67 | 60 | ||
68 | public Type ReplaceableInterface | 61 | public void PostInitialise() |
69 | { | ||
70 | get { return null; } | ||
71 | } | ||
72 | |||
73 | public void RegionLoaded(Scene scene) | ||
74 | { | 62 | { |
75 | if (File.Exists("bans.txt")) | 63 | if (File.Exists("bans.txt")) |
76 | { | 64 | { |
@@ -82,18 +70,9 @@ namespace OpenSim.Region.CoreModules.Agent.IPBan | |||
82 | } | 70 | } |
83 | } | 71 | } |
84 | 72 | ||
85 | public void RemoveRegion(Scene scene) | ||
86 | { | ||
87 | if(SceneBanners.ContainsKey(scene)) | ||
88 | SceneBanners.Remove(scene); | ||
89 | } | ||
90 | |||
91 | public void PostInitialise() | ||
92 | { | ||
93 | } | ||
94 | |||
95 | public void Close() | 73 | public void Close() |
96 | { | 74 | { |
75 | |||
97 | } | 76 | } |
98 | 77 | ||
99 | public string Name | 78 | public string Name |
@@ -101,6 +80,11 @@ namespace OpenSim.Region.CoreModules.Agent.IPBan | |||
101 | get { return "IPBanModule"; } | 80 | get { return "IPBanModule"; } |
102 | } | 81 | } |
103 | 82 | ||
83 | public bool IsSharedModule | ||
84 | { | ||
85 | get { return true; } | ||
86 | } | ||
87 | |||
104 | #endregion | 88 | #endregion |
105 | 89 | ||
106 | /// <summary> | 90 | /// <summary> |
diff --git a/OpenSim/Region/CoreModules/Agent/TextureDownload/TextureDownloadModule.cs b/OpenSim/Region/CoreModules/Agent/TextureDownload/TextureDownloadModule.cs index c4d84cb..71ff28c 100644 --- a/OpenSim/Region/CoreModules/Agent/TextureDownload/TextureDownloadModule.cs +++ b/OpenSim/Region/CoreModules/Agent/TextureDownload/TextureDownloadModule.cs | |||
@@ -30,7 +30,6 @@ using System.Collections.Generic; | |||
30 | using System.Reflection; | 30 | using System.Reflection; |
31 | using System.Threading; | 31 | using System.Threading; |
32 | using log4net; | 32 | using log4net; |
33 | using Mono.Addins; | ||
34 | using Nini.Config; | 33 | using Nini.Config; |
35 | using OpenMetaverse; | 34 | using OpenMetaverse; |
36 | using OpenSim.Framework; | 35 | using OpenSim.Framework; |
@@ -42,8 +41,7 @@ using OpenSim.Services.Interfaces; | |||
42 | 41 | ||
43 | namespace OpenSim.Region.CoreModules.Agent.TextureDownload | 42 | namespace OpenSim.Region.CoreModules.Agent.TextureDownload |
44 | { | 43 | { |
45 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 44 | public class TextureDownloadModule : IRegionModule |
46 | public class TextureDownloadModule : INonSharedRegionModule | ||
47 | { | 45 | { |
48 | private static readonly ILog m_log | 46 | private static readonly ILog m_log |
49 | = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 47 | = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
@@ -67,14 +65,11 @@ namespace OpenSim.Region.CoreModules.Agent.TextureDownload | |||
67 | { | 65 | { |
68 | } | 66 | } |
69 | 67 | ||
70 | #region INonSharedRegionModule Members | 68 | #region IRegionModule Members |
71 | 69 | ||
72 | public void Initialise(IConfigSource config) | 70 | public void Initialise(Scene scene, IConfigSource config) |
73 | { | ||
74 | } | ||
75 | |||
76 | public void AddRegion(Scene scene) | ||
77 | { | 71 | { |
72 | |||
78 | if (m_scene == null) | 73 | if (m_scene == null) |
79 | { | 74 | { |
80 | //m_log.Debug("Creating Texture download module"); | 75 | //m_log.Debug("Creating Texture download module"); |
@@ -95,23 +90,10 @@ namespace OpenSim.Region.CoreModules.Agent.TextureDownload | |||
95 | } | 90 | } |
96 | } | 91 | } |
97 | 92 | ||
98 | public Type ReplaceableInterface | 93 | public void PostInitialise() |
99 | { | ||
100 | get { return null; } | ||
101 | } | ||
102 | |||
103 | public void RegionLoaded(Scene scene) | ||
104 | { | 94 | { |
105 | } | 95 | } |
106 | 96 | ||
107 | public void RemoveRegion(Scene scene) | ||
108 | { | ||
109 | if(m_scenes.Contains(scene)) | ||
110 | m_scenes.Remove(scene); | ||
111 | scene.EventManager.OnNewClient -= NewClient; | ||
112 | scene.EventManager.OnRemovePresence -= EventManager_OnRemovePresence; | ||
113 | } | ||
114 | |||
115 | public void Close() | 97 | public void Close() |
116 | { | 98 | { |
117 | } | 99 | } |
@@ -121,6 +103,11 @@ namespace OpenSim.Region.CoreModules.Agent.TextureDownload | |||
121 | get { return "TextureDownloadModule"; } | 103 | get { return "TextureDownloadModule"; } |
122 | } | 104 | } |
123 | 105 | ||
106 | public bool IsSharedModule | ||
107 | { | ||
108 | get { return false; } | ||
109 | } | ||
110 | |||
124 | #endregion | 111 | #endregion |
125 | 112 | ||
126 | /// <summary> | 113 | /// <summary> |
diff --git a/OpenSim/Region/CoreModules/Agent/TextureSender/J2KDecoderModule.cs b/OpenSim/Region/CoreModules/Agent/TextureSender/J2KDecoderModule.cs index ff87493..7ac8bed 100644 --- a/OpenSim/Region/CoreModules/Agent/TextureSender/J2KDecoderModule.cs +++ b/OpenSim/Region/CoreModules/Agent/TextureSender/J2KDecoderModule.cs | |||
@@ -32,7 +32,6 @@ using System.Reflection; | |||
32 | using System.Text; | 32 | using System.Text; |
33 | using System.Threading; | 33 | using System.Threading; |
34 | using log4net; | 34 | using log4net; |
35 | using Mono.Addins; | ||
36 | using Nini.Config; | 35 | using Nini.Config; |
37 | using OpenMetaverse; | 36 | using OpenMetaverse; |
38 | using OpenMetaverse.Imaging; | 37 | using OpenMetaverse.Imaging; |
@@ -46,8 +45,7 @@ namespace OpenSim.Region.CoreModules.Agent.TextureSender | |||
46 | { | 45 | { |
47 | public delegate void J2KDecodeDelegate(UUID assetID); | 46 | public delegate void J2KDecodeDelegate(UUID assetID); |
48 | 47 | ||
49 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 48 | public class J2KDecoderModule : IRegionModule, IJ2KDecoder |
50 | public class J2KDecoderModule : ISharedRegionModule, IJ2KDecoder | ||
51 | { | 49 | { |
52 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 50 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
53 | 51 | ||
@@ -60,19 +58,16 @@ namespace OpenSim.Region.CoreModules.Agent.TextureSender | |||
60 | /// <summary>Reference to a scene (doesn't matter which one as long as it can load the cache module)</summary> | 58 | /// <summary>Reference to a scene (doesn't matter which one as long as it can load the cache module)</summary> |
61 | private Scene m_scene; | 59 | private Scene m_scene; |
62 | 60 | ||
63 | #region ISharedRegionModule | 61 | #region IRegionModule |
64 | 62 | ||
65 | public string Name { get { return "J2KDecoderModule"; } } | 63 | public string Name { get { return "J2KDecoderModule"; } } |
66 | 64 | public bool IsSharedModule { get { return true; } } | |
67 | public J2KDecoderModule() | ||
68 | { | ||
69 | } | ||
70 | 65 | ||
71 | public void Initialise(IConfigSource source) | 66 | public J2KDecoderModule() |
72 | { | 67 | { |
73 | } | 68 | } |
74 | 69 | ||
75 | public void AddRegion(Scene scene) | 70 | public void Initialise(Scene scene, IConfigSource source) |
76 | { | 71 | { |
77 | if (m_scene == null) | 72 | if (m_scene == null) |
78 | m_scene = scene; | 73 | m_scene = scene; |
@@ -80,30 +75,16 @@ namespace OpenSim.Region.CoreModules.Agent.TextureSender | |||
80 | scene.RegisterModuleInterface<IJ2KDecoder>(this); | 75 | scene.RegisterModuleInterface<IJ2KDecoder>(this); |
81 | } | 76 | } |
82 | 77 | ||
83 | public Type ReplaceableInterface | ||
84 | { | ||
85 | get { return null; } | ||
86 | } | ||
87 | |||
88 | public void RegionLoaded(Scene scene) | ||
89 | { | ||
90 | m_cache = m_scene.RequestModuleInterface<IImprovedAssetCache>(); | ||
91 | } | ||
92 | |||
93 | public void RemoveRegion(Scene scene) | ||
94 | { | ||
95 | scene.UnregisterModuleInterface<IJ2KDecoder>(this); | ||
96 | } | ||
97 | |||
98 | public void PostInitialise() | 78 | public void PostInitialise() |
99 | { | 79 | { |
80 | m_cache = m_scene.RequestModuleInterface<IImprovedAssetCache>(); | ||
100 | } | 81 | } |
101 | 82 | ||
102 | public void Close() | 83 | public void Close() |
103 | { | 84 | { |
104 | } | 85 | } |
105 | 86 | ||
106 | #endregion | 87 | #endregion IRegionModule |
107 | 88 | ||
108 | #region IJ2KDecoder | 89 | #region IJ2KDecoder |
109 | 90 | ||
diff --git a/OpenSim/Region/CoreModules/Agent/Xfer/XferModule.cs b/OpenSim/Region/CoreModules/Agent/Xfer/XferModule.cs index d062361..ef7dce8 100644 --- a/OpenSim/Region/CoreModules/Agent/Xfer/XferModule.cs +++ b/OpenSim/Region/CoreModules/Agent/Xfer/XferModule.cs | |||
@@ -27,7 +27,6 @@ | |||
27 | 27 | ||
28 | using System; | 28 | using System; |
29 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
30 | using Mono.Addins; | ||
31 | using Nini.Config; | 30 | using Nini.Config; |
32 | using OpenMetaverse; | 31 | using OpenMetaverse; |
33 | using OpenSim.Framework; | 32 | using OpenSim.Framework; |
@@ -36,8 +35,7 @@ using OpenSim.Region.Framework.Scenes; | |||
36 | 35 | ||
37 | namespace OpenSim.Region.CoreModules.Agent.Xfer | 36 | namespace OpenSim.Region.CoreModules.Agent.Xfer |
38 | { | 37 | { |
39 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 38 | public class XferModule : IRegionModule, IXfer |
40 | public class XferModule : INonSharedRegionModule, IXfer | ||
41 | { | 39 | { |
42 | private Scene m_scene; | 40 | private Scene m_scene; |
43 | private Dictionary<string, XferRequest> Requests = new Dictionary<string, XferRequest>(); | 41 | private Dictionary<string, XferRequest> Requests = new Dictionary<string, XferRequest>(); |
@@ -54,13 +52,9 @@ namespace OpenSim.Region.CoreModules.Agent.Xfer | |||
54 | public DateTime timeStamp; | 52 | public DateTime timeStamp; |
55 | } | 53 | } |
56 | 54 | ||
57 | #region INonSharedRegionModule Members | 55 | #region IRegionModule Members |
58 | 56 | ||
59 | public void Initialise(IConfigSource config) | 57 | public void Initialise(Scene scene, IConfigSource config) |
60 | { | ||
61 | } | ||
62 | |||
63 | public void AddRegion(Scene scene) | ||
64 | { | 58 | { |
65 | m_scene = scene; | 59 | m_scene = scene; |
66 | m_scene.EventManager.OnNewClient += NewClient; | 60 | m_scene.EventManager.OnNewClient += NewClient; |
@@ -68,21 +62,10 @@ namespace OpenSim.Region.CoreModules.Agent.Xfer | |||
68 | m_scene.RegisterModuleInterface<IXfer>(this); | 62 | m_scene.RegisterModuleInterface<IXfer>(this); |
69 | } | 63 | } |
70 | 64 | ||
71 | public Type ReplaceableInterface | 65 | public void PostInitialise() |
72 | { | ||
73 | get { return null; } | ||
74 | } | ||
75 | |||
76 | public void RegionLoaded(Scene scene) | ||
77 | { | 66 | { |
78 | } | 67 | } |
79 | 68 | ||
80 | public void RemoveRegion(Scene scene) | ||
81 | { | ||
82 | scene.EventManager.OnNewClient -= NewClient; | ||
83 | scene.UnregisterModuleInterface<IXfer>(this); | ||
84 | } | ||
85 | |||
86 | public void Close() | 69 | public void Close() |
87 | { | 70 | { |
88 | } | 71 | } |
@@ -92,6 +75,11 @@ namespace OpenSim.Region.CoreModules.Agent.Xfer | |||
92 | get { return "XferModule"; } | 75 | get { return "XferModule"; } |
93 | } | 76 | } |
94 | 77 | ||
78 | public bool IsSharedModule | ||
79 | { | ||
80 | get { return false; } | ||
81 | } | ||
82 | |||
95 | #endregion | 83 | #endregion |
96 | 84 | ||
97 | #region IXfer Members | 85 | #region IXfer Members |
diff --git a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs index 6bbbd56..35c59aa 100644 --- a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs | |||
@@ -28,7 +28,6 @@ | |||
28 | using System; | 28 | using System; |
29 | using System.Reflection; | 29 | using System.Reflection; |
30 | using log4net; | 30 | using log4net; |
31 | using Mono.Addins; | ||
32 | using Nini.Config; | 31 | using Nini.Config; |
33 | using OpenMetaverse; | 32 | using OpenMetaverse; |
34 | using OpenSim.Framework; | 33 | using OpenSim.Framework; |
@@ -39,8 +38,7 @@ using OpenSim.Services.Interfaces; | |||
39 | 38 | ||
40 | namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory | 39 | namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory |
41 | { | 40 | { |
42 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 41 | public class AvatarFactoryModule : IAvatarFactory, IRegionModule |
43 | public class AvatarFactoryModule : IAvatarFactory, ISharedRegionModule | ||
44 | { | 42 | { |
45 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 43 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
46 | private Scene m_scene = null; | 44 | private Scene m_scene = null; |
@@ -77,16 +75,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory | |||
77 | return appearance; | 75 | return appearance; |
78 | } | 76 | } |
79 | 77 | ||
80 | public void Initialise(IConfigSource source) | 78 | public void Initialise(Scene scene, IConfigSource source) |
81 | { | ||
82 | } | ||
83 | |||
84 | public Type ReplaceableInterface | ||
85 | { | ||
86 | get { return null; } | ||
87 | } | ||
88 | |||
89 | public void AddRegion(Scene scene) | ||
90 | { | 79 | { |
91 | scene.RegisterModuleInterface<IAvatarFactory>(this); | 80 | scene.RegisterModuleInterface<IAvatarFactory>(this); |
92 | scene.EventManager.OnNewClient += NewClient; | 81 | scene.EventManager.OnNewClient += NewClient; |
@@ -95,18 +84,9 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory | |||
95 | { | 84 | { |
96 | m_scene = scene; | 85 | m_scene = scene; |
97 | } | 86 | } |
98 | } | ||
99 | 87 | ||
100 | public void RegionLoaded(Scene scene) | ||
101 | { | ||
102 | } | 88 | } |
103 | 89 | ||
104 | public void RemoveRegion(Scene scene) | ||
105 | { | ||
106 | scene.UnregisterModuleInterface<IAvatarFactory>(this); | ||
107 | scene.EventManager.OnNewClient -= NewClient; | ||
108 | } | ||
109 | |||
110 | public void PostInitialise() | 90 | public void PostInitialise() |
111 | { | 91 | { |
112 | } | 92 | } |
@@ -120,6 +100,11 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory | |||
120 | get { return "Default Avatar Factory"; } | 100 | get { return "Default Avatar Factory"; } |
121 | } | 101 | } |
122 | 102 | ||
103 | public bool IsSharedModule | ||
104 | { | ||
105 | get { return false; } | ||
106 | } | ||
107 | |||
123 | public void NewClient(IClientAPI client) | 108 | public void NewClient(IClientAPI client) |
124 | { | 109 | { |
125 | client.OnAvatarNowWearing += AvatarIsWearing; | 110 | client.OnAvatarNowWearing += AvatarIsWearing; |
diff --git a/OpenSim/Region/CoreModules/Avatar/Combat/CombatModule.cs b/OpenSim/Region/CoreModules/Avatar/Combat/CombatModule.cs index b7d12aa..61b6d65 100644 --- a/OpenSim/Region/CoreModules/Avatar/Combat/CombatModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Combat/CombatModule.cs | |||
@@ -27,7 +27,6 @@ | |||
27 | 27 | ||
28 | using System; | 28 | using System; |
29 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
30 | using Mono.Addins; | ||
31 | using Nini.Config; | 30 | using Nini.Config; |
32 | using OpenSim.Region.Framework.Interfaces; | 31 | using OpenSim.Region.Framework.Interfaces; |
33 | using OpenSim.Region.Framework.Scenes; | 32 | using OpenSim.Region.Framework.Scenes; |
@@ -35,8 +34,7 @@ using OpenMetaverse; | |||
35 | 34 | ||
36 | namespace OpenSim.Region.CoreModules.Avatar.Combat.CombatModule | 35 | namespace OpenSim.Region.CoreModules.Avatar.Combat.CombatModule |
37 | { | 36 | { |
38 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 37 | public class CombatModule : IRegionModule |
39 | public class CombatModule : ISharedRegionModule | ||
40 | { | 38 | { |
41 | //private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 39 | //private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
42 | 40 | ||
@@ -55,17 +53,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Combat.CombatModule | |||
55 | /// </summary> | 53 | /// </summary> |
56 | /// <param name="scene"></param> | 54 | /// <param name="scene"></param> |
57 | /// <param name="config"></param> | 55 | /// <param name="config"></param> |
58 | public void Initialise(IConfigSource config) | 56 | public void Initialise(Scene scene, IConfigSource config) |
59 | { | ||
60 | |||
61 | } | ||
62 | |||
63 | public Type ReplaceableInterface | ||
64 | { | ||
65 | get { return null; } | ||
66 | } | ||
67 | |||
68 | public void AddRegion(Scene scene) | ||
69 | { | 57 | { |
70 | lock (m_scenel) | 58 | lock (m_scenel) |
71 | { | 59 | { |
@@ -83,17 +71,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Combat.CombatModule | |||
83 | scene.EventManager.OnAvatarEnteringNewParcel += AvatarEnteringParcel; | 71 | scene.EventManager.OnAvatarEnteringNewParcel += AvatarEnteringParcel; |
84 | } | 72 | } |
85 | 73 | ||
86 | public void RegionLoaded(Scene scene) | ||
87 | { | ||
88 | } | ||
89 | |||
90 | public void RemoveRegion(Scene scene) | ||
91 | { | ||
92 | scene.EventManager.OnAvatarKilled -= KillAvatar; | ||
93 | scene.EventManager.OnAvatarEnteringNewParcel -= AvatarEnteringParcel; | ||
94 | m_scenel.Remove(scene.RegionInfo.RegionHandle); | ||
95 | } | ||
96 | |||
97 | public void PostInitialise() | 74 | public void PostInitialise() |
98 | { | 75 | { |
99 | } | 76 | } |
@@ -107,6 +84,11 @@ namespace OpenSim.Region.CoreModules.Avatar.Combat.CombatModule | |||
107 | get { return "CombatModule"; } | 84 | get { return "CombatModule"; } |
108 | } | 85 | } |
109 | 86 | ||
87 | public bool IsSharedModule | ||
88 | { | ||
89 | get { return true; } | ||
90 | } | ||
91 | |||
110 | private void KillAvatar(uint killerObjectLocalID, ScenePresence DeadAvatar) | 92 | private void KillAvatar(uint killerObjectLocalID, ScenePresence DeadAvatar) |
111 | { | 93 | { |
112 | if (killerObjectLocalID == 0) | 94 | if (killerObjectLocalID == 0) |
diff --git a/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs b/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs index ecffc7a..72ec869 100644 --- a/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs | |||
@@ -25,11 +25,9 @@ | |||
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 System; | ||
29 | using System.Collections.Generic; | 28 | using System.Collections.Generic; |
30 | using System.Reflection; | 29 | using System.Reflection; |
31 | using log4net; | 30 | using log4net; |
32 | using Mono.Addins; | ||
33 | using Nini.Config; | 31 | using Nini.Config; |
34 | using OpenMetaverse; | 32 | using OpenMetaverse; |
35 | using OpenSim.Framework; | 33 | using OpenSim.Framework; |
@@ -39,46 +37,28 @@ using OpenSim.Region.Framework.Scenes; | |||
39 | 37 | ||
40 | namespace OpenSim.Region.CoreModules.Avatar.Dialog | 38 | namespace OpenSim.Region.CoreModules.Avatar.Dialog |
41 | { | 39 | { |
42 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 40 | public class DialogModule : IRegionModule, IDialogModule |
43 | public class DialogModule : ISharedRegionModule, IDialogModule | ||
44 | { | 41 | { |
45 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 42 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
46 | 43 | ||
47 | protected Scene m_scene; | 44 | protected Scene m_scene; |
48 | 45 | ||
49 | public void Initialise(IConfigSource source) | 46 | public void Initialise(Scene scene, IConfigSource source) |
50 | { | ||
51 | } | ||
52 | |||
53 | public Type ReplaceableInterface | ||
54 | { | ||
55 | get { return null; } | ||
56 | } | ||
57 | |||
58 | public void AddRegion(Scene scene) | ||
59 | { | 47 | { |
60 | m_scene = scene; | 48 | m_scene = scene; |
61 | m_scene.RegisterModuleInterface<IDialogModule>(this); | 49 | m_scene.RegisterModuleInterface<IDialogModule>(this); |
62 | 50 | ||
63 | m_scene.AddCommand( | 51 | m_scene.AddCommand( |
64 | this, "alert", "alert <first> <last> <message>", "Send an alert to a user", HandleAlertConsoleCommand); | 52 | this, "alert", "alert <first> <last> <message>", "Send an alert to a user", HandleAlertConsoleCommand); |
65 | 53 | ||
66 | m_scene.AddCommand( | 54 | m_scene.AddCommand( |
67 | this, "alert general", "alert general <message>", "Send an alert to everyone", HandleAlertConsoleCommand); | 55 | this, "alert general", "alert general <message>", "Send an alert to everyone", HandleAlertConsoleCommand); |
68 | } | 56 | } |
69 | 57 | ||
70 | public void RegionLoaded(Scene scene) | 58 | public void PostInitialise() {} |
71 | { | ||
72 | } | ||
73 | |||
74 | public void RemoveRegion(Scene scene) | ||
75 | { | ||
76 | scene.UnregisterModuleInterface<IDialogModule>(this); | ||
77 | } | ||
78 | |||
79 | public void PostInitialise() { } | ||
80 | public void Close() {} | 59 | public void Close() {} |
81 | public string Name { get { return "Dialog Module"; } } | 60 | public string Name { get { return "Dialog Module"; } } |
61 | public bool IsSharedModule { get { return false; } } | ||
82 | 62 | ||
83 | public void SendAlertToUser(IClientAPI client, string message) | 63 | public void SendAlertToUser(IClientAPI client, string message) |
84 | { | 64 | { |
diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs index 7254180..086d4fe 100644 --- a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs | |||
@@ -31,7 +31,6 @@ using System.Collections.Generic; | |||
31 | using System.Net; | 31 | using System.Net; |
32 | using System.Reflection; | 32 | using System.Reflection; |
33 | using log4net; | 33 | using log4net; |
34 | using Mono.Addins; | ||
35 | using Nini.Config; | 34 | using Nini.Config; |
36 | using Nwc.XmlRpc; | 35 | using Nwc.XmlRpc; |
37 | using OpenMetaverse; | 36 | using OpenMetaverse; |
@@ -82,8 +81,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
82 | - Terminate Friendship messages (single) | 81 | - Terminate Friendship messages (single) |
83 | */ | 82 | */ |
84 | 83 | ||
85 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 84 | public class FriendsModule : IRegionModule, IFriendsModule |
86 | public class FriendsModule : ISharedRegionModule, IFriendsModule | ||
87 | { | 85 | { |
88 | private class Transaction | 86 | private class Transaction |
89 | { | 87 | { |
@@ -113,23 +111,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
113 | 111 | ||
114 | private IGridService m_gridServices = null; | 112 | private IGridService m_gridServices = null; |
115 | 113 | ||
116 | #region ISharedRegionModule Members | 114 | #region IRegionModule Members |
117 | 115 | ||
118 | public void Initialise(IConfigSource config) | 116 | public void Initialise(Scene scene, IConfigSource config) |
119 | { | ||
120 | |||
121 | } | ||
122 | |||
123 | public void PostInitialise() | ||
124 | { | ||
125 | } | ||
126 | |||
127 | public Type ReplaceableInterface | ||
128 | { | ||
129 | get { return null; } | ||
130 | } | ||
131 | |||
132 | public void AddRegion(Scene scene) | ||
133 | { | 117 | { |
134 | lock (m_scenes) | 118 | lock (m_scenes) |
135 | { | 119 | { |
@@ -144,9 +128,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
144 | if (!m_scenes.ContainsKey(scene.RegionInfo.RegionHandle)) | 128 | if (!m_scenes.ContainsKey(scene.RegionInfo.RegionHandle)) |
145 | m_scenes[scene.RegionInfo.RegionHandle] = scene; | 129 | m_scenes[scene.RegionInfo.RegionHandle] = scene; |
146 | } | 130 | } |
147 | 131 | ||
148 | scene.RegisterModuleInterface<IFriendsModule>(this); | 132 | scene.RegisterModuleInterface<IFriendsModule>(this); |
149 | 133 | ||
150 | scene.EventManager.OnNewClient += OnNewClient; | 134 | scene.EventManager.OnNewClient += OnNewClient; |
151 | scene.EventManager.OnIncomingInstantMessage += OnGridInstantMessage; | 135 | scene.EventManager.OnIncomingInstantMessage += OnGridInstantMessage; |
152 | scene.EventManager.OnAvatarEnteringNewParcel += AvatarEnteringParcel; | 136 | scene.EventManager.OnAvatarEnteringNewParcel += AvatarEnteringParcel; |
@@ -154,34 +138,17 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
154 | scene.EventManager.OnClientClosed += ClientClosed; | 138 | scene.EventManager.OnClientClosed += ClientClosed; |
155 | } | 139 | } |
156 | 140 | ||
157 | public void RegionLoaded(Scene scene) | 141 | public void PostInitialise() |
158 | { | 142 | { |
159 | if (m_scenes.Count > 0) | 143 | if (m_scenes.Count > 0) |
160 | { | 144 | { |
161 | m_TransferModule = scene.RequestModuleInterface<IMessageTransferModule>(); | 145 | m_TransferModule = m_initialScene.RequestModuleInterface<IMessageTransferModule>(); |
162 | m_gridServices = scene.GridService; | 146 | m_gridServices = m_initialScene.GridService; |
163 | } | 147 | } |
164 | if (m_TransferModule == null) | 148 | if (m_TransferModule == null) |
165 | m_log.Error("[FRIENDS]: Unable to find a message transfer module, friendship offers will not work"); | 149 | m_log.Error("[FRIENDS]: Unable to find a message transfer module, friendship offers will not work"); |
166 | } | 150 | } |
167 | 151 | ||
168 | public void RemoveRegion(Scene scene) | ||
169 | { | ||
170 | MainServer.Instance.RemoveXmlRPCHandler("presence_update_bulk"); | ||
171 | MainServer.Instance.RemoveXmlRPCHandler("terminate_friend"); | ||
172 | |||
173 | if (m_scenes.ContainsKey(scene.RegionInfo.RegionHandle)) | ||
174 | m_scenes.Remove(scene.RegionInfo.RegionHandle); | ||
175 | |||
176 | scene.UnregisterModuleInterface<IFriendsModule>(this); | ||
177 | |||
178 | scene.EventManager.OnNewClient -= OnNewClient; | ||
179 | scene.EventManager.OnIncomingInstantMessage -= OnGridInstantMessage; | ||
180 | scene.EventManager.OnAvatarEnteringNewParcel -= AvatarEnteringParcel; | ||
181 | scene.EventManager.OnMakeChildAgent -= MakeChildAgent; | ||
182 | scene.EventManager.OnClientClosed -= ClientClosed; | ||
183 | } | ||
184 | |||
185 | public void Close() | 152 | public void Close() |
186 | { | 153 | { |
187 | } | 154 | } |
@@ -191,6 +158,11 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
191 | get { return "FriendsModule"; } | 158 | get { return "FriendsModule"; } |
192 | } | 159 | } |
193 | 160 | ||
161 | public bool IsSharedModule | ||
162 | { | ||
163 | get { return true; } | ||
164 | } | ||
165 | |||
194 | #endregion | 166 | #endregion |
195 | 167 | ||
196 | #region IInterregionFriendsComms | 168 | #region IInterregionFriendsComms |
diff --git a/OpenSim/Region/CoreModules/Avatar/Gestures/GesturesModule.cs b/OpenSim/Region/CoreModules/Avatar/Gestures/GesturesModule.cs index c306f94..8ce5092 100644 --- a/OpenSim/Region/CoreModules/Avatar/Gestures/GesturesModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Gestures/GesturesModule.cs | |||
@@ -25,10 +25,8 @@ | |||
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 System; | ||
29 | using System.Reflection; | 28 | using System.Reflection; |
30 | using log4net; | 29 | using log4net; |
31 | using Mono.Addins; | ||
32 | using Nini.Config; | 30 | using Nini.Config; |
33 | using OpenMetaverse; | 31 | using OpenMetaverse; |
34 | using OpenSim.Framework; | 32 | using OpenSim.Framework; |
@@ -39,41 +37,23 @@ using OpenSim.Services.Interfaces; | |||
39 | 37 | ||
40 | namespace OpenSim.Region.CoreModules.Avatar.Gestures | 38 | namespace OpenSim.Region.CoreModules.Avatar.Gestures |
41 | { | 39 | { |
42 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 40 | public class GesturesModule : IRegionModule |
43 | public class GesturesModule : INonSharedRegionModule | ||
44 | { | 41 | { |
45 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 42 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
46 | 43 | ||
47 | protected Scene m_scene; | 44 | protected Scene m_scene; |
48 | 45 | ||
49 | public void Initialise(IConfigSource source) | 46 | public void Initialise(Scene scene, IConfigSource source) |
50 | { | ||
51 | } | ||
52 | |||
53 | public Type ReplaceableInterface | ||
54 | { | ||
55 | get { return null; } | ||
56 | } | ||
57 | |||
58 | public void AddRegion(Scene scene) | ||
59 | { | 47 | { |
60 | m_scene = scene; | 48 | m_scene = scene; |
49 | |||
61 | m_scene.EventManager.OnNewClient += OnNewClient; | 50 | m_scene.EventManager.OnNewClient += OnNewClient; |
62 | } | 51 | } |
63 | |||
64 | public void RegionLoaded(Scene scene) | ||
65 | { | ||
66 | } | ||
67 | |||
68 | public void RemoveRegion(Scene scene) | ||
69 | { | ||
70 | if(m_scene == scene) | ||
71 | m_scene = null; | ||
72 | scene.EventManager.OnNewClient -= OnNewClient; | ||
73 | } | ||
74 | 52 | ||
53 | public void PostInitialise() {} | ||
75 | public void Close() {} | 54 | public void Close() {} |
76 | public string Name { get { return "Gestures Module"; } } | 55 | public string Name { get { return "Gestures Module"; } } |
56 | public bool IsSharedModule { get { return false; } } | ||
77 | 57 | ||
78 | private void OnNewClient(IClientAPI client) | 58 | private void OnNewClient(IClientAPI client) |
79 | { | 59 | { |
diff --git a/OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs b/OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs index 3914f2e..50171a3 100644 --- a/OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs | |||
@@ -25,9 +25,7 @@ | |||
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 System; | ||
29 | using System.Collections.Generic; | 28 | using System.Collections.Generic; |
30 | using Mono.Addins; | ||
31 | using Nini.Config; | 29 | using Nini.Config; |
32 | using OpenMetaverse; | 30 | using OpenMetaverse; |
33 | using OpenSim.Framework; | 31 | using OpenSim.Framework; |
@@ -36,8 +34,7 @@ using OpenSim.Region.Framework.Interfaces; | |||
36 | 34 | ||
37 | namespace OpenSim.Region.CoreModules.Avatar.Gods | 35 | namespace OpenSim.Region.CoreModules.Avatar.Gods |
38 | { | 36 | { |
39 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 37 | public class GodsModule : IRegionModule, IGodsModule |
40 | public class GodsModule : INonSharedRegionModule, IGodsModule | ||
41 | { | 38 | { |
42 | /// <summary>Special UUID for actions that apply to all agents</summary> | 39 | /// <summary>Special UUID for actions that apply to all agents</summary> |
43 | private static readonly UUID ALL_AGENTS = new UUID("44e87126-e794-4ded-05b3-7c42da3d5cdb"); | 40 | private static readonly UUID ALL_AGENTS = new UUID("44e87126-e794-4ded-05b3-7c42da3d5cdb"); |
@@ -45,34 +42,17 @@ namespace OpenSim.Region.CoreModules.Avatar.Gods | |||
45 | protected Scene m_scene; | 42 | protected Scene m_scene; |
46 | protected IDialogModule m_dialogModule; | 43 | protected IDialogModule m_dialogModule; |
47 | 44 | ||
48 | public void Initialise(IConfigSource source) | 45 | public void Initialise(Scene scene, IConfigSource source) |
49 | { | ||
50 | |||
51 | } | ||
52 | |||
53 | public Type ReplaceableInterface | ||
54 | { | ||
55 | get { return null; } | ||
56 | } | ||
57 | |||
58 | public void AddRegion(Scene scene) | ||
59 | { | 46 | { |
60 | m_scene = scene; | 47 | m_scene = scene; |
61 | m_dialogModule = m_scene.RequestModuleInterface<IDialogModule>(); | 48 | m_dialogModule = m_scene.RequestModuleInterface<IDialogModule>(); |
62 | m_scene.RegisterModuleInterface<IGodsModule>(this); | 49 | m_scene.RegisterModuleInterface<IGodsModule>(this); |
63 | } | 50 | } |
64 | |||
65 | public void RegionLoaded(Scene scene) | ||
66 | { | ||
67 | } | ||
68 | |||
69 | public void RemoveRegion(Scene scene) | ||
70 | { | ||
71 | scene.UnregisterModuleInterface<IGodsModule>(this); | ||
72 | } | ||
73 | 51 | ||
52 | public void PostInitialise() {} | ||
74 | public void Close() {} | 53 | public void Close() {} |
75 | public string Name { get { return "Gods Module"; } } | 54 | public string Name { get { return "Gods Module"; } } |
55 | public bool IsSharedModule { get { return false; } } | ||
76 | 56 | ||
77 | public void RequestGodlikePowers( | 57 | public void RequestGodlikePowers( |
78 | UUID agentID, UUID sessionID, UUID token, bool godLike, IClientAPI controllingClient) | 58 | UUID agentID, UUID sessionID, UUID token, bool godLike, IClientAPI controllingClient) |
diff --git a/OpenSim/Region/CoreModules/Avatar/Groups/GroupsModule.cs b/OpenSim/Region/CoreModules/Avatar/Groups/GroupsModule.cs index 7ff8d30..31363e5 100644 --- a/OpenSim/Region/CoreModules/Avatar/Groups/GroupsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Groups/GroupsModule.cs | |||
@@ -25,11 +25,9 @@ | |||
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 System; | ||
29 | using System.Collections.Generic; | 28 | using System.Collections.Generic; |
30 | using System.Reflection; | 29 | using System.Reflection; |
31 | using log4net; | 30 | using log4net; |
32 | using Mono.Addins; | ||
33 | using Nini.Config; | 31 | using Nini.Config; |
34 | using OpenMetaverse; | 32 | using OpenMetaverse; |
35 | using OpenSim.Framework; | 33 | using OpenSim.Framework; |
@@ -38,8 +36,7 @@ using OpenSim.Region.Framework.Scenes; | |||
38 | 36 | ||
39 | namespace OpenSim.Region.CoreModules.Avatar.Groups | 37 | namespace OpenSim.Region.CoreModules.Avatar.Groups |
40 | { | 38 | { |
41 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 39 | public class GroupsModule : IRegionModule |
42 | public class GroupsModule : ISharedRegionModule | ||
43 | { | 40 | { |
44 | private static readonly ILog m_log = | 41 | private static readonly ILog m_log = |
45 | LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 42 | LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
@@ -58,9 +55,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Groups | |||
58 | private static GroupMembershipData osGroup = | 55 | private static GroupMembershipData osGroup = |
59 | new GroupMembershipData(); | 56 | new GroupMembershipData(); |
60 | 57 | ||
61 | #region ISharedRegionModule Members | 58 | #region IRegionModule Members |
62 | 59 | ||
63 | public void Initialise(IConfigSource config) | 60 | public void Initialise(Scene scene, IConfigSource config) |
64 | { | 61 | { |
65 | IConfig groupsConfig = config.Configs["Groups"]; | 62 | IConfig groupsConfig = config.Configs["Groups"]; |
66 | 63 | ||
@@ -79,15 +76,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Groups | |||
79 | if (groupsConfig.GetString("Module", "Default") != "Default") | 76 | if (groupsConfig.GetString("Module", "Default") != "Default") |
80 | return; | 77 | return; |
81 | } | 78 | } |
82 | } | ||
83 | |||
84 | public Type ReplaceableInterface | ||
85 | { | ||
86 | get { return null; } | ||
87 | } | ||
88 | 79 | ||
89 | public void AddRegion(Scene scene) | ||
90 | { | ||
91 | lock (m_SceneList) | 80 | lock (m_SceneList) |
92 | { | 81 | { |
93 | if (!m_SceneList.Contains(scene)) | 82 | if (!m_SceneList.Contains(scene)) |
@@ -110,19 +99,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Groups | |||
110 | scene.EventManager.OnIncomingInstantMessage += OnGridInstantMessage; | 99 | scene.EventManager.OnIncomingInstantMessage += OnGridInstantMessage; |
111 | } | 100 | } |
112 | 101 | ||
113 | public void RegionLoaded(Scene scene) | ||
114 | { | ||
115 | } | ||
116 | |||
117 | public void RemoveRegion(Scene scene) | ||
118 | { | ||
119 | if (m_SceneList.Contains(scene)) | ||
120 | m_SceneList.Remove(scene); | ||
121 | scene.EventManager.OnNewClient -= OnNewClient; | ||
122 | scene.EventManager.OnClientClosed -= OnClientClosed; | ||
123 | scene.EventManager.OnIncomingInstantMessage -= OnGridInstantMessage; | ||
124 | } | ||
125 | |||
126 | public void PostInitialise() | 102 | public void PostInitialise() |
127 | { | 103 | { |
128 | } | 104 | } |
@@ -147,6 +123,11 @@ namespace OpenSim.Region.CoreModules.Avatar.Groups | |||
147 | get { return "GroupsModule"; } | 123 | get { return "GroupsModule"; } |
148 | } | 124 | } |
149 | 125 | ||
126 | public bool IsSharedModule | ||
127 | { | ||
128 | get { return true; } | ||
129 | } | ||
130 | |||
150 | #endregion | 131 | #endregion |
151 | 132 | ||
152 | private void OnNewClient(IClientAPI client) | 133 | private void OnNewClient(IClientAPI client) |
diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/InstantMessageModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/InstantMessageModule.cs index e1bde4b..9a68749 100644 --- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/InstantMessageModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/InstantMessageModule.cs | |||
@@ -24,12 +24,9 @@ | |||
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
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 | |||
28 | using System; | ||
29 | using System.Collections.Generic; | 27 | using System.Collections.Generic; |
30 | using System.Reflection; | 28 | using System.Reflection; |
31 | using log4net; | 29 | using log4net; |
32 | using Mono.Addins; | ||
33 | using Nini.Config; | 30 | using Nini.Config; |
34 | using OpenMetaverse; | 31 | using OpenMetaverse; |
35 | using OpenSim.Framework; | 32 | using OpenSim.Framework; |
@@ -39,8 +36,7 @@ using OpenSim.Region.Framework.Scenes; | |||
39 | 36 | ||
40 | namespace OpenSim.Region.CoreModules.Avatar.InstantMessage | 37 | namespace OpenSim.Region.CoreModules.Avatar.InstantMessage |
41 | { | 38 | { |
42 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 39 | public class InstantMessageModule : IRegionModule |
43 | public class InstantMessageModule : ISharedRegionModule | ||
44 | { | 40 | { |
45 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 41 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
46 | 42 | ||
@@ -51,11 +47,11 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage | |||
51 | 47 | ||
52 | private readonly List<Scene> m_scenes = new List<Scene>(); | 48 | private readonly List<Scene> m_scenes = new List<Scene>(); |
53 | 49 | ||
54 | #region ISharedRegionModule Members | 50 | #region IRegionModule Members |
55 | 51 | ||
56 | private IMessageTransferModule m_TransferModule = null; | 52 | private IMessageTransferModule m_TransferModule = null; |
57 | 53 | ||
58 | public void Initialise(IConfigSource config) | 54 | public void Initialise(Scene scene, IConfigSource config) |
59 | { | 55 | { |
60 | if (config.Configs["Messaging"] != null) | 56 | if (config.Configs["Messaging"] != null) |
61 | { | 57 | { |
@@ -66,15 +62,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage | |||
66 | } | 62 | } |
67 | 63 | ||
68 | m_enabled = true; | 64 | m_enabled = true; |
69 | } | ||
70 | |||
71 | public Type ReplaceableInterface | ||
72 | { | ||
73 | get { return null; } | ||
74 | } | ||
75 | 65 | ||
76 | public void AddRegion(Scene scene) | ||
77 | { | ||
78 | lock (m_scenes) | 66 | lock (m_scenes) |
79 | { | 67 | { |
80 | if (!m_scenes.Contains(scene)) | 68 | if (!m_scenes.Contains(scene)) |
@@ -86,27 +74,6 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage | |||
86 | } | 74 | } |
87 | } | 75 | } |
88 | 76 | ||
89 | public void RegionLoaded(Scene scene) | ||
90 | { | ||
91 | if (!m_enabled) | ||
92 | return; | ||
93 | |||
94 | m_TransferModule = | ||
95 | m_scenes[0].RequestModuleInterface<IMessageTransferModule>(); | ||
96 | |||
97 | if (m_TransferModule == null) | ||
98 | m_log.Error("[INSTANT MESSAGE]: No message transfer module, " + | ||
99 | "IM will not work!"); | ||
100 | } | ||
101 | |||
102 | public void RemoveRegion(Scene scene) | ||
103 | { | ||
104 | if (m_scenes.Contains(scene)) | ||
105 | m_scenes.Remove(scene); | ||
106 | scene.EventManager.OnClientConnect -= OnClientConnect; | ||
107 | scene.EventManager.OnIncomingInstantMessage -= OnGridInstantMessage; | ||
108 | } | ||
109 | |||
110 | void OnClientConnect(IClientCore client) | 77 | void OnClientConnect(IClientCore client) |
111 | { | 78 | { |
112 | IClientIM clientIM; | 79 | IClientIM clientIM; |
@@ -118,6 +85,15 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage | |||
118 | 85 | ||
119 | public void PostInitialise() | 86 | public void PostInitialise() |
120 | { | 87 | { |
88 | if (!m_enabled) | ||
89 | return; | ||
90 | |||
91 | m_TransferModule = | ||
92 | m_scenes[0].RequestModuleInterface<IMessageTransferModule>(); | ||
93 | |||
94 | if (m_TransferModule == null) | ||
95 | m_log.Error("[INSTANT MESSAGE]: No message transfer module, "+ | ||
96 | "IM will not work!"); | ||
121 | } | 97 | } |
122 | 98 | ||
123 | public void Close() | 99 | public void Close() |
@@ -129,6 +105,11 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage | |||
129 | get { return "InstantMessageModule"; } | 105 | get { return "InstantMessageModule"; } |
130 | } | 106 | } |
131 | 107 | ||
108 | public bool IsSharedModule | ||
109 | { | ||
110 | get { return true; } | ||
111 | } | ||
112 | |||
132 | #endregion | 113 | #endregion |
133 | 114 | ||
134 | public void OnInstantMessage(IClientAPI client, GridInstantMessage im) | 115 | public void OnInstantMessage(IClientAPI client, GridInstantMessage im) |
diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs index 16bdfdd..e5159b3 100644 --- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs | |||
@@ -30,7 +30,6 @@ using System.Collections.Generic; | |||
30 | using System.Net; | 30 | using System.Net; |
31 | using System.Reflection; | 31 | using System.Reflection; |
32 | using log4net; | 32 | using log4net; |
33 | using Mono.Addins; | ||
34 | using Nini.Config; | 33 | using Nini.Config; |
35 | using Nwc.XmlRpc; | 34 | using Nwc.XmlRpc; |
36 | using OpenMetaverse; | 35 | using OpenMetaverse; |
@@ -41,8 +40,7 @@ using GridRegion = OpenSim.Services.Interfaces.GridRegion; | |||
41 | 40 | ||
42 | namespace OpenSim.Region.CoreModules.Avatar.InstantMessage | 41 | namespace OpenSim.Region.CoreModules.Avatar.InstantMessage |
43 | { | 42 | { |
44 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 43 | public class MessageTransferModule : IRegionModule, IMessageTransferModule |
45 | public class MessageTransferModule : ISharedRegionModule, IMessageTransferModule | ||
46 | { | 44 | { |
47 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 45 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
48 | 46 | ||
@@ -52,9 +50,8 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage | |||
52 | protected Dictionary<UUID, ulong> m_UserRegionMap = new Dictionary<UUID, ulong>(); | 50 | protected Dictionary<UUID, ulong> m_UserRegionMap = new Dictionary<UUID, ulong>(); |
53 | 51 | ||
54 | public event UndeliveredMessage OnUndeliveredMessage; | 52 | public event UndeliveredMessage OnUndeliveredMessage; |
55 | private bool m_enabled = true; | ||
56 | 53 | ||
57 | public virtual void Initialise(IConfigSource config) | 54 | public virtual void Initialise(Scene scene, IConfigSource config) |
58 | { | 55 | { |
59 | IConfig cnf = config.Configs["Messaging"]; | 56 | IConfig cnf = config.Configs["Messaging"]; |
60 | if (cnf != null && cnf.GetString( | 57 | if (cnf != null && cnf.GetString( |
@@ -62,49 +59,27 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage | |||
62 | "MessageTransferModule") | 59 | "MessageTransferModule") |
63 | { | 60 | { |
64 | m_log.Debug("[MESSAGE TRANSFER]: Disabled by configuration"); | 61 | m_log.Debug("[MESSAGE TRANSFER]: Disabled by configuration"); |
65 | m_enabled = false; | 62 | return; |
66 | } | 63 | } |
67 | 64 | ||
68 | cnf = config.Configs["Startup"]; | 65 | cnf = config.Configs["Startup"]; |
69 | if (cnf != null) | 66 | if (cnf != null) |
70 | m_Gridmode = cnf.GetBoolean("gridmode", false); | 67 | m_Gridmode = cnf.GetBoolean("gridmode", false); |
71 | } | ||
72 | 68 | ||
73 | public Type ReplaceableInterface | 69 | // m_Enabled = true; |
74 | { | ||
75 | get { return null; } | ||
76 | } | ||
77 | 70 | ||
78 | public void AddRegion(Scene scene) | 71 | lock (m_Scenes) |
79 | { | ||
80 | if (m_enabled) | ||
81 | { | 72 | { |
82 | lock (m_Scenes) | 73 | if (m_Scenes.Count == 0) |
83 | { | 74 | { |
84 | if (m_Scenes.Count == 0) | 75 | MainServer.Instance.AddXmlRPCHandler( |
85 | { | 76 | "grid_instant_message", processXMLRPCGridInstantMessage); |
86 | MainServer.Instance.AddXmlRPCHandler( | ||
87 | "grid_instant_message", processXMLRPCGridInstantMessage); | ||
88 | } | ||
89 | |||
90 | m_log.Debug("[MESSAGE TRANSFER]: Message transfer module active"); | ||
91 | scene.RegisterModuleInterface<IMessageTransferModule>(this); | ||
92 | m_Scenes.Add(scene); | ||
93 | } | 77 | } |
94 | } | ||
95 | } | ||
96 | 78 | ||
97 | public void RegionLoaded(Scene scene) | 79 | m_log.Debug("[MESSAGE TRANSFER]: Message transfer module active"); |
98 | { | 80 | scene.RegisterModuleInterface<IMessageTransferModule>(this); |
99 | } | 81 | m_Scenes.Add(scene); |
100 | 82 | } | |
101 | public void RemoveRegion(Scene scene) | ||
102 | { | ||
103 | if (m_Scenes.Contains(scene)) | ||
104 | m_Scenes.Remove(scene); | ||
105 | MainServer.Instance.RemoveXmlRPCHandler( | ||
106 | "grid_instant_message"); | ||
107 | scene.UnregisterModuleInterface<IMessageTransferModule>(this); | ||
108 | } | 83 | } |
109 | 84 | ||
110 | public virtual void PostInitialise() | 85 | public virtual void PostInitialise() |
@@ -120,6 +95,11 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage | |||
120 | get { return "MessageTransferModule"; } | 95 | get { return "MessageTransferModule"; } |
121 | } | 96 | } |
122 | 97 | ||
98 | public virtual bool IsSharedModule | ||
99 | { | ||
100 | get { return true; } | ||
101 | } | ||
102 | |||
123 | public virtual void SendInstantMessage(GridInstantMessage im, MessageResultNotification result) | 103 | public virtual void SendInstantMessage(GridInstantMessage im, MessageResultNotification result) |
124 | { | 104 | { |
125 | UUID toAgentID = new UUID(im.toAgentID); | 105 | UUID toAgentID = new UUID(im.toAgentID); |
diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/MuteListModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/MuteListModule.cs index 3570495..2d4a635 100644 --- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/MuteListModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/MuteListModule.cs | |||
@@ -28,7 +28,6 @@ using System; | |||
28 | using System.Collections.Generic; | 28 | using System.Collections.Generic; |
29 | using System.Reflection; | 29 | using System.Reflection; |
30 | using log4net; | 30 | using log4net; |
31 | using Mono.Addins; | ||
32 | using Nini.Config; | 31 | using Nini.Config; |
33 | using OpenMetaverse; | 32 | using OpenMetaverse; |
34 | using OpenSim.Framework; | 33 | using OpenSim.Framework; |
@@ -40,8 +39,7 @@ using OpenSim.Region.Framework.Scenes; | |||
40 | 39 | ||
41 | namespace OpenSim.Region.CoreModules.Avatar.MuteList | 40 | namespace OpenSim.Region.CoreModules.Avatar.MuteList |
42 | { | 41 | { |
43 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 42 | public class MuteListModule : IRegionModule |
44 | public class MuteListModule : ISharedRegionModule | ||
45 | { | 43 | { |
46 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 44 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
47 | 45 | ||
@@ -49,7 +47,7 @@ namespace OpenSim.Region.CoreModules.Avatar.MuteList | |||
49 | private List<Scene> m_SceneList = new List<Scene>(); | 47 | private List<Scene> m_SceneList = new List<Scene>(); |
50 | private string m_RestURL = String.Empty; | 48 | private string m_RestURL = String.Empty; |
51 | 49 | ||
52 | public void Initialise(IConfigSource config) | 50 | public void Initialise(Scene scene, IConfigSource config) |
53 | { | 51 | { |
54 | if (!enabled) | 52 | if (!enabled) |
55 | return; | 53 | return; |
@@ -68,24 +66,19 @@ namespace OpenSim.Region.CoreModules.Avatar.MuteList | |||
68 | enabled = false; | 66 | enabled = false; |
69 | return; | 67 | return; |
70 | } | 68 | } |
71 | m_RestURL = cnf.GetString("MuteListURL", ""); | ||
72 | if (m_RestURL == "") | ||
73 | { | ||
74 | m_log.Error("[MUTE LIST] Module was enabled, but no URL is given, disabling"); | ||
75 | enabled = false; | ||
76 | return; | ||
77 | } | ||
78 | } | ||
79 | 69 | ||
80 | public Type ReplaceableInterface | ||
81 | { | ||
82 | get { return null; } | ||
83 | } | ||
84 | |||
85 | public void AddRegion(Scene scene) | ||
86 | { | ||
87 | lock (m_SceneList) | 70 | lock (m_SceneList) |
88 | { | 71 | { |
72 | if (m_SceneList.Count == 0) | ||
73 | { | ||
74 | m_RestURL = cnf.GetString("MuteListURL", ""); | ||
75 | if (m_RestURL == "") | ||
76 | { | ||
77 | m_log.Error("[MUTE LIST] Module was enabled, but no URL is given, disabling"); | ||
78 | enabled = false; | ||
79 | return; | ||
80 | } | ||
81 | } | ||
89 | if (!m_SceneList.Contains(scene)) | 82 | if (!m_SceneList.Contains(scene)) |
90 | m_SceneList.Add(scene); | 83 | m_SceneList.Add(scene); |
91 | 84 | ||
@@ -93,18 +86,6 @@ namespace OpenSim.Region.CoreModules.Avatar.MuteList | |||
93 | } | 86 | } |
94 | } | 87 | } |
95 | 88 | ||
96 | public void RegionLoaded(Scene scene) | ||
97 | { | ||
98 | } | ||
99 | |||
100 | public void RemoveRegion(Scene scene) | ||
101 | { | ||
102 | if (m_SceneList.Contains(scene)) | ||
103 | m_SceneList.Remove(scene); | ||
104 | |||
105 | scene.EventManager.OnNewClient -= OnNewClient; | ||
106 | } | ||
107 | |||
108 | public void PostInitialise() | 89 | public void PostInitialise() |
109 | { | 90 | { |
110 | if (!enabled) | 91 | if (!enabled) |
@@ -121,6 +102,11 @@ namespace OpenSim.Region.CoreModules.Avatar.MuteList | |||
121 | get { return "MuteListModule"; } | 102 | get { return "MuteListModule"; } |
122 | } | 103 | } |
123 | 104 | ||
105 | public bool IsSharedModule | ||
106 | { | ||
107 | get { return true; } | ||
108 | } | ||
109 | |||
124 | public void Close() | 110 | public void Close() |
125 | { | 111 | { |
126 | } | 112 | } |
diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/OfflineMessageModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/OfflineMessageModule.cs index 8f289c0..0727fa9 100644 --- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/OfflineMessageModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/OfflineMessageModule.cs | |||
@@ -28,7 +28,6 @@ using System; | |||
28 | using System.Collections.Generic; | 28 | using System.Collections.Generic; |
29 | using System.Reflection; | 29 | using System.Reflection; |
30 | using log4net; | 30 | using log4net; |
31 | using Mono.Addins; | ||
32 | using Nini.Config; | 31 | using Nini.Config; |
33 | using OpenMetaverse; | 32 | using OpenMetaverse; |
34 | using OpenSim.Framework; | 33 | using OpenSim.Framework; |
@@ -41,8 +40,7 @@ using OpenSim.Region.Framework.Scenes; | |||
41 | 40 | ||
42 | namespace OpenSim.Region.CoreModules.Avatar.InstantMessage | 41 | namespace OpenSim.Region.CoreModules.Avatar.InstantMessage |
43 | { | 42 | { |
44 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 43 | public class OfflineMessageModule : IRegionModule |
45 | public class OfflineMessageModule : ISharedRegionModule | ||
46 | { | 44 | { |
47 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 45 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
48 | 46 | ||
@@ -51,7 +49,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage | |||
51 | private string m_RestURL = String.Empty; | 49 | private string m_RestURL = String.Empty; |
52 | private bool m_ForwardOfflineGroupMessages = true; | 50 | private bool m_ForwardOfflineGroupMessages = true; |
53 | 51 | ||
54 | public void Initialise(IConfigSource config) | 52 | public void Initialise(Scene scene, IConfigSource config) |
55 | { | 53 | { |
56 | if (!enabled) | 54 | if (!enabled) |
57 | return; | 55 | return; |
@@ -85,23 +83,14 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage | |||
85 | return; | 83 | return; |
86 | } | 84 | } |
87 | } | 85 | } |
88 | } | 86 | if (!m_SceneList.Contains(scene)) |
89 | } | 87 | m_SceneList.Add(scene); |
90 | |||
91 | public Type ReplaceableInterface | ||
92 | { | ||
93 | get { return null; } | ||
94 | } | ||
95 | 88 | ||
96 | public void AddRegion(Scene scene) | 89 | scene.EventManager.OnNewClient += OnNewClient; |
97 | { | 90 | } |
98 | if (!m_SceneList.Contains(scene)) | ||
99 | m_SceneList.Add(scene); | ||
100 | |||
101 | scene.EventManager.OnNewClient += OnNewClient; | ||
102 | } | 91 | } |
103 | 92 | ||
104 | public void RegionLoaded(Scene scene) | 93 | public void PostInitialise() |
105 | { | 94 | { |
106 | if (!enabled) | 95 | if (!enabled) |
107 | return; | 96 | return; |
@@ -131,22 +120,16 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage | |||
131 | m_log.Debug("[OFFLINE MESSAGING] Offline messages enabled"); | 120 | m_log.Debug("[OFFLINE MESSAGING] Offline messages enabled"); |
132 | } | 121 | } |
133 | 122 | ||
134 | public void RemoveRegion(Scene scene) | ||
135 | { | ||
136 | if (m_SceneList.Contains(scene)) | ||
137 | m_SceneList.Remove(scene); | ||
138 | scene.EventManager.OnNewClient -= OnNewClient; | ||
139 | } | ||
140 | |||
141 | public void PostInitialise() | ||
142 | { | ||
143 | } | ||
144 | |||
145 | public string Name | 123 | public string Name |
146 | { | 124 | { |
147 | get { return "OfflineMessageModule"; } | 125 | get { return "OfflineMessageModule"; } |
148 | } | 126 | } |
149 | 127 | ||
128 | public bool IsSharedModule | ||
129 | { | ||
130 | get { return true; } | ||
131 | } | ||
132 | |||
150 | public void Close() | 133 | public void Close() |
151 | { | 134 | { |
152 | } | 135 | } |
diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/PresenceModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/PresenceModule.cs index f5498f4..f5ab454 100644 --- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/PresenceModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/PresenceModule.cs | |||
@@ -24,14 +24,11 @@ | |||
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
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 | |||
28 | using System; | ||
29 | using System.Collections; | 27 | using System.Collections; |
30 | using System.Collections.Generic; | 28 | using System.Collections.Generic; |
31 | using System.Net; | 29 | using System.Net; |
32 | using System.Reflection; | 30 | using System.Reflection; |
33 | using log4net; | 31 | using log4net; |
34 | using Mono.Addins; | ||
35 | using Nini.Config; | 32 | using Nini.Config; |
36 | using Nwc.XmlRpc; | 33 | using Nwc.XmlRpc; |
37 | using OpenMetaverse; | 34 | using OpenMetaverse; |
@@ -42,8 +39,7 @@ using GridRegion = OpenSim.Services.Interfaces.GridRegion; | |||
42 | 39 | ||
43 | namespace OpenSim.Region.CoreModules.Avatar.InstantMessage | 40 | namespace OpenSim.Region.CoreModules.Avatar.InstantMessage |
44 | { | 41 | { |
45 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 42 | public class PresenceModule : IRegionModule, IPresenceModule |
46 | public class PresenceModule : ISharedRegionModule, IPresenceModule | ||
47 | { | 43 | { |
48 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 44 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
49 | 45 | ||
@@ -63,7 +59,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage | |||
63 | public event PresenceChange OnPresenceChange; | 59 | public event PresenceChange OnPresenceChange; |
64 | public event BulkPresenceData OnBulkPresenceData; | 60 | public event BulkPresenceData OnBulkPresenceData; |
65 | 61 | ||
66 | public void Initialise(IConfigSource config) | 62 | public void Initialise(Scene scene, IConfigSource config) |
67 | { | 63 | { |
68 | lock (m_Scenes) | 64 | lock (m_Scenes) |
69 | { | 65 | { |
@@ -82,38 +78,28 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage | |||
82 | m_Gridmode = cnf.GetBoolean("gridmode", false); | 78 | m_Gridmode = cnf.GetBoolean("gridmode", false); |
83 | 79 | ||
84 | m_Enabled = true; | 80 | m_Enabled = true; |
85 | } | ||
86 | } | ||
87 | } | ||
88 | 81 | ||
89 | public Type ReplaceableInterface | 82 | m_initialScene = scene; |
90 | { | 83 | } |
91 | get { return null; } | ||
92 | } | ||
93 | 84 | ||
94 | public void AddRegion(Scene scene) | ||
95 | { | ||
96 | if (m_Enabled) | ||
97 | { | ||
98 | m_initialScene = scene; | ||
99 | if (m_Gridmode) | 85 | if (m_Gridmode) |
100 | NotifyMessageServerOfStartup(scene); | 86 | NotifyMessageServerOfStartup(scene); |
101 | 87 | ||
102 | m_Scenes.Add(scene); | 88 | m_Scenes.Add(scene); |
89 | } | ||
103 | 90 | ||
104 | scene.RegisterModuleInterface<IPresenceModule>(this); | 91 | scene.RegisterModuleInterface<IPresenceModule>(this); |
105 | 92 | ||
106 | scene.EventManager.OnNewClient += OnNewClient; | 93 | scene.EventManager.OnNewClient += OnNewClient; |
107 | scene.EventManager.OnSetRootAgentScene += OnSetRootAgentScene; | 94 | scene.EventManager.OnSetRootAgentScene += OnSetRootAgentScene; |
108 | scene.EventManager.OnMakeChildAgent += OnMakeChildAgent; | 95 | scene.EventManager.OnMakeChildAgent += OnMakeChildAgent; |
109 | } | ||
110 | } | 96 | } |
111 | 97 | ||
112 | public void RegionLoaded(Scene scene) | 98 | public void PostInitialise() |
113 | { | 99 | { |
114 | } | 100 | } |
115 | 101 | ||
116 | public void RemoveRegion(Scene scene) | 102 | public void Close() |
117 | { | 103 | { |
118 | if (!m_Gridmode || !m_Enabled) | 104 | if (!m_Gridmode || !m_Enabled) |
119 | return; | 105 | return; |
@@ -130,28 +116,21 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage | |||
130 | } | 116 | } |
131 | } | 117 | } |
132 | 118 | ||
133 | NotifyMessageServerOfShutdown(scene); | 119 | lock (m_Scenes) |
134 | if(m_Scenes.Contains(scene)) | 120 | { |
135 | m_Scenes.Remove(scene); | 121 | foreach (Scene scene in m_Scenes) |
136 | 122 | NotifyMessageServerOfShutdown(scene); | |
137 | scene.UnregisterModuleInterface<IPresenceModule>(this); | 123 | } |
138 | |||
139 | scene.EventManager.OnNewClient -= OnNewClient; | ||
140 | scene.EventManager.OnSetRootAgentScene -= OnSetRootAgentScene; | ||
141 | scene.EventManager.OnMakeChildAgent -= OnMakeChildAgent; | ||
142 | } | ||
143 | |||
144 | public void PostInitialise() | ||
145 | { | ||
146 | } | 124 | } |
147 | 125 | ||
148 | public void Close() | 126 | public string Name |
149 | { | 127 | { |
128 | get { return "PresenceModule"; } | ||
150 | } | 129 | } |
151 | 130 | ||
152 | public string Name | 131 | public bool IsSharedModule |
153 | { | 132 | { |
154 | get { return "PresenceModule"; } | 133 | get { return true; } |
155 | } | 134 | } |
156 | 135 | ||
157 | public void RequestBulkPresenceData(UUID[] users) | 136 | public void RequestBulkPresenceData(UUID[] users) |
diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs index a04ab22..ecd60bd 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs | |||
@@ -30,7 +30,6 @@ using System.Collections.Generic; | |||
30 | using System.IO; | 30 | using System.IO; |
31 | using System.Reflection; | 31 | using System.Reflection; |
32 | using log4net; | 32 | using log4net; |
33 | using Mono.Addins; | ||
34 | using Nini.Config; | 33 | using Nini.Config; |
35 | using OpenMetaverse; | 34 | using OpenMetaverse; |
36 | using OpenSim.Framework; | 35 | using OpenSim.Framework; |
@@ -42,11 +41,10 @@ using OpenSim.Services.Interfaces; | |||
42 | 41 | ||
43 | namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver | 42 | namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver |
44 | { | 43 | { |
45 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | ||
46 | /// <summary> | 44 | /// <summary> |
47 | /// This module loads and saves OpenSimulator inventory archives | 45 | /// This module loads and saves OpenSimulator inventory archives |
48 | /// </summary> | 46 | /// </summary> |
49 | public class InventoryArchiverModule : ISharedRegionModule, IInventoryArchiverModule | 47 | public class InventoryArchiverModule : IRegionModule, IInventoryArchiverModule |
50 | { | 48 | { |
51 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 49 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
52 | 50 | ||
@@ -84,28 +82,18 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver | |||
84 | DisablePresenceChecks = disablePresenceChecks; | 82 | DisablePresenceChecks = disablePresenceChecks; |
85 | } | 83 | } |
86 | 84 | ||
87 | public void Initialise(IConfigSource source) | 85 | public void Initialise(Scene scene, IConfigSource source) |
88 | { | ||
89 | |||
90 | } | ||
91 | |||
92 | public Type ReplaceableInterface | ||
93 | { | ||
94 | get { return null; } | ||
95 | } | ||
96 | |||
97 | public void AddRegion(Scene scene) | ||
98 | { | 86 | { |
99 | if (m_scenes.Count == 0) | 87 | if (m_scenes.Count == 0) |
100 | { | 88 | { |
101 | scene.RegisterModuleInterface<IInventoryArchiverModule>(this); | 89 | scene.RegisterModuleInterface<IInventoryArchiverModule>(this); |
102 | OnInventoryArchiveSaved += SaveInvConsoleCommandCompleted; | 90 | OnInventoryArchiveSaved += SaveInvConsoleCommandCompleted; |
103 | 91 | ||
104 | scene.AddCommand( | 92 | scene.AddCommand( |
105 | this, "load iar", | 93 | this, "load iar", |
106 | "load iar <first> <last> <inventory path> <password> [<archive path>]", | 94 | "load iar <first> <last> <inventory path> <password> [<archive path>]", |
107 | "Load user inventory archive.", HandleLoadInvConsoleCommand); | 95 | "Load user inventory archive.", HandleLoadInvConsoleCommand); |
108 | 96 | ||
109 | scene.AddCommand( | 97 | scene.AddCommand( |
110 | this, "save iar", | 98 | this, "save iar", |
111 | "save iar <first> <last> <inventory path> <password> [<archive path>]", | 99 | "save iar <first> <last> <inventory path> <password> [<archive path>]", |
@@ -113,21 +101,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver | |||
113 | 101 | ||
114 | m_aScene = scene; | 102 | m_aScene = scene; |
115 | } | 103 | } |
116 | 104 | ||
117 | m_scenes[scene.RegionInfo.RegionID] = scene; | 105 | m_scenes[scene.RegionInfo.RegionID] = scene; |
118 | } | 106 | } |
119 | 107 | ||
120 | public void RegionLoaded(Scene scene) | ||
121 | { | ||
122 | } | ||
123 | |||
124 | public void RemoveRegion(Scene scene) | ||
125 | { | ||
126 | scene.UnregisterModuleInterface<IInventoryArchiverModule>(this); | ||
127 | if(m_scenes.ContainsKey(scene.RegionInfo.RegionID)) | ||
128 | m_scenes.Remove(scene.RegionInfo.RegionID); | ||
129 | } | ||
130 | |||
131 | public void PostInitialise() {} | 108 | public void PostInitialise() {} |
132 | 109 | ||
133 | public void Close() {} | 110 | public void Close() {} |
diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs index abf440e..b60b32b 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs | |||
@@ -29,7 +29,6 @@ using System; | |||
29 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
30 | using System.Reflection; | 30 | using System.Reflection; |
31 | using log4net; | 31 | using log4net; |
32 | using Mono.Addins; | ||
33 | using Nini.Config; | 32 | using Nini.Config; |
34 | using OpenMetaverse; | 33 | using OpenMetaverse; |
35 | using OpenSim.Framework; | 34 | using OpenSim.Framework; |
@@ -40,8 +39,7 @@ using OpenSim.Services.Interfaces; | |||
40 | 39 | ||
41 | namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer | 40 | namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer |
42 | { | 41 | { |
43 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 42 | public class InventoryTransferModule : IInventoryTransferModule, IRegionModule |
44 | public class InventoryTransferModule : IInventoryTransferModule, ISharedRegionModule | ||
45 | { | 43 | { |
46 | private static readonly ILog m_log | 44 | private static readonly ILog m_log |
47 | = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 45 | = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
@@ -52,11 +50,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer | |||
52 | new Dictionary<UUID, Scene>(); | 50 | new Dictionary<UUID, Scene>(); |
53 | 51 | ||
54 | private IMessageTransferModule m_TransferModule = null; | 52 | private IMessageTransferModule m_TransferModule = null; |
55 | private bool m_enabled = true; | ||
56 | 53 | ||
57 | #region ISharedRegionModule Members | 54 | #region IRegionModule Members |
58 | 55 | ||
59 | public void Initialise(IConfigSource config) | 56 | public void Initialise(Scene scene, IConfigSource config) |
60 | { | 57 | { |
61 | if (config.Configs["Messaging"] != null) | 58 | if (config.Configs["Messaging"] != null) |
62 | { | 59 | { |
@@ -65,61 +62,31 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer | |||
65 | if (config.Configs["Messaging"].GetString( | 62 | if (config.Configs["Messaging"].GetString( |
66 | "InventoryTransferModule", "InventoryTransferModule") != | 63 | "InventoryTransferModule", "InventoryTransferModule") != |
67 | "InventoryTransferModule") | 64 | "InventoryTransferModule") |
68 | m_enabled = false; | 65 | return; |
69 | } | 66 | } |
70 | } | ||
71 | |||
72 | public Type ReplaceableInterface | ||
73 | { | ||
74 | get { return null; } | ||
75 | } | ||
76 | 67 | ||
77 | public void AddRegion(Scene scene) | 68 | if (!m_Scenelist.Contains(scene)) |
78 | { | ||
79 | if (m_enabled) | ||
80 | { | 69 | { |
81 | if (!m_Scenelist.Contains(scene)) | 70 | m_Scenelist.Add(scene); |
82 | { | ||
83 | m_Scenelist.Add(scene); | ||
84 | 71 | ||
85 | scene.RegisterModuleInterface<IInventoryTransferModule>(this); | 72 | scene.RegisterModuleInterface<IInventoryTransferModule>(this); |
86 | 73 | ||
87 | scene.EventManager.OnNewClient += OnNewClient; | 74 | scene.EventManager.OnNewClient += OnNewClient; |
88 | scene.EventManager.OnClientClosed += ClientLoggedOut; | 75 | scene.EventManager.OnClientClosed += ClientLoggedOut; |
89 | scene.EventManager.OnIncomingInstantMessage += OnGridInstantMessage; | 76 | scene.EventManager.OnIncomingInstantMessage += OnGridInstantMessage; |
90 | } | ||
91 | } | 77 | } |
92 | } | 78 | } |
93 | 79 | ||
94 | public void RegionLoaded(Scene scene) | 80 | public void PostInitialise() |
95 | { | 81 | { |
96 | if (m_enabled) | 82 | if (m_Scenelist.Count > 0) |
97 | { | 83 | { |
98 | if (m_Scenelist.Count > 0) | 84 | m_TransferModule = m_Scenelist[0].RequestModuleInterface<IMessageTransferModule>(); |
99 | { | 85 | if (m_TransferModule == null) |
100 | m_TransferModule = m_Scenelist[0].RequestModuleInterface<IMessageTransferModule>(); | 86 | m_log.Error("[INVENTORY TRANSFER] No Message transfer module found, transfers will be local only"); |
101 | if (m_TransferModule == null) | ||
102 | m_log.Error("[INVENTORY TRANSFER] No Message transfer module found, transfers will be local only"); | ||
103 | } | ||
104 | } | 87 | } |
105 | } | 88 | } |
106 | 89 | ||
107 | public void RemoveRegion(Scene scene) | ||
108 | { | ||
109 | if (m_Scenelist.Contains(scene)) | ||
110 | m_Scenelist.Remove(scene); | ||
111 | |||
112 | scene.UnregisterModuleInterface<IInventoryTransferModule>(this); | ||
113 | |||
114 | scene.EventManager.OnNewClient -= OnNewClient; | ||
115 | scene.EventManager.OnClientClosed -= ClientLoggedOut; | ||
116 | scene.EventManager.OnIncomingInstantMessage -= OnGridInstantMessage; | ||
117 | } | ||
118 | |||
119 | public void PostInitialise() | ||
120 | { | ||
121 | } | ||
122 | |||
123 | public void Close() | 90 | public void Close() |
124 | { | 91 | { |
125 | } | 92 | } |
diff --git a/OpenSim/Region/CoreModules/Avatar/Lure/LureModule.cs b/OpenSim/Region/CoreModules/Avatar/Lure/LureModule.cs index 973d27f..261bd6c 100644 --- a/OpenSim/Region/CoreModules/Avatar/Lure/LureModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Lure/LureModule.cs | |||
@@ -29,7 +29,6 @@ using System; | |||
29 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
30 | using System.Reflection; | 30 | using System.Reflection; |
31 | using log4net; | 31 | using log4net; |
32 | using Mono.Addins; | ||
33 | using Nini.Config; | 32 | using Nini.Config; |
34 | using OpenMetaverse; | 33 | using OpenMetaverse; |
35 | using OpenSim.Framework; | 34 | using OpenSim.Framework; |
@@ -38,72 +37,36 @@ using OpenSim.Region.Framework.Scenes; | |||
38 | 37 | ||
39 | namespace OpenSim.Region.CoreModules.Avatar.Lure | 38 | namespace OpenSim.Region.CoreModules.Avatar.Lure |
40 | { | 39 | { |
41 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 40 | public class LureModule : IRegionModule |
42 | public class LureModule : ISharedRegionModule | ||
43 | { | 41 | { |
44 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 42 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
45 | 43 | ||
46 | private readonly List<Scene> m_scenes = new List<Scene>(); | 44 | private readonly List<Scene> m_scenes = new List<Scene>(); |
47 | 45 | ||
48 | private bool m_enabled = true; | ||
49 | |||
50 | private IMessageTransferModule m_TransferModule = null; | 46 | private IMessageTransferModule m_TransferModule = null; |
51 | 47 | ||
52 | public void Initialise(IConfigSource config) | 48 | public void Initialise(Scene scene, IConfigSource config) |
53 | { | 49 | { |
54 | if (config.Configs["Messaging"] != null) | 50 | if (config.Configs["Messaging"] != null) |
55 | { | 51 | { |
56 | if (config.Configs["Messaging"].GetString( | 52 | if (config.Configs["Messaging"].GetString( |
57 | "LureModule", "LureModule") != | 53 | "LureModule", "LureModule") != |
58 | "LureModule") | 54 | "LureModule") |
59 | m_enabled = false; | 55 | return; |
60 | } | 56 | } |
61 | } | ||
62 | |||
63 | public Type ReplaceableInterface | ||
64 | { | ||
65 | get { return null; } | ||
66 | } | ||
67 | 57 | ||
68 | public void AddRegion(Scene scene) | 58 | lock (m_scenes) |
69 | { | ||
70 | if (m_enabled) | ||
71 | { | 59 | { |
72 | lock (m_scenes) | 60 | if (!m_scenes.Contains(scene)) |
73 | { | 61 | { |
74 | if (!m_scenes.Contains(scene)) | 62 | m_scenes.Add(scene); |
75 | { | 63 | scene.EventManager.OnNewClient += OnNewClient; |
76 | m_scenes.Add(scene); | 64 | scene.EventManager.OnIncomingInstantMessage += |
77 | scene.EventManager.OnNewClient += OnNewClient; | 65 | OnGridInstantMessage; |
78 | scene.EventManager.OnIncomingInstantMessage += | ||
79 | OnGridInstantMessage; | ||
80 | } | ||
81 | } | 66 | } |
82 | } | 67 | } |
83 | } | 68 | } |
84 | 69 | ||
85 | public void RegionLoaded(Scene scene) | ||
86 | { | ||
87 | if (m_enabled) | ||
88 | { | ||
89 | m_TransferModule = | ||
90 | m_scenes[0].RequestModuleInterface<IMessageTransferModule>(); | ||
91 | |||
92 | if (m_TransferModule == null) | ||
93 | m_log.Error("[INSTANT MESSAGE]: No message transfer module, " + | ||
94 | "lures will not work!"); | ||
95 | } | ||
96 | } | ||
97 | |||
98 | public void RemoveRegion(Scene scene) | ||
99 | { | ||
100 | if (m_scenes.Contains(scene)) | ||
101 | m_scenes.Remove(scene); | ||
102 | scene.EventManager.OnNewClient -= OnNewClient; | ||
103 | scene.EventManager.OnIncomingInstantMessage -= | ||
104 | OnGridInstantMessage; | ||
105 | } | ||
106 | |||
107 | void OnNewClient(IClientAPI client) | 70 | void OnNewClient(IClientAPI client) |
108 | { | 71 | { |
109 | client.OnInstantMessage += OnInstantMessage; | 72 | client.OnInstantMessage += OnInstantMessage; |
@@ -113,6 +76,12 @@ namespace OpenSim.Region.CoreModules.Avatar.Lure | |||
113 | 76 | ||
114 | public void PostInitialise() | 77 | public void PostInitialise() |
115 | { | 78 | { |
79 | m_TransferModule = | ||
80 | m_scenes[0].RequestModuleInterface<IMessageTransferModule>(); | ||
81 | |||
82 | if (m_TransferModule == null) | ||
83 | m_log.Error("[INSTANT MESSAGE]: No message transfer module, "+ | ||
84 | "lures will not work!"); | ||
116 | } | 85 | } |
117 | 86 | ||
118 | public void Close() | 87 | public void Close() |
diff --git a/OpenSim/Region/CoreModules/Avatar/ObjectCaps/ObjectAdd.cs b/OpenSim/Region/CoreModules/Avatar/ObjectCaps/ObjectAdd.cs index 748b42c..63a93aa 100644 --- a/OpenSim/Region/CoreModules/Avatar/ObjectCaps/ObjectAdd.cs +++ b/OpenSim/Region/CoreModules/Avatar/ObjectCaps/ObjectAdd.cs | |||
@@ -29,7 +29,6 @@ using System; | |||
29 | using System.Collections; | 29 | using System.Collections; |
30 | using System.Reflection; | 30 | using System.Reflection; |
31 | using log4net; | 31 | using log4net; |
32 | using Mono.Addins; | ||
33 | using Nini.Config; | 32 | using Nini.Config; |
34 | using OpenMetaverse; | 33 | using OpenMetaverse; |
35 | using OpenMetaverse.StructuredData; | 34 | using OpenMetaverse.StructuredData; |
@@ -42,54 +41,24 @@ using Caps=OpenSim.Framework.Capabilities.Caps; | |||
42 | 41 | ||
43 | namespace OpenSim.Region.CoreModules.Avatar.ObjectCaps | 42 | namespace OpenSim.Region.CoreModules.Avatar.ObjectCaps |
44 | { | 43 | { |
45 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 44 | public class ObjectAdd : IRegionModule |
46 | public class ObjectAdd : ISharedRegionModule | ||
47 | { | 45 | { |
48 | private static readonly ILog m_log = | 46 | private static readonly ILog m_log = |
49 | LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 47 | LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
50 | private Scene m_scene; | 48 | private Scene m_scene; |
51 | #region ISharedRegionModule Members | 49 | #region IRegionModule Members |
52 | 50 | ||
53 | public void Initialise(IConfigSource pSource) | 51 | public void Initialise(Scene pScene, IConfigSource pSource) |
54 | { | 52 | { |
55 | 53 | m_scene = pScene; | |
56 | } | ||
57 | |||
58 | public Type ReplaceableInterface | ||
59 | { | ||
60 | get { return null; } | ||
61 | } | ||
62 | |||
63 | public void AddRegion(Scene scene) | ||
64 | { | ||
65 | m_scene = scene; | ||
66 | m_scene.EventManager.OnRegisterCaps += RegisterCaps; | 54 | m_scene.EventManager.OnRegisterCaps += RegisterCaps; |
67 | } | 55 | } |
68 | 56 | ||
69 | public void RegionLoaded(Scene scene) | ||
70 | { | ||
71 | } | ||
72 | |||
73 | public void RemoveRegion(Scene scene) | ||
74 | { | ||
75 | scene.EventManager.OnRegisterCaps -= RegisterCaps; | ||
76 | } | ||
77 | |||
78 | public void PostInitialise() | 57 | public void PostInitialise() |
79 | { | 58 | { |
80 | 59 | ||
81 | } | 60 | } |
82 | 61 | ||
83 | public void Close() | ||
84 | { | ||
85 | |||
86 | } | ||
87 | |||
88 | public string Name | ||
89 | { | ||
90 | get { return "ObjectAddModule"; } | ||
91 | } | ||
92 | |||
93 | public void RegisterCaps(UUID agentID, Caps caps) | 62 | public void RegisterCaps(UUID agentID, Caps caps) |
94 | { | 63 | { |
95 | UUID capuuid = UUID.Random(); | 64 | UUID capuuid = UUID.Random(); |
@@ -379,6 +348,22 @@ namespace OpenSim.Region.CoreModules.Avatar.ObjectCaps | |||
379 | Array.Reverse(resultbytes); | 348 | Array.Reverse(resultbytes); |
380 | return String.Format("<binary encoding=\"base64\">{0}</binary>",Convert.ToBase64String(resultbytes)); | 349 | return String.Format("<binary encoding=\"base64\">{0}</binary>",Convert.ToBase64String(resultbytes)); |
381 | } | 350 | } |
351 | |||
352 | public void Close() | ||
353 | { | ||
354 | |||
355 | } | ||
356 | |||
357 | public string Name | ||
358 | { | ||
359 | get { return "ObjectAddModule"; } | ||
360 | } | ||
361 | |||
362 | public bool IsSharedModule | ||
363 | { | ||
364 | get { return false; } | ||
365 | } | ||
366 | |||
382 | #endregion | 367 | #endregion |
383 | } | 368 | } |
384 | } | 369 | } |
diff --git a/OpenSim/Region/CoreModules/Avatar/Profiles/AvatarProfilesModule.cs b/OpenSim/Region/CoreModules/Avatar/Profiles/AvatarProfilesModule.cs index 7fcb0e1..8cf58c6 100644 --- a/OpenSim/Region/CoreModules/Avatar/Profiles/AvatarProfilesModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Profiles/AvatarProfilesModule.cs | |||
@@ -30,7 +30,6 @@ using System.Collections; | |||
30 | using System.Globalization; | 30 | using System.Globalization; |
31 | using System.Reflection; | 31 | using System.Reflection; |
32 | using log4net; | 32 | using log4net; |
33 | using Mono.Addins; | ||
34 | using Nini.Config; | 33 | using Nini.Config; |
35 | using OpenMetaverse; | 34 | using OpenMetaverse; |
36 | using OpenSim.Framework; | 35 | using OpenSim.Framework; |
@@ -39,17 +38,20 @@ using OpenSim.Region.Framework.Scenes; | |||
39 | 38 | ||
40 | namespace OpenSim.Region.CoreModules.Avatar.Profiles | 39 | namespace OpenSim.Region.CoreModules.Avatar.Profiles |
41 | { | 40 | { |
42 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 41 | public class AvatarProfilesModule : IRegionModule |
43 | public class AvatarProfilesModule : INonSharedRegionModule | ||
44 | { | 42 | { |
45 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 43 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
46 | private Scene m_scene; | 44 | private Scene m_scene; |
47 | private IProfileModule m_profileModule = null; | 45 | private IProfileModule m_profileModule = null; |
48 | private bool m_enabled = true; | 46 | private bool m_enabled = true; |
49 | 47 | ||
50 | #region INonSharedRegionModule Members | 48 | public AvatarProfilesModule() |
49 | { | ||
50 | } | ||
51 | 51 | ||
52 | public void Initialise(IConfigSource config) | 52 | #region IRegionModule Members |
53 | |||
54 | public void Initialise(Scene scene, IConfigSource config) | ||
53 | { | 55 | { |
54 | IConfig profileConfig = config.Configs["Profile"]; | 56 | IConfig profileConfig = config.Configs["Profile"]; |
55 | if (profileConfig != null) | 57 | if (profileConfig != null) |
@@ -60,31 +62,18 @@ namespace OpenSim.Region.CoreModules.Avatar.Profiles | |||
60 | return; | 62 | return; |
61 | } | 63 | } |
62 | } | 64 | } |
63 | } | ||
64 | |||
65 | public Type ReplaceableInterface | ||
66 | { | ||
67 | get { return null; } | ||
68 | } | ||
69 | 65 | ||
70 | public void AddRegion(Scene scene) | ||
71 | { | ||
72 | m_scene = scene; | 66 | m_scene = scene; |
73 | m_scene.EventManager.OnNewClient += NewClient; | 67 | m_scene.EventManager.OnNewClient += NewClient; |
74 | } | 68 | } |
75 | 69 | ||
76 | public void RegionLoaded(Scene scene) | 70 | public void PostInitialise() |
77 | { | 71 | { |
78 | if (!m_enabled) | 72 | if (!m_enabled) |
79 | return; | 73 | return; |
80 | m_profileModule = m_scene.RequestModuleInterface<IProfileModule>(); | 74 | m_profileModule = m_scene.RequestModuleInterface<IProfileModule>(); |
81 | } | 75 | } |
82 | 76 | ||
83 | public void RemoveRegion(Scene scene) | ||
84 | { | ||
85 | scene.EventManager.OnNewClient -= NewClient; | ||
86 | } | ||
87 | |||
88 | public void Close() | 77 | public void Close() |
89 | { | 78 | { |
90 | } | 79 | } |
@@ -94,6 +83,11 @@ namespace OpenSim.Region.CoreModules.Avatar.Profiles | |||
94 | get { return "AvatarProfilesModule"; } | 83 | get { return "AvatarProfilesModule"; } |
95 | } | 84 | } |
96 | 85 | ||
86 | public bool IsSharedModule | ||
87 | { | ||
88 | get { return false; } | ||
89 | } | ||
90 | |||
97 | #endregion | 91 | #endregion |
98 | 92 | ||
99 | public void NewClient(IClientAPI client) | 93 | public void NewClient(IClientAPI client) |
diff --git a/OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueGetModule.cs b/OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueGetModule.cs index 1ee6f0d..0c6cb1b 100644 --- a/OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueGetModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueGetModule.cs | |||
@@ -32,7 +32,6 @@ using System.Net; | |||
32 | using System.Reflection; | 32 | using System.Reflection; |
33 | using System.Threading; | 33 | using System.Threading; |
34 | using log4net; | 34 | using log4net; |
35 | using Mono.Addins; | ||
36 | using Nini.Config; | 35 | using Nini.Config; |
37 | using OpenMetaverse; | 36 | using OpenMetaverse; |
38 | using OpenMetaverse.Packets; | 37 | using OpenMetaverse.Packets; |
@@ -53,13 +52,11 @@ namespace OpenSim.Region.CoreModules.Framework.EventQueue | |||
53 | public OSDMap body; | 52 | public OSDMap body; |
54 | } | 53 | } |
55 | 54 | ||
56 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 55 | public class EventQueueGetModule : IEventQueue, IRegionModule |
57 | public class EventQueueGetModule : IEventQueue, INonSharedRegionModule | ||
58 | { | 56 | { |
59 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 57 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
60 | protected Scene m_scene = null; | 58 | protected Scene m_scene = null; |
61 | private IConfigSource m_gConfig; | 59 | private IConfigSource m_gConfig; |
62 | private IConfig m_startupConfig; | ||
63 | bool enabledYN = false; | 60 | bool enabledYN = false; |
64 | 61 | ||
65 | private Dictionary<UUID, int> m_ids = new Dictionary<UUID, int>(); | 62 | private Dictionary<UUID, int> m_ids = new Dictionary<UUID, int>(); |
@@ -68,31 +65,23 @@ namespace OpenSim.Region.CoreModules.Framework.EventQueue | |||
68 | private Dictionary<UUID, UUID> m_QueueUUIDAvatarMapping = new Dictionary<UUID, UUID>(); | 65 | private Dictionary<UUID, UUID> m_QueueUUIDAvatarMapping = new Dictionary<UUID, UUID>(); |
69 | private Dictionary<UUID, UUID> m_AvatarQueueUUIDMapping = new Dictionary<UUID, UUID>(); | 66 | private Dictionary<UUID, UUID> m_AvatarQueueUUIDMapping = new Dictionary<UUID, UUID>(); |
70 | 67 | ||
71 | #region INonSharedRegionModule methods | 68 | #region IRegionModule methods |
72 | public virtual void Initialise(IConfigSource config) | 69 | public virtual void Initialise(Scene scene, IConfigSource config) |
73 | { | 70 | { |
74 | m_gConfig = config; | 71 | m_gConfig = config; |
75 | 72 | ||
76 | m_startupConfig = m_gConfig.Configs["Startup"]; | 73 | IConfig startupConfig = m_gConfig.Configs["Startup"]; |
77 | } | ||
78 | 74 | ||
79 | public Type ReplaceableInterface | 75 | ReadConfigAndPopulate(scene, startupConfig, "Startup"); |
80 | { | ||
81 | get { return null; } | ||
82 | } | ||
83 | |||
84 | public void AddRegion(Scene scene) | ||
85 | { | ||
86 | ReadConfigAndPopulate(scene, m_startupConfig, "Startup"); | ||
87 | 76 | ||
88 | if (enabledYN) | 77 | if (enabledYN) |
89 | { | 78 | { |
90 | m_scene = scene; | 79 | m_scene = scene; |
91 | scene.RegisterModuleInterface<IEventQueue>(this); | 80 | scene.RegisterModuleInterface<IEventQueue>(this); |
92 | 81 | ||
93 | // Register fallback handler | 82 | // Register fallback handler |
94 | // Why does EQG Fail on region crossings! | 83 | // Why does EQG Fail on region crossings! |
95 | 84 | ||
96 | //scene.CommsManager.HttpServer.AddLLSDHandler("/CAPS/EQG/", EventQueueFallBack); | 85 | //scene.CommsManager.HttpServer.AddLLSDHandler("/CAPS/EQG/", EventQueueFallBack); |
97 | 86 | ||
98 | scene.EventManager.OnNewClient += OnNewClient; | 87 | scene.EventManager.OnNewClient += OnNewClient; |
@@ -110,19 +99,16 @@ namespace OpenSim.Region.CoreModules.Framework.EventQueue | |||
110 | { | 99 | { |
111 | m_gConfig = null; | 100 | m_gConfig = null; |
112 | } | 101 | } |
102 | |||
113 | } | 103 | } |
114 | 104 | ||
115 | public void RegionLoaded(Scene scene) | 105 | private void ReadConfigAndPopulate(Scene scene, IConfig startupConfig, string p) |
116 | { | ||
117 | } | ||
118 | |||
119 | public void RemoveRegion(Scene scene) | ||
120 | { | 106 | { |
107 | enabledYN = startupConfig.GetBoolean("EventQueue", true); | ||
121 | } | 108 | } |
122 | 109 | ||
123 | private void ReadConfigAndPopulate(Scene scene, IConfig startupConfig, string p) | 110 | public void PostInitialise() |
124 | { | 111 | { |
125 | enabledYN = startupConfig.GetBoolean("EventQueue", true); | ||
126 | } | 112 | } |
127 | 113 | ||
128 | public virtual void Close() | 114 | public virtual void Close() |
@@ -134,6 +120,10 @@ namespace OpenSim.Region.CoreModules.Framework.EventQueue | |||
134 | get { return "EventQueueGetModule"; } | 120 | get { return "EventQueueGetModule"; } |
135 | } | 121 | } |
136 | 122 | ||
123 | public bool IsSharedModule | ||
124 | { | ||
125 | get { return false; } | ||
126 | } | ||
137 | #endregion | 127 | #endregion |
138 | 128 | ||
139 | /// <summary> | 129 | /// <summary> |
diff --git a/OpenSim/Region/CoreModules/Framework/Monitoring/MonitorModule.cs b/OpenSim/Region/CoreModules/Framework/Monitoring/MonitorModule.cs index 0135d33..f15f8f6 100644 --- a/OpenSim/Region/CoreModules/Framework/Monitoring/MonitorModule.cs +++ b/OpenSim/Region/CoreModules/Framework/Monitoring/MonitorModule.cs | |||
@@ -25,12 +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 System; | ||
29 | using System.Collections; | 28 | using System.Collections; |
30 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
31 | using System.Reflection; | 30 | using System.Reflection; |
32 | using log4net; | 31 | using log4net; |
33 | using Mono.Addins; | ||
34 | using Nini.Config; | 32 | using Nini.Config; |
35 | using OpenMetaverse; | 33 | using OpenMetaverse; |
36 | using OpenSim.Framework; | 34 | using OpenSim.Framework; |
@@ -41,8 +39,7 @@ using OpenSim.Region.Framework.Scenes; | |||
41 | 39 | ||
42 | namespace OpenSim.Region.CoreModules.Framework.Monitoring | 40 | namespace OpenSim.Region.CoreModules.Framework.Monitoring |
43 | { | 41 | { |
44 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 42 | public class MonitorModule : IRegionModule |
45 | public class MonitorModule : INonSharedRegionModule | ||
46 | { | 43 | { |
47 | private Scene m_scene; | 44 | private Scene m_scene; |
48 | private readonly List<IMonitor> m_monitors = new List<IMonitor>(); | 45 | private readonly List<IMonitor> m_monitors = new List<IMonitor>(); |
@@ -65,19 +62,9 @@ namespace OpenSim.Region.CoreModules.Framework.Monitoring | |||
65 | } | 62 | } |
66 | } | 63 | } |
67 | 64 | ||
68 | #region Implementation of INonSharedRegionModule | 65 | #region Implementation of IRegionModule |
69 | 66 | ||
70 | public void Initialise(IConfigSource source) | 67 | public void Initialise(Scene scene, IConfigSource source) |
71 | { | ||
72 | |||
73 | } | ||
74 | |||
75 | public Type ReplaceableInterface | ||
76 | { | ||
77 | get { return null; } | ||
78 | } | ||
79 | |||
80 | public void AddRegion(Scene scene) | ||
81 | { | 68 | { |
82 | m_scene = scene; | 69 | m_scene = scene; |
83 | 70 | ||
@@ -90,51 +77,6 @@ namespace OpenSim.Region.CoreModules.Framework.Monitoring | |||
90 | MainServer.Instance.AddHTTPHandler("/monitorstats/" + m_scene.RegionInfo.RegionID + "/", StatsPage); | 77 | MainServer.Instance.AddHTTPHandler("/monitorstats/" + m_scene.RegionInfo.RegionID + "/", StatsPage); |
91 | } | 78 | } |
92 | 79 | ||
93 | public void RegionLoaded(Scene scene) | ||
94 | { | ||
95 | m_monitors.Add(new AgentCountMonitor(m_scene)); | ||
96 | m_monitors.Add(new ChildAgentCountMonitor(m_scene)); | ||
97 | m_monitors.Add(new GCMemoryMonitor()); | ||
98 | m_monitors.Add(new ObjectCountMonitor(m_scene)); | ||
99 | m_monitors.Add(new PhysicsFrameMonitor(m_scene)); | ||
100 | m_monitors.Add(new PhysicsUpdateFrameMonitor(m_scene)); | ||
101 | m_monitors.Add(new PWSMemoryMonitor()); | ||
102 | m_monitors.Add(new ThreadCountMonitor()); | ||
103 | m_monitors.Add(new TotalFrameMonitor(m_scene)); | ||
104 | m_monitors.Add(new EventFrameMonitor(m_scene)); | ||
105 | m_monitors.Add(new LandFrameMonitor(m_scene)); | ||
106 | m_monitors.Add(new LastFrameTimeMonitor(m_scene)); | ||
107 | |||
108 | m_alerts.Add(new DeadlockAlert(m_monitors.Find(x => x is LastFrameTimeMonitor) as LastFrameTimeMonitor)); | ||
109 | |||
110 | foreach (IAlert alert in m_alerts) | ||
111 | { | ||
112 | alert.OnTriggerAlert += OnTriggerAlert; | ||
113 | } | ||
114 | } | ||
115 | |||
116 | public void RemoveRegion(Scene scene) | ||
117 | { | ||
118 | MainServer.Instance.RemoveHTTPHandler("", "/monitorstats/" + m_scene.RegionInfo.RegionID + "/"); | ||
119 | m_monitors.Clear(); | ||
120 | |||
121 | foreach (IAlert alert in m_alerts) | ||
122 | { | ||
123 | alert.OnTriggerAlert -= OnTriggerAlert; | ||
124 | } | ||
125 | m_alerts.Clear(); | ||
126 | } | ||
127 | |||
128 | public void Close() | ||
129 | { | ||
130 | |||
131 | } | ||
132 | |||
133 | public string Name | ||
134 | { | ||
135 | get { return "Region Health Monitoring Module"; } | ||
136 | } | ||
137 | |||
138 | public Hashtable StatsPage(Hashtable request) | 80 | public Hashtable StatsPage(Hashtable request) |
139 | { | 81 | { |
140 | // If request was for a specific monitor | 82 | // If request was for a specific monitor |
@@ -190,10 +132,49 @@ namespace OpenSim.Region.CoreModules.Framework.Monitoring | |||
190 | return ereply; | 132 | return ereply; |
191 | } | 133 | } |
192 | 134 | ||
135 | public void PostInitialise() | ||
136 | { | ||
137 | m_monitors.Add(new AgentCountMonitor(m_scene)); | ||
138 | m_monitors.Add(new ChildAgentCountMonitor(m_scene)); | ||
139 | m_monitors.Add(new GCMemoryMonitor()); | ||
140 | m_monitors.Add(new ObjectCountMonitor(m_scene)); | ||
141 | m_monitors.Add(new PhysicsFrameMonitor(m_scene)); | ||
142 | m_monitors.Add(new PhysicsUpdateFrameMonitor(m_scene)); | ||
143 | m_monitors.Add(new PWSMemoryMonitor()); | ||
144 | m_monitors.Add(new ThreadCountMonitor()); | ||
145 | m_monitors.Add(new TotalFrameMonitor(m_scene)); | ||
146 | m_monitors.Add(new EventFrameMonitor(m_scene)); | ||
147 | m_monitors.Add(new LandFrameMonitor(m_scene)); | ||
148 | m_monitors.Add(new LastFrameTimeMonitor(m_scene)); | ||
149 | |||
150 | m_alerts.Add(new DeadlockAlert(m_monitors.Find(x => x is LastFrameTimeMonitor) as LastFrameTimeMonitor)); | ||
151 | |||
152 | foreach (IAlert alert in m_alerts) | ||
153 | { | ||
154 | alert.OnTriggerAlert += OnTriggerAlert; | ||
155 | } | ||
156 | } | ||
157 | |||
193 | void OnTriggerAlert(System.Type reporter, string reason, bool fatal) | 158 | void OnTriggerAlert(System.Type reporter, string reason, bool fatal) |
194 | { | 159 | { |
195 | m_log.Error("[Monitor] " + reporter.Name + " for " + m_scene.RegionInfo.RegionName + " reports " + reason + " (Fatal: " + fatal + ")"); | 160 | m_log.Error("[Monitor] " + reporter.Name + " for " + m_scene.RegionInfo.RegionName + " reports " + reason + " (Fatal: " + fatal + ")"); |
196 | } | 161 | } |
162 | |||
163 | public void Close() | ||
164 | { | ||
165 | |||
166 | } | ||
167 | |||
168 | public string Name | ||
169 | { | ||
170 | get { return "Region Health Monitoring Module"; } | ||
171 | } | ||
172 | |||
173 | public bool IsSharedModule | ||
174 | { | ||
175 | get { return false; } | ||
176 | } | ||
177 | |||
197 | #endregion | 178 | #endregion |
198 | } | 179 | } |
199 | } | 180 | } |
diff --git a/OpenSim/Region/CoreModules/Hypergrid/HGStandaloneLoginModule.cs b/OpenSim/Region/CoreModules/Hypergrid/HGStandaloneLoginModule.cs index f9c594b..0b54746 100644 --- a/OpenSim/Region/CoreModules/Hypergrid/HGStandaloneLoginModule.cs +++ b/OpenSim/Region/CoreModules/Hypergrid/HGStandaloneLoginModule.cs | |||
@@ -1,4 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) Contributors, http://opensimulator.org/ | 2 | * Copyright (c) Contributors, http://opensimulator.org/ |
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | 3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. |
4 | * | 4 | * |
@@ -32,7 +32,6 @@ using System.Net; | |||
32 | using System.Reflection; | 32 | using System.Reflection; |
33 | using System.Text.RegularExpressions; | 33 | using System.Text.RegularExpressions; |
34 | using log4net; | 34 | using log4net; |
35 | using Mono.Addins; | ||
36 | using Nini.Config; | 35 | using Nini.Config; |
37 | using OpenMetaverse; | 36 | using OpenMetaverse; |
38 | using Nwc.XmlRpc; | 37 | using Nwc.XmlRpc; |
@@ -47,8 +46,7 @@ using OpenSim.Region.Framework.Interfaces; | |||
47 | 46 | ||
48 | namespace OpenSim.Region.CoreModules.Hypergrid | 47 | namespace OpenSim.Region.CoreModules.Hypergrid |
49 | { | 48 | { |
50 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 49 | public class HGStandaloneLoginModule : IRegionModule, ILoginServiceToRegionsConnector |
51 | public class HGStandaloneLoginModule : ISharedRegionModule, ILoginServiceToRegionsConnector | ||
52 | { | 50 | { |
53 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 51 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
54 | 52 | ||
@@ -58,58 +56,47 @@ namespace OpenSim.Region.CoreModules.Hypergrid | |||
58 | protected bool m_enabled = false; // Module is only enabled if running in standalone mode | 56 | protected bool m_enabled = false; // Module is only enabled if running in standalone mode |
59 | 57 | ||
60 | protected HGLoginAuthService m_loginService; | 58 | protected HGLoginAuthService m_loginService; |
61 | private bool authenticate = true; | ||
62 | private string welcomeMessage = "Welcome to OpenSim"; | ||
63 | private IConfig startupConfig; | ||
64 | private IConfig standaloneConfig; | ||
65 | |||
66 | #region ISharedRegionModule Members | ||
67 | |||
68 | public void Initialise(IConfigSource source) | ||
69 | { | ||
70 | startupConfig = source.Configs["Startup"]; | ||
71 | standaloneConfig = source.Configs["StandAlone"]; | ||
72 | if (standaloneConfig != null) | ||
73 | { | ||
74 | authenticate = standaloneConfig.GetBoolean("accounts_authenticate", true); | ||
75 | welcomeMessage = standaloneConfig.GetString("welcome_message"); | ||
76 | } | ||
77 | m_enabled = !startupConfig.GetBoolean("gridmode", false); | ||
78 | } | ||
79 | |||
80 | public Type ReplaceableInterface | ||
81 | { | ||
82 | get { return null; } | ||
83 | } | ||
84 | 59 | ||
85 | public void AddRegion(Scene scene) | 60 | #region IRegionModule Members |
86 | { | ||
87 | } | ||
88 | 61 | ||
89 | public void RegionLoaded(Scene scene) | 62 | public void Initialise(Scene scene, IConfigSource source) |
90 | { | 63 | { |
91 | if (m_firstScene == null) | 64 | if (m_firstScene == null) |
92 | { | 65 | { |
93 | m_firstScene = scene; | 66 | m_firstScene = scene; |
94 | 67 | ||
68 | IConfig startupConfig = source.Configs["Startup"]; | ||
69 | if (startupConfig != null) | ||
70 | { | ||
71 | m_enabled = !startupConfig.GetBoolean("gridmode", false); | ||
72 | } | ||
73 | |||
95 | if (m_enabled) | 74 | if (m_enabled) |
96 | { | 75 | { |
97 | m_log.Debug("[HGLogin]: HGlogin module enabled"); | 76 | m_log.Debug("[HGLogin]: HGlogin module enabled"); |
77 | bool authenticate = true; | ||
78 | string welcomeMessage = "Welcome to OpenSim"; | ||
79 | IConfig standaloneConfig = source.Configs["StandAlone"]; | ||
80 | if (standaloneConfig != null) | ||
81 | { | ||
82 | authenticate = standaloneConfig.GetBoolean("accounts_authenticate", true); | ||
83 | welcomeMessage = standaloneConfig.GetString("welcome_message"); | ||
84 | } | ||
98 | 85 | ||
99 | //TODO: fix casting. | 86 | //TODO: fix casting. |
100 | LibraryRootFolder rootFolder = m_firstScene.CommsManager.UserProfileCacheService.LibraryRoot as LibraryRootFolder; | 87 | LibraryRootFolder rootFolder = m_firstScene.CommsManager.UserProfileCacheService.LibraryRoot as LibraryRootFolder; |
101 | 88 | ||
102 | IHttpServer httpServer = MainServer.Instance; | 89 | IHttpServer httpServer = MainServer.Instance; |
103 | 90 | ||
104 | //TODO: fix the casting of the user service, maybe by registering the userManagerBase with scenes, or refactoring so we just need a IUserService reference | 91 | //TODO: fix the casting of the user service, maybe by registering the userManagerBase with scenes, or refactoring so we just need a IUserService reference |
105 | m_loginService | 92 | m_loginService |
106 | = new HGLoginAuthService( | 93 | = new HGLoginAuthService( |
107 | (UserManagerBase)m_firstScene.CommsManager.UserAdminService, | 94 | (UserManagerBase)m_firstScene.CommsManager.UserAdminService, |
108 | welcomeMessage, | 95 | welcomeMessage, |
109 | m_firstScene.CommsManager.InterServiceInventoryService, | 96 | m_firstScene.CommsManager.InterServiceInventoryService, |
110 | m_firstScene.CommsManager.NetworkServersInfo, | 97 | m_firstScene.CommsManager.NetworkServersInfo, |
111 | authenticate, | 98 | authenticate, |
112 | rootFolder, | 99 | rootFolder, |
113 | this); | 100 | this); |
114 | 101 | ||
115 | httpServer.AddXmlRPCHandler("hg_login", m_loginService.XmlRpcLoginMethod); | 102 | httpServer.AddXmlRPCHandler("hg_login", m_loginService.XmlRpcLoginMethod); |
@@ -126,19 +113,6 @@ namespace OpenSim.Region.CoreModules.Hypergrid | |||
126 | } | 113 | } |
127 | } | 114 | } |
128 | 115 | ||
129 | public void RemoveRegion(Scene scene) | ||
130 | { | ||
131 | if (scene == m_firstScene) | ||
132 | { | ||
133 | IHttpServer httpServer = MainServer.Instance; | ||
134 | httpServer.RemoveXmlRPCHandler("hg_login"); | ||
135 | httpServer.RemoveXmlRPCHandler("check_auth_session"); | ||
136 | httpServer.RemoveXmlRPCHandler("get_avatar_appearance"); | ||
137 | httpServer.RemoveXmlRPCHandler("update_avatar_appearance"); | ||
138 | } | ||
139 | m_scenes.Remove(scene); | ||
140 | } | ||
141 | |||
142 | public void PostInitialise() | 116 | public void PostInitialise() |
143 | { | 117 | { |
144 | 118 | ||
@@ -154,6 +128,11 @@ namespace OpenSim.Region.CoreModules.Hypergrid | |||
154 | get { return "HGStandaloneLoginModule"; } | 128 | get { return "HGStandaloneLoginModule"; } |
155 | } | 129 | } |
156 | 130 | ||
131 | public bool IsSharedModule | ||
132 | { | ||
133 | get { return true; } | ||
134 | } | ||
135 | |||
157 | #endregion | 136 | #endregion |
158 | 137 | ||
159 | protected void AddScene(Scene scene) | 138 | protected void AddScene(Scene scene) |
diff --git a/OpenSim/Region/CoreModules/InterGrid/OGSRadmin.cs b/OpenSim/Region/CoreModules/InterGrid/OGSRadmin.cs index 4534024..0f2ba32 100644 --- a/OpenSim/Region/CoreModules/InterGrid/OGSRadmin.cs +++ b/OpenSim/Region/CoreModules/InterGrid/OGSRadmin.cs | |||
@@ -32,7 +32,6 @@ using System.Net; | |||
32 | using System.Reflection; | 32 | using System.Reflection; |
33 | using System.Text; | 33 | using System.Text; |
34 | using log4net; | 34 | using log4net; |
35 | using Mono.Addins; | ||
36 | using Nini.Config; | 35 | using Nini.Config; |
37 | using Nwc.XmlRpc; | 36 | using Nwc.XmlRpc; |
38 | using OpenMetaverse; | 37 | using OpenMetaverse; |
@@ -43,8 +42,7 @@ using OpenSim.Region.Framework.Scenes; | |||
43 | 42 | ||
44 | namespace OpenSim.Region.CoreModules.InterGrid | 43 | namespace OpenSim.Region.CoreModules.InterGrid |
45 | { | 44 | { |
46 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 45 | public class OGSRadmin : IRegionModule |
47 | public class OGSRadmin : ISharedRegionModule | ||
48 | { | 46 | { |
49 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 47 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
50 | private readonly List<Scene> m_scenes = new List<Scene>(); | 48 | private readonly List<Scene> m_scenes = new List<Scene>(); |
@@ -58,6 +56,7 @@ namespace OpenSim.Region.CoreModules.InterGrid | |||
58 | get { return "OGS Supporting RAdmin"; } | 56 | get { return "OGS Supporting RAdmin"; } |
59 | } | 57 | } |
60 | 58 | ||
59 | |||
61 | public void Initialise(IConfigSource source) | 60 | public void Initialise(IConfigSource source) |
62 | { | 61 | { |
63 | m_settings = source; | 62 | m_settings = source; |
@@ -68,11 +67,6 @@ namespace OpenSim.Region.CoreModules.InterGrid | |||
68 | 67 | ||
69 | } | 68 | } |
70 | 69 | ||
71 | public Type ReplaceableInterface | ||
72 | { | ||
73 | get { return null; } | ||
74 | } | ||
75 | |||
76 | public void AddRegion(Scene scene) | 70 | public void AddRegion(Scene scene) |
77 | { | 71 | { |
78 | lock (m_scenes) | 72 | lock (m_scenes) |
@@ -83,11 +77,15 @@ namespace OpenSim.Region.CoreModules.InterGrid | |||
83 | { | 77 | { |
84 | lock (m_scenes) | 78 | lock (m_scenes) |
85 | m_scenes.Remove(scene); | 79 | m_scenes.Remove(scene); |
86 | MainServer.Instance.RemoveXmlRPCHandler("grid_message"); | ||
87 | } | 80 | } |
88 | 81 | ||
89 | public void RegionLoaded(Scene scene) | 82 | public void RegionLoaded(Scene scene) |
90 | { | 83 | { |
84 | |||
85 | } | ||
86 | |||
87 | public void PostInitialise() | ||
88 | { | ||
91 | if (m_settings.Configs["Startup"].GetBoolean("gridmode", false)) | 89 | if (m_settings.Configs["Startup"].GetBoolean("gridmode", false)) |
92 | { | 90 | { |
93 | m_com = m_scenes[0].CommsManager; | 91 | m_com = m_scenes[0].CommsManager; |
@@ -95,8 +93,21 @@ namespace OpenSim.Region.CoreModules.InterGrid | |||
95 | } | 93 | } |
96 | } | 94 | } |
97 | 95 | ||
98 | public void PostInitialise() | 96 | #endregion |
97 | |||
98 | #region IRegionModule | ||
99 | |||
100 | public void Initialise(Scene scene, IConfigSource source) | ||
101 | { | ||
102 | m_settings = source; | ||
103 | |||
104 | lock (m_scenes) | ||
105 | m_scenes.Add(scene); | ||
106 | } | ||
107 | |||
108 | public bool IsSharedModule | ||
99 | { | 109 | { |
110 | get { return true; } | ||
100 | } | 111 | } |
101 | 112 | ||
102 | #endregion | 113 | #endregion |
diff --git a/OpenSim/Region/CoreModules/InterGrid/OpenGridProtocolModule.cs b/OpenSim/Region/CoreModules/InterGrid/OpenGridProtocolModule.cs index 8bb0fa9..10a3232 100644 --- a/OpenSim/Region/CoreModules/InterGrid/OpenGridProtocolModule.cs +++ b/OpenSim/Region/CoreModules/InterGrid/OpenGridProtocolModule.cs | |||
@@ -35,7 +35,6 @@ using System.Security.Cryptography.X509Certificates; | |||
35 | using System.Threading; | 35 | using System.Threading; |
36 | using System.Web; | 36 | using System.Web; |
37 | using log4net; | 37 | using log4net; |
38 | using Mono.Addins; | ||
39 | using Nini.Config; | 38 | using Nini.Config; |
40 | using OpenMetaverse; | 39 | using OpenMetaverse; |
41 | using OpenMetaverse.StructuredData; | 40 | using OpenMetaverse.StructuredData; |
@@ -76,9 +75,8 @@ namespace OpenSim.Region.CoreModules.InterGrid | |||
76 | public bool visible_to_parent; | 75 | public bool visible_to_parent; |
77 | public string teleported_into_region; | 76 | public string teleported_into_region; |
78 | } | 77 | } |
79 | 78 | ||
80 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 79 | public class OpenGridProtocolModule : IRegionModule |
81 | public class OpenGridProtocolModule : ISharedRegionModule | ||
82 | { | 80 | { |
83 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 81 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
84 | private List<Scene> m_scene = new List<Scene>(); | 82 | private List<Scene> m_scene = new List<Scene>(); |
@@ -94,22 +92,21 @@ namespace OpenSim.Region.CoreModules.InterGrid | |||
94 | private bool httpSSL = false; | 92 | private bool httpSSL = false; |
95 | private uint httpsslport = 0; | 93 | private uint httpsslport = 0; |
96 | private bool GridMode = false; | 94 | private bool GridMode = false; |
97 | private bool m_enabled = false; | ||
98 | private IConfig cfg = null; | ||
99 | private IConfig httpcfg = null; | ||
100 | private IConfig startupcfg = null; | ||
101 | |||
102 | #region ISharedRegionModule Members | ||
103 | 95 | ||
104 | public void Initialise(IConfigSource config) | 96 | #region IRegionModule Members |
97 | |||
98 | public void Initialise(Scene scene, IConfigSource config) | ||
105 | { | 99 | { |
100 | bool enabled = false; | ||
101 | IConfig cfg = null; | ||
102 | IConfig httpcfg = null; | ||
103 | IConfig startupcfg = null; | ||
106 | try | 104 | try |
107 | { | 105 | { |
108 | cfg = config.Configs["OpenGridProtocol"]; | 106 | cfg = config.Configs["OpenGridProtocol"]; |
109 | } | 107 | } catch (NullReferenceException) |
110 | catch (NullReferenceException) | ||
111 | { | 108 | { |
112 | m_enabled = false; | 109 | enabled = false; |
113 | } | 110 | } |
114 | 111 | ||
115 | try | 112 | try |
@@ -131,15 +128,15 @@ namespace OpenSim.Region.CoreModules.InterGrid | |||
131 | 128 | ||
132 | if (startupcfg != null) | 129 | if (startupcfg != null) |
133 | { | 130 | { |
134 | GridMode = m_enabled = startupcfg.GetBoolean("gridmode", false); | 131 | GridMode = enabled = startupcfg.GetBoolean("gridmode", false); |
135 | } | 132 | } |
136 | 133 | ||
137 | if (cfg != null) | 134 | if (cfg != null) |
138 | { | 135 | { |
139 | m_enabled = cfg.GetBoolean("ogp_enabled", false); | 136 | enabled = cfg.GetBoolean("ogp_enabled", false); |
140 | LastNameSuffix = cfg.GetString("ogp_lastname_suffix", "_EXTERNAL"); | 137 | LastNameSuffix = cfg.GetString("ogp_lastname_suffix", "_EXTERNAL"); |
141 | FirstNamePrefix = cfg.GetString("ogp_firstname_prefix", ""); | 138 | FirstNamePrefix = cfg.GetString("ogp_firstname_prefix", ""); |
142 | if (m_enabled) | 139 | if (enabled) |
143 | { | 140 | { |
144 | m_log.Warn("[OGP]: Open Grid Protocol is on, Listening for Clients on /agent/"); | 141 | m_log.Warn("[OGP]: Open Grid Protocol is on, Listening for Clients on /agent/"); |
145 | lock (m_scene) | 142 | lock (m_scene) |
@@ -168,61 +165,35 @@ namespace OpenSim.Region.CoreModules.InterGrid | |||
168 | } | 165 | } |
169 | 166 | ||
170 | } | 167 | } |
168 | // can't pick the region 'agent' because it would conflict with our agent domain handler | ||
169 | // a zero length region name would conflict with are base region seed cap | ||
170 | if (!SceneListDuplicateCheck(scene.RegionInfo.RegionName) && scene.RegionInfo.RegionName.ToLower() != "agent" && scene.RegionInfo.RegionName.Length > 0) | ||
171 | { | ||
172 | MainServer.Instance.AddLLSDHandler( | ||
173 | "/" + HttpUtility.UrlPathEncode(scene.RegionInfo.RegionName.ToLower()), | ||
174 | ProcessRegionDomainSeed); | ||
175 | } | ||
176 | |||
177 | if (!m_scene.Contains(scene)) | ||
178 | m_scene.Add(scene); | ||
171 | } | 179 | } |
172 | } | 180 | } |
173 | } | 181 | } |
174 | } | 182 | lock (m_scene) |
175 | |||
176 | public Type ReplaceableInterface | ||
177 | { | ||
178 | get { return null; } | ||
179 | } | ||
180 | |||
181 | public void AddRegion(Scene scene) | ||
182 | { | ||
183 | if (m_enabled) | ||
184 | { | 183 | { |
185 | lock (m_scene) | 184 | if (m_scene.Count == 1) |
186 | { | 185 | { |
187 | if (m_scene.Count == 1) | 186 | if (httpcfg != null) |
188 | { | 187 | { |
189 | if (httpcfg != null) | 188 | httpSSL = httpcfg.GetBoolean("http_listener_ssl", false); |
190 | { | 189 | httpsCN = httpcfg.GetString("http_listener_cn", scene.RegionInfo.ExternalHostName); |
191 | httpSSL = httpcfg.GetBoolean("http_listener_ssl", false); | 190 | if (httpsCN.Length == 0) |
192 | httpsCN = httpcfg.GetString("http_listener_cn", scene.RegionInfo.ExternalHostName); | 191 | httpsCN = scene.RegionInfo.ExternalHostName; |
193 | if (httpsCN.Length == 0) | 192 | httpsslport = (uint)httpcfg.GetInt("http_listener_sslport",((int)scene.RegionInfo.HttpPort + 1)); |
194 | httpsCN = scene.RegionInfo.ExternalHostName; | ||
195 | httpsslport = (uint)httpcfg.GetInt("http_listener_sslport", ((int)scene.RegionInfo.HttpPort + 1)); | ||
196 | } | ||
197 | } | 193 | } |
198 | } | 194 | } |
199 | // can't pick the region 'agent' because it would conflict with our agent domain handler | ||
200 | // a zero length region name would conflict with are base region seed cap | ||
201 | if (!SceneListDuplicateCheck(scene.RegionInfo.RegionName) && scene.RegionInfo.RegionName.ToLower() != "agent" && scene.RegionInfo.RegionName.Length > 0) | ||
202 | { | ||
203 | MainServer.Instance.AddLLSDHandler( | ||
204 | "/" + HttpUtility.UrlPathEncode(scene.RegionInfo.RegionName.ToLower()), | ||
205 | ProcessRegionDomainSeed); | ||
206 | } | ||
207 | |||
208 | if (!m_scene.Contains(scene)) | ||
209 | m_scene.Add(scene); | ||
210 | } | 195 | } |
211 | } | 196 | } |
212 | |||
213 | public void RegionLoaded(Scene scene) | ||
214 | { | ||
215 | } | ||
216 | |||
217 | public void RemoveRegion(Scene scene) | ||
218 | { | ||
219 | MainServer.Instance.RemoveLLSDHandler( | ||
220 | "/" + HttpUtility.UrlPathEncode(scene.RegionInfo.RegionName.ToLower()), | ||
221 | ProcessRegionDomainSeed); | ||
222 | |||
223 | if (m_scene.Contains(scene)) | ||
224 | m_scene.Remove(scene); | ||
225 | } | ||
226 | 197 | ||
227 | public void PostInitialise() | 198 | public void PostInitialise() |
228 | { | 199 | { |
@@ -238,6 +209,11 @@ namespace OpenSim.Region.CoreModules.InterGrid | |||
238 | get { return "OpenGridProtocolModule"; } | 209 | get { return "OpenGridProtocolModule"; } |
239 | } | 210 | } |
240 | 211 | ||
212 | public bool IsSharedModule | ||
213 | { | ||
214 | get { return true; } | ||
215 | } | ||
216 | |||
241 | #endregion | 217 | #endregion |
242 | 218 | ||
243 | public OSD ProcessRegionDomainSeed(string path, OSD request, string endpoint) | 219 | public OSD ProcessRegionDomainSeed(string path, OSD request, string endpoint) |
diff --git a/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs b/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs index 40b7159..679c871 100644 --- a/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs +++ b/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs | |||
@@ -29,7 +29,6 @@ using System; | |||
29 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
30 | using System.Drawing; | 30 | using System.Drawing; |
31 | using System.Drawing.Imaging; | 31 | using System.Drawing.Imaging; |
32 | using Mono.Addins; | ||
33 | using Nini.Config; | 32 | using Nini.Config; |
34 | using OpenMetaverse; | 33 | using OpenMetaverse; |
35 | using OpenMetaverse.Imaging; | 34 | using OpenMetaverse.Imaging; |
@@ -41,8 +40,7 @@ using System.Reflection; | |||
41 | 40 | ||
42 | namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture | 41 | namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture |
43 | { | 42 | { |
44 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 43 | public class DynamicTextureModule : IRegionModule, IDynamicTextureManager |
45 | public class DynamicTextureModule : ISharedRegionModule, IDynamicTextureManager | ||
46 | { | 44 | { |
47 | //private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 45 | //private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
48 | 46 | ||
@@ -212,14 +210,9 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture | |||
212 | 210 | ||
213 | #endregion | 211 | #endregion |
214 | 212 | ||
215 | #region ISharedRegionModule Members | 213 | #region IRegionModule Members |
216 | 214 | ||
217 | public void Initialise(IConfigSource config) | 215 | public void Initialise(Scene scene, IConfigSource config) |
218 | { | ||
219 | |||
220 | } | ||
221 | |||
222 | public void AddRegion(Scene scene) | ||
223 | { | 216 | { |
224 | if (!RegisteredScenes.ContainsKey(scene.RegionInfo.RegionID)) | 217 | if (!RegisteredScenes.ContainsKey(scene.RegionInfo.RegionID)) |
225 | { | 218 | { |
@@ -228,24 +221,6 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture | |||
228 | } | 221 | } |
229 | } | 222 | } |
230 | 223 | ||
231 | public Type ReplaceableInterface | ||
232 | { | ||
233 | get { return null; } | ||
234 | } | ||
235 | |||
236 | public void RegionLoaded(Scene scene) | ||
237 | { | ||
238 | } | ||
239 | |||
240 | public void RemoveRegion(Scene scene) | ||
241 | { | ||
242 | if (!RegisteredScenes.ContainsKey(scene.RegionInfo.RegionID)) | ||
243 | { | ||
244 | RegisteredScenes.Remove(scene.RegionInfo.RegionID); | ||
245 | scene.UnregisterModuleInterface<IDynamicTextureManager>(this); | ||
246 | } | ||
247 | } | ||
248 | |||
249 | public void PostInitialise() | 224 | public void PostInitialise() |
250 | { | 225 | { |
251 | } | 226 | } |
@@ -259,6 +234,11 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture | |||
259 | get { return "DynamicTextureModule"; } | 234 | get { return "DynamicTextureModule"; } |
260 | } | 235 | } |
261 | 236 | ||
237 | public bool IsSharedModule | ||
238 | { | ||
239 | get { return true; } | ||
240 | } | ||
241 | |||
262 | #endregion | 242 | #endregion |
263 | 243 | ||
264 | #region Nested type: DynamicTextureUpdater | 244 | #region Nested type: DynamicTextureUpdater |
@@ -378,18 +358,18 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture | |||
378 | // tmptex.DefaultTexture.Fullbright = true; | 358 | // tmptex.DefaultTexture.Fullbright = true; |
379 | 359 | ||
380 | part.UpdateTexture(tmptex); | 360 | part.UpdateTexture(tmptex); |
381 | } | 361 | } |
382 | 362 | ||
383 | if (oldID != UUID.Zero && ((Disp & DISP_EXPIRE) != 0)) | 363 | if (oldID != UUID.Zero && ((Disp & DISP_EXPIRE) != 0)) |
384 | { | 364 | { |
385 | if (oldAsset == null) oldAsset = scene.AssetService.Get(oldID.ToString()); | 365 | if (oldAsset == null) oldAsset = scene.AssetService.Get(oldID.ToString()); |
386 | if (oldAsset != null) | 366 | if (oldAsset != null) |
387 | { | 367 | { |
388 | if (oldAsset.Temporary == true) | 368 | if (oldAsset.Temporary == true) |
389 | { | 369 | { |
390 | scene.AssetService.Delete(oldID.ToString()); | 370 | scene.AssetService.Delete(oldID.ToString()); |
391 | } | 371 | } |
392 | } | 372 | } |
393 | } | 373 | } |
394 | } | 374 | } |
395 | 375 | ||
diff --git a/OpenSim/Region/CoreModules/Scripting/EMailModules/EmailModule.cs b/OpenSim/Region/CoreModules/Scripting/EMailModules/EmailModule.cs index d6ed468..83f004d 100644 --- a/OpenSim/Region/CoreModules/Scripting/EMailModules/EmailModule.cs +++ b/OpenSim/Region/CoreModules/Scripting/EMailModules/EmailModule.cs | |||
@@ -32,7 +32,6 @@ using System.Text.RegularExpressions; | |||
32 | using DotNetOpenMail; | 32 | using DotNetOpenMail; |
33 | using DotNetOpenMail.SmtpAuth; | 33 | using DotNetOpenMail.SmtpAuth; |
34 | using log4net; | 34 | using log4net; |
35 | using Mono.Addins; | ||
36 | using Nini.Config; | 35 | using Nini.Config; |
37 | using OpenMetaverse; | 36 | using OpenMetaverse; |
38 | using OpenSim.Framework; | 37 | using OpenSim.Framework; |
@@ -41,7 +40,6 @@ using OpenSim.Region.Framework.Scenes; | |||
41 | 40 | ||
42 | namespace OpenSim.Region.CoreModules.Scripting.EmailModules | 41 | namespace OpenSim.Region.CoreModules.Scripting.EmailModules |
43 | { | 42 | { |
44 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | ||
45 | public class EmailModule : IEmailModule | 43 | public class EmailModule : IEmailModule |
46 | { | 44 | { |
47 | // | 45 | // |
@@ -96,7 +94,7 @@ namespace OpenSim.Region.CoreModules.Scripting.EmailModules | |||
96 | } | 94 | } |
97 | } | 95 | } |
98 | 96 | ||
99 | public void Initialise(IConfigSource config) | 97 | public void Initialise(Scene scene, IConfigSource config) |
100 | { | 98 | { |
101 | m_Config = config; | 99 | m_Config = config; |
102 | IConfig SMTPConfig; | 100 | IConfig SMTPConfig; |
@@ -138,16 +136,7 @@ namespace OpenSim.Region.CoreModules.Scripting.EmailModules | |||
138 | m_Enabled = false; | 136 | m_Enabled = false; |
139 | return; | 137 | return; |
140 | } | 138 | } |
141 | m_log.Info("[EMAIL] Activated DefaultEmailModule"); | ||
142 | } | ||
143 | |||
144 | public Type ReplaceableInterface | ||
145 | { | ||
146 | get { return null; } | ||
147 | } | ||
148 | 139 | ||
149 | public void AddRegion(Scene scene) | ||
150 | { | ||
151 | // It's a go! | 140 | // It's a go! |
152 | if (m_Enabled) | 141 | if (m_Enabled) |
153 | { | 142 | { |
@@ -166,20 +155,8 @@ namespace OpenSim.Region.CoreModules.Scripting.EmailModules | |||
166 | m_Scenes.Add(scene.RegionInfo.RegionHandle, scene); | 155 | m_Scenes.Add(scene.RegionInfo.RegionHandle, scene); |
167 | } | 156 | } |
168 | } | 157 | } |
169 | } | ||
170 | } | ||
171 | |||
172 | public void RegionLoaded(Scene scene) | ||
173 | { | ||
174 | } | ||
175 | 158 | ||
176 | public void RemoveRegion(Scene scene) | 159 | m_log.Info("[EMAIL] Activated DefaultEmailModule"); |
177 | { | ||
178 | scene.UnregisterModuleInterface<IEmailModule>(this); | ||
179 | |||
180 | if (m_Scenes.ContainsKey(scene.RegionInfo.RegionHandle)) | ||
181 | { | ||
182 | m_Scenes.Remove(scene.RegionInfo.RegionHandle); | ||
183 | } | 160 | } |
184 | } | 161 | } |
185 | 162 | ||
@@ -196,6 +173,11 @@ namespace OpenSim.Region.CoreModules.Scripting.EmailModules | |||
196 | get { return "DefaultEmailModule"; } | 173 | get { return "DefaultEmailModule"; } |
197 | } | 174 | } |
198 | 175 | ||
176 | public bool IsSharedModule | ||
177 | { | ||
178 | get { return true; } | ||
179 | } | ||
180 | |||
199 | /// <summary> | 181 | /// <summary> |
200 | /// Delay function using thread in seconds | 182 | /// Delay function using thread in seconds |
201 | /// </summary> | 183 | /// </summary> |
diff --git a/OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs b/OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs index e331b8d..d78931a 100644 --- a/OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs +++ b/OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs | |||
@@ -31,7 +31,6 @@ using System.IO; | |||
31 | using System.Net; | 31 | using System.Net; |
32 | using System.Text; | 32 | using System.Text; |
33 | using System.Threading; | 33 | using System.Threading; |
34 | using Mono.Addins; | ||
35 | using Nini.Config; | 34 | using Nini.Config; |
36 | using OpenMetaverse; | 35 | using OpenMetaverse; |
37 | using OpenSim.Framework; | 36 | using OpenSim.Framework; |
@@ -85,8 +84,7 @@ using OpenSim.Region.Framework.Scenes; | |||
85 | 84 | ||
86 | namespace OpenSim.Region.CoreModules.Scripting.HttpRequest | 85 | namespace OpenSim.Region.CoreModules.Scripting.HttpRequest |
87 | { | 86 | { |
88 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 87 | public class HttpRequestModule : IRegionModule, IHttpRequestModule |
89 | public class HttpRequestModule : ISharedRegionModule, IHttpRequestModule | ||
90 | { | 88 | { |
91 | private object HttpListLock = new object(); | 89 | private object HttpListLock = new object(); |
92 | private int httpTimeout = 30000; | 90 | private int httpTimeout = 30000; |
@@ -231,35 +229,18 @@ namespace OpenSim.Region.CoreModules.Scripting.HttpRequest | |||
231 | 229 | ||
232 | #endregion | 230 | #endregion |
233 | 231 | ||
234 | #region ISharedRegionModule Members | 232 | #region IRegionModule Members |
235 | 233 | ||
236 | public void Initialise(IConfigSource config) | 234 | public void Initialise(Scene scene, IConfigSource config) |
237 | { | ||
238 | m_proxyurl = config.Configs["Startup"].GetString("HttpProxy"); | ||
239 | m_proxyexcepts = config.Configs["Startup"].GetString("HttpProxyExceptions"); | ||
240 | |||
241 | m_pendingRequests = new Dictionary<UUID, HttpRequestClass>(); | ||
242 | } | ||
243 | |||
244 | public void AddRegion(Scene scene) | ||
245 | { | 235 | { |
246 | m_scene = scene; | 236 | m_scene = scene; |
247 | 237 | ||
248 | m_scene.RegisterModuleInterface<IHttpRequestModule>(this); | 238 | m_scene.RegisterModuleInterface<IHttpRequestModule>(this); |
249 | } | ||
250 | |||
251 | public Type ReplaceableInterface | ||
252 | { | ||
253 | get { return null; } | ||
254 | } | ||
255 | 239 | ||
256 | public void RegionLoaded(Scene scene) | 240 | m_proxyurl = config.Configs["Startup"].GetString("HttpProxy"); |
257 | { | 241 | m_proxyexcepts = config.Configs["Startup"].GetString("HttpProxyExceptions"); |
258 | } | ||
259 | 242 | ||
260 | public void RemoveRegion(Scene scene) | 243 | m_pendingRequests = new Dictionary<UUID, HttpRequestClass>(); |
261 | { | ||
262 | scene.UnregisterModuleInterface<IHttpRequestModule>(this); | ||
263 | } | 244 | } |
264 | 245 | ||
265 | public void PostInitialise() | 246 | public void PostInitialise() |
@@ -275,6 +256,11 @@ namespace OpenSim.Region.CoreModules.Scripting.HttpRequest | |||
275 | get { return m_name; } | 256 | get { return m_name; } |
276 | } | 257 | } |
277 | 258 | ||
259 | public bool IsSharedModule | ||
260 | { | ||
261 | get { return true; } | ||
262 | } | ||
263 | |||
278 | #endregion | 264 | #endregion |
279 | } | 265 | } |
280 | 266 | ||
diff --git a/OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs b/OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs index 6ce55a9..9b565ed 100644 --- a/OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs +++ b/OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs | |||
@@ -126,8 +126,6 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp | |||
126 | 126 | ||
127 | public void RemoveRegion(Scene scene) | 127 | public void RemoveRegion(Scene scene) |
128 | { | 128 | { |
129 | scene.UnregisterModuleInterface<IUrlModule>(this); | ||
130 | scene.EventManager.OnScriptReset -= OnScriptReset; | ||
131 | } | 129 | } |
132 | 130 | ||
133 | public void Close() | 131 | public void Close() |
diff --git a/OpenSim/Region/CoreModules/Scripting/LoadImageURL/LoadImageURLModule.cs b/OpenSim/Region/CoreModules/Scripting/LoadImageURL/LoadImageURLModule.cs index 35ce2cb..c23cea5 100644 --- a/OpenSim/Region/CoreModules/Scripting/LoadImageURL/LoadImageURLModule.cs +++ b/OpenSim/Region/CoreModules/Scripting/LoadImageURL/LoadImageURLModule.cs | |||
@@ -29,7 +29,6 @@ using System; | |||
29 | using System.Drawing; | 29 | using System.Drawing; |
30 | using System.IO; | 30 | using System.IO; |
31 | using System.Net; | 31 | using System.Net; |
32 | using Mono.Addins; | ||
33 | using Nini.Config; | 32 | using Nini.Config; |
34 | using OpenMetaverse; | 33 | using OpenMetaverse; |
35 | using OpenMetaverse.Imaging; | 34 | using OpenMetaverse.Imaging; |
@@ -40,8 +39,7 @@ using System.Reflection; | |||
40 | 39 | ||
41 | namespace OpenSim.Region.CoreModules.Scripting.LoadImageURL | 40 | namespace OpenSim.Region.CoreModules.Scripting.LoadImageURL |
42 | { | 41 | { |
43 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 42 | public class LoadImageURLModule : IRegionModule, IDynamicTextureRender |
44 | public class LoadImageURLModule : ISharedRegionModule, IDynamicTextureRender | ||
45 | { | 43 | { |
46 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 44 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
47 | 45 | ||
@@ -99,28 +97,20 @@ namespace OpenSim.Region.CoreModules.Scripting.LoadImageURL | |||
99 | 97 | ||
100 | #endregion | 98 | #endregion |
101 | 99 | ||
102 | #region ISharedRegionModule Members | 100 | #region IRegionModule Members |
103 | 101 | ||
104 | public void Initialise(IConfigSource config) | 102 | public void Initialise(Scene scene, IConfigSource config) |
105 | { | ||
106 | m_proxyurl = config.Configs["Startup"].GetString("HttpProxy"); | ||
107 | m_proxyexcepts = config.Configs["Startup"].GetString("HttpProxyExceptions"); | ||
108 | } | ||
109 | |||
110 | public void AddRegion(Scene scene) | ||
111 | { | 103 | { |
112 | if (m_scene == null) | 104 | if (m_scene == null) |
113 | { | 105 | { |
114 | m_scene = scene; | 106 | m_scene = scene; |
115 | } | 107 | } |
108 | |||
109 | m_proxyurl = config.Configs["Startup"].GetString("HttpProxy"); | ||
110 | m_proxyexcepts = config.Configs["Startup"].GetString("HttpProxyExceptions"); | ||
116 | } | 111 | } |
117 | 112 | ||
118 | public Type ReplaceableInterface | 113 | public void PostInitialise() |
119 | { | ||
120 | get { return null; } | ||
121 | } | ||
122 | |||
123 | public void RegionLoaded(Scene scene) | ||
124 | { | 114 | { |
125 | m_textureManager = m_scene.RequestModuleInterface<IDynamicTextureManager>(); | 115 | m_textureManager = m_scene.RequestModuleInterface<IDynamicTextureManager>(); |
126 | if (m_textureManager != null) | 116 | if (m_textureManager != null) |
@@ -129,14 +119,6 @@ namespace OpenSim.Region.CoreModules.Scripting.LoadImageURL | |||
129 | } | 119 | } |
130 | } | 120 | } |
131 | 121 | ||
132 | public void RemoveRegion(Scene scene) | ||
133 | { | ||
134 | } | ||
135 | |||
136 | public void PostInitialise() | ||
137 | { | ||
138 | } | ||
139 | |||
140 | public void Close() | 122 | public void Close() |
141 | { | 123 | { |
142 | } | 124 | } |
@@ -146,6 +128,11 @@ namespace OpenSim.Region.CoreModules.Scripting.LoadImageURL | |||
146 | get { return m_name; } | 128 | get { return m_name; } |
147 | } | 129 | } |
148 | 130 | ||
131 | public bool IsSharedModule | ||
132 | { | ||
133 | get { return true; } | ||
134 | } | ||
135 | |||
149 | #endregion | 136 | #endregion |
150 | 137 | ||
151 | private void MakeHttpRequest(string url, UUID requestID) | 138 | private void MakeHttpRequest(string url, UUID requestID) |
diff --git a/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs b/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs index 71b01a1..d57a8e5 100644 --- a/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs +++ b/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs | |||
@@ -31,7 +31,6 @@ using System.Drawing.Imaging; | |||
31 | using System.Globalization; | 31 | using System.Globalization; |
32 | using System.IO; | 32 | using System.IO; |
33 | using System.Net; | 33 | using System.Net; |
34 | using Mono.Addins; | ||
35 | using Nini.Config; | 34 | using Nini.Config; |
36 | using OpenMetaverse; | 35 | using OpenMetaverse; |
37 | using OpenMetaverse.Imaging; | 36 | using OpenMetaverse.Imaging; |
@@ -44,8 +43,7 @@ using System.Reflection; | |||
44 | 43 | ||
45 | namespace OpenSim.Region.CoreModules.Scripting.VectorRender | 44 | namespace OpenSim.Region.CoreModules.Scripting.VectorRender |
46 | { | 45 | { |
47 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 46 | public class VectorRenderModule : IRegionModule, IDynamicTextureRender |
48 | public class VectorRenderModule : ISharedRegionModule, IDynamicTextureRender | ||
49 | { | 47 | { |
50 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 48 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
51 | 49 | ||
@@ -112,10 +110,15 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender | |||
112 | 110 | ||
113 | #endregion | 111 | #endregion |
114 | 112 | ||
115 | #region ISharedRegionModule Members | 113 | #region IRegionModule Members |
116 | 114 | ||
117 | public void Initialise(IConfigSource config) | 115 | public void Initialise(Scene scene, IConfigSource config) |
118 | { | 116 | { |
117 | if (m_scene == null) | ||
118 | { | ||
119 | m_scene = scene; | ||
120 | } | ||
121 | |||
119 | if (m_graph == null) | 122 | if (m_graph == null) |
120 | { | 123 | { |
121 | Bitmap bitmap = new Bitmap(1024, 1024, PixelFormat.Format32bppArgb); | 124 | Bitmap bitmap = new Bitmap(1024, 1024, PixelFormat.Format32bppArgb); |
@@ -130,20 +133,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender | |||
130 | m_log.DebugFormat("[VECTORRENDERMODULE]: using font \"{0}\" for text rendering.", m_fontName); | 133 | m_log.DebugFormat("[VECTORRENDERMODULE]: using font \"{0}\" for text rendering.", m_fontName); |
131 | } | 134 | } |
132 | 135 | ||
133 | public void AddRegion(Scene scene) | 136 | public void PostInitialise() |
134 | { | ||
135 | if (m_scene == null) | ||
136 | { | ||
137 | m_scene = scene; | ||
138 | } | ||
139 | } | ||
140 | |||
141 | public Type ReplaceableInterface | ||
142 | { | ||
143 | get { return null; } | ||
144 | } | ||
145 | |||
146 | public void RegionLoaded(Scene scene) | ||
147 | { | 137 | { |
148 | m_textureManager = m_scene.RequestModuleInterface<IDynamicTextureManager>(); | 138 | m_textureManager = m_scene.RequestModuleInterface<IDynamicTextureManager>(); |
149 | if (m_textureManager != null) | 139 | if (m_textureManager != null) |
@@ -152,14 +142,6 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender | |||
152 | } | 142 | } |
153 | } | 143 | } |
154 | 144 | ||
155 | public void RemoveRegion(Scene scene) | ||
156 | { | ||
157 | } | ||
158 | |||
159 | public void PostInitialise() | ||
160 | { | ||
161 | } | ||
162 | |||
163 | public void Close() | 145 | public void Close() |
164 | { | 146 | { |
165 | } | 147 | } |
@@ -169,6 +151,11 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender | |||
169 | get { return m_name; } | 151 | get { return m_name; } |
170 | } | 152 | } |
171 | 153 | ||
154 | public bool IsSharedModule | ||
155 | { | ||
156 | get { return true; } | ||
157 | } | ||
158 | |||
172 | #endregion | 159 | #endregion |
173 | 160 | ||
174 | private void Draw(string data, UUID id, string extraParams) | 161 | private void Draw(string data, UUID id, string extraParams) |
diff --git a/OpenSim/Region/CoreModules/Scripting/WorldComm/WorldCommModule.cs b/OpenSim/Region/CoreModules/Scripting/WorldComm/WorldCommModule.cs index d935c56..93aa88c 100644 --- a/OpenSim/Region/CoreModules/Scripting/WorldComm/WorldCommModule.cs +++ b/OpenSim/Region/CoreModules/Scripting/WorldComm/WorldCommModule.cs | |||
@@ -28,7 +28,6 @@ | |||
28 | using System; | 28 | using System; |
29 | using System.Collections; | 29 | using System.Collections; |
30 | using System.Collections.Generic; | 30 | using System.Collections.Generic; |
31 | using Mono.Addins; | ||
32 | using Nini.Config; | 31 | using Nini.Config; |
33 | using OpenMetaverse; | 32 | using OpenMetaverse; |
34 | using OpenSim.Framework; | 33 | using OpenSim.Framework; |
@@ -86,8 +85,7 @@ using OpenSim.Region.Framework.Scenes; | |||
86 | 85 | ||
87 | namespace OpenSim.Region.CoreModules.Scripting.WorldComm | 86 | namespace OpenSim.Region.CoreModules.Scripting.WorldComm |
88 | { | 87 | { |
89 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 88 | public class WorldCommModule : IRegionModule, IWorldComm |
90 | public class WorldCommModule : ISharedRegionModule, IWorldComm | ||
91 | { | 89 | { |
92 | // private static readonly ILog m_log = | 90 | // private static readonly ILog m_log = |
93 | // LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 91 | // LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
@@ -100,9 +98,9 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm | |||
100 | private int m_saydistance = 30; | 98 | private int m_saydistance = 30; |
101 | private int m_shoutdistance = 100; | 99 | private int m_shoutdistance = 100; |
102 | 100 | ||
103 | #region ISharedRegionModule Members | 101 | #region IRegionModule Members |
104 | 102 | ||
105 | public void Initialise(IConfigSource config) | 103 | public void Initialise(Scene scene, IConfigSource config) |
106 | { | 104 | { |
107 | // wrap this in a try block so that defaults will work if | 105 | // wrap this in a try block so that defaults will work if |
108 | // the config file doesn't specify otherwise. | 106 | // the config file doesn't specify otherwise. |
@@ -122,6 +120,7 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm | |||
122 | if (maxlisteners < 1) maxlisteners = int.MaxValue; | 120 | if (maxlisteners < 1) maxlisteners = int.MaxValue; |
123 | if (maxhandles < 1) maxhandles = int.MaxValue; | 121 | if (maxhandles < 1) maxhandles = int.MaxValue; |
124 | 122 | ||
123 | <<<<<<< HEAD:OpenSim/Region/CoreModules/Scripting/WorldComm/WorldCommModule.cs | ||
125 | m_listenerManager = new ListenerManager(maxlisteners, maxhandles); | 124 | m_listenerManager = new ListenerManager(maxlisteners, maxhandles); |
126 | m_pendingQ = new Queue(); | 125 | m_pendingQ = new Queue(); |
127 | m_pending = Queue.Synchronized(m_pendingQ); | 126 | m_pending = Queue.Synchronized(m_pendingQ); |
@@ -133,26 +132,19 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm | |||
133 | 132 | ||
134 | public void AddRegion(Scene scene) | 133 | public void AddRegion(Scene scene) |
135 | { | 134 | { |
135 | ======= | ||
136 | >>>>>>> ec3c31e... Updates all IRegionModules to the new style region modules.:OpenSim/Region/CoreModules/Scripting/WorldComm/WorldCommModule.cs | ||
136 | m_scene = scene; | 137 | m_scene = scene; |
137 | m_scene.RegisterModuleInterface<IWorldComm>(this); | 138 | m_scene.RegisterModuleInterface<IWorldComm>(this); |
139 | m_listenerManager = new ListenerManager(maxlisteners, maxhandles); | ||
138 | m_scene.EventManager.OnChatFromClient += DeliverClientMessage; | 140 | m_scene.EventManager.OnChatFromClient += DeliverClientMessage; |
139 | m_scene.EventManager.OnChatBroadcast += DeliverClientMessage; | 141 | m_scene.EventManager.OnChatBroadcast += DeliverClientMessage; |
142 | m_pendingQ = new Queue(); | ||
143 | m_pending = Queue.Synchronized(m_pendingQ); | ||
140 | } | 144 | } |
141 | 145 | ||
142 | public Type ReplaceableInterface | 146 | public void PostInitialise() |
143 | { | ||
144 | get { return null; } | ||
145 | } | ||
146 | |||
147 | public void RegionLoaded(Scene scene) | ||
148 | { | ||
149 | } | ||
150 | |||
151 | public void RemoveRegion(Scene scene) | ||
152 | { | 147 | { |
153 | scene.UnregisterModuleInterface<IWorldComm>(this); | ||
154 | scene.EventManager.OnChatFromClient -= DeliverClientMessage; | ||
155 | scene.EventManager.OnChatBroadcast -= DeliverClientMessage; | ||
156 | } | 148 | } |
157 | 149 | ||
158 | public void Close() | 150 | public void Close() |
@@ -164,6 +156,11 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm | |||
164 | get { return "WorldCommModule"; } | 156 | get { return "WorldCommModule"; } |
165 | } | 157 | } |
166 | 158 | ||
159 | public bool IsSharedModule | ||
160 | { | ||
161 | get { return false; } | ||
162 | } | ||
163 | |||
167 | #endregion | 164 | #endregion |
168 | 165 | ||
169 | #region IWorldComm Members | 166 | #region IWorldComm Members |
diff --git a/OpenSim/Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs b/OpenSim/Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs index a9147fb6..27b64bf 100644 --- a/OpenSim/Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs +++ b/OpenSim/Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs | |||
@@ -32,7 +32,6 @@ using System.Net; | |||
32 | using System.Reflection; | 32 | using System.Reflection; |
33 | using System.Threading; | 33 | using System.Threading; |
34 | using log4net; | 34 | using log4net; |
35 | using Mono.Addins; | ||
36 | using Nini.Config; | 35 | using Nini.Config; |
37 | using Nwc.XmlRpc; | 36 | using Nwc.XmlRpc; |
38 | using OpenMetaverse; | 37 | using OpenMetaverse; |
@@ -77,8 +76,7 @@ using OpenSim.Region.Framework.Scenes; | |||
77 | 76 | ||
78 | namespace OpenSim.Region.CoreModules.Scripting.XMLRPC | 77 | namespace OpenSim.Region.CoreModules.Scripting.XMLRPC |
79 | { | 78 | { |
80 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 79 | public class XMLRPCModule : IRegionModule, IXMLRPC |
81 | public class XMLRPCModule : ISharedRegionModule, IXMLRPC | ||
82 | { | 80 | { |
83 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 81 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
84 | 82 | ||
@@ -96,9 +94,9 @@ namespace OpenSim.Region.CoreModules.Scripting.XMLRPC | |||
96 | private int RemoteReplyScriptWait = 300; | 94 | private int RemoteReplyScriptWait = 300; |
97 | private object XMLRPCListLock = new object(); | 95 | private object XMLRPCListLock = new object(); |
98 | 96 | ||
99 | #region ISharedRegionModule Members | 97 | #region IRegionModule Members |
100 | 98 | ||
101 | public void Initialise(IConfigSource config) | 99 | public void Initialise(Scene scene, IConfigSource config) |
102 | { | 100 | { |
103 | // We need to create these early because the scripts might be calling | 101 | // We need to create these early because the scripts might be calling |
104 | // But since this gets called for every region, we need to make sure they | 102 | // But since this gets called for every region, we need to make sure they |
@@ -118,14 +116,7 @@ namespace OpenSim.Region.CoreModules.Scripting.XMLRPC | |||
118 | { | 116 | { |
119 | } | 117 | } |
120 | } | 118 | } |
121 | } | ||
122 | |||
123 | public void PostInitialise() | ||
124 | { | ||
125 | } | ||
126 | 119 | ||
127 | public void AddRegion(Scene scene) | ||
128 | { | ||
129 | if (!m_scenes.Contains(scene)) | 120 | if (!m_scenes.Contains(scene)) |
130 | { | 121 | { |
131 | m_scenes.Add(scene); | 122 | m_scenes.Add(scene); |
@@ -134,12 +125,7 @@ namespace OpenSim.Region.CoreModules.Scripting.XMLRPC | |||
134 | } | 125 | } |
135 | } | 126 | } |
136 | 127 | ||
137 | public Type ReplaceableInterface | 128 | public void PostInitialise() |
138 | { | ||
139 | get { return null; } | ||
140 | } | ||
141 | private Dictionary<Scene, BaseHttpServer> m_HttpServers = new Dictionary<Scene, BaseHttpServer>(); | ||
142 | public void RegionLoaded(Scene scene) | ||
143 | { | 129 | { |
144 | if (IsEnabled()) | 130 | if (IsEnabled()) |
145 | { | 131 | { |
@@ -147,31 +133,9 @@ namespace OpenSim.Region.CoreModules.Scripting.XMLRPC | |||
147 | // Attach xmlrpc handlers | 133 | // Attach xmlrpc handlers |
148 | m_log.Info("[REMOTE_DATA]: " + | 134 | m_log.Info("[REMOTE_DATA]: " + |
149 | "Starting XMLRPC Server on port " + m_remoteDataPort + " for llRemoteData commands."); | 135 | "Starting XMLRPC Server on port " + m_remoteDataPort + " for llRemoteData commands."); |
150 | BaseHttpServer httpServer = new BaseHttpServer((uint)m_remoteDataPort); | 136 | BaseHttpServer httpServer = new BaseHttpServer((uint) m_remoteDataPort); |
151 | httpServer.AddXmlRPCHandler("llRemoteData", XmlRpcRemoteData); | 137 | httpServer.AddXmlRPCHandler("llRemoteData", XmlRpcRemoteData); |
152 | httpServer.Start(); | 138 | httpServer.Start(); |
153 | m_HttpServers.Add(scene, httpServer); | ||
154 | } | ||
155 | } | ||
156 | |||
157 | public void RemoveRegion(Scene scene) | ||
158 | { | ||
159 | if (m_scenes.Contains(scene)) | ||
160 | m_scenes.Remove(scene); | ||
161 | scene.UnregisterModuleInterface<IXMLRPC>(this); | ||
162 | if (IsEnabled()) | ||
163 | { | ||
164 | // Start http server | ||
165 | // Attach xmlrpc handlers | ||
166 | if (m_HttpServers.ContainsKey(scene)) | ||
167 | { | ||
168 | BaseHttpServer httpServer; | ||
169 | m_HttpServers.TryGetValue(scene, out httpServer); | ||
170 | m_log.Info("[REMOTE_DATA]: " + | ||
171 | "Stopping XMLRPC Server on port " + m_remoteDataPort + " for llRemoteData commands."); | ||
172 | httpServer.RemoveXmlRPCHandler("llRemoteData"); | ||
173 | httpServer.Stop(); | ||
174 | } | ||
175 | } | 139 | } |
176 | } | 140 | } |
177 | 141 | ||
@@ -184,6 +148,11 @@ namespace OpenSim.Region.CoreModules.Scripting.XMLRPC | |||
184 | get { return m_name; } | 148 | get { return m_name; } |
185 | } | 149 | } |
186 | 150 | ||
151 | public bool IsSharedModule | ||
152 | { | ||
153 | get { return true; } | ||
154 | } | ||
155 | |||
187 | public int Port | 156 | public int Port |
188 | { | 157 | { |
189 | get { return m_remoteDataPort; } | 158 | get { return m_remoteDataPort; } |
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsIn/Asset/AssetServiceInConnectorModule.cs b/OpenSim/Region/CoreModules/ServiceConnectorsIn/Asset/AssetServiceInConnectorModule.cs index d3e2db7..879cc70 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsIn/Asset/AssetServiceInConnectorModule.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsIn/Asset/AssetServiceInConnectorModule.cs | |||
@@ -47,7 +47,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Asset | |||
47 | private IConfigSource m_Config; | 47 | private IConfigSource m_Config; |
48 | bool m_Registered = false; | 48 | bool m_Registered = false; |
49 | 49 | ||
50 | #region ISharedRegionModule interface | 50 | #region IRegionModule interface |
51 | 51 | ||
52 | public void Initialise(IConfigSource config) | 52 | public void Initialise(IConfigSource config) |
53 | { | 53 | { |
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsIn/Grid/HypergridServiceInConnectorModule.cs b/OpenSim/Region/CoreModules/ServiceConnectorsIn/Grid/HypergridServiceInConnectorModule.cs index a895a3f..b12d778 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsIn/Grid/HypergridServiceInConnectorModule.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsIn/Grid/HypergridServiceInConnectorModule.cs | |||
@@ -51,7 +51,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Grid | |||
51 | bool m_Registered = false; | 51 | bool m_Registered = false; |
52 | HypergridServiceInConnector m_HypergridHandler; | 52 | HypergridServiceInConnector m_HypergridHandler; |
53 | 53 | ||
54 | #region ISharedRegionModule interface | 54 | #region IRegionModule interface |
55 | 55 | ||
56 | public void Initialise(IConfigSource config) | 56 | public void Initialise(IConfigSource config) |
57 | { | 57 | { |
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsIn/Inventory/InventoryServiceInConnectorModule.cs b/OpenSim/Region/CoreModules/ServiceConnectorsIn/Inventory/InventoryServiceInConnectorModule.cs index 4c74725..54c6d89 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsIn/Inventory/InventoryServiceInConnectorModule.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsIn/Inventory/InventoryServiceInConnectorModule.cs | |||
@@ -47,7 +47,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Inventory | |||
47 | private IConfigSource m_Config; | 47 | private IConfigSource m_Config; |
48 | bool m_Registered = false; | 48 | bool m_Registered = false; |
49 | 49 | ||
50 | #region ISharedRegionModule interface | 50 | #region IRegionModule interface |
51 | 51 | ||
52 | public void Initialise(IConfigSource config) | 52 | public void Initialise(IConfigSource config) |
53 | { | 53 | { |
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsIn/Land/LandServiceInConnectorModule.cs b/OpenSim/Region/CoreModules/ServiceConnectorsIn/Land/LandServiceInConnectorModule.cs index dcc6dec..bce160a 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsIn/Land/LandServiceInConnectorModule.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsIn/Land/LandServiceInConnectorModule.cs | |||
@@ -50,7 +50,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Land | |||
50 | private IConfigSource m_Config; | 50 | private IConfigSource m_Config; |
51 | private List<Scene> m_Scenes = new List<Scene>(); | 51 | private List<Scene> m_Scenes = new List<Scene>(); |
52 | 52 | ||
53 | #region ISharedRegionModule interface | 53 | #region IRegionModule interface |
54 | 54 | ||
55 | public void Initialise(IConfigSource config) | 55 | public void Initialise(IConfigSource config) |
56 | { | 56 | { |
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsIn/Neighbour/NeighbourServiceInConnectorModule.cs b/OpenSim/Region/CoreModules/ServiceConnectorsIn/Neighbour/NeighbourServiceInConnectorModule.cs index a5c5ef6..8a90370 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsIn/Neighbour/NeighbourServiceInConnectorModule.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsIn/Neighbour/NeighbourServiceInConnectorModule.cs | |||
@@ -50,7 +50,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Neighbour | |||
50 | private IConfigSource m_Config; | 50 | private IConfigSource m_Config; |
51 | private List<Scene> m_Scenes = new List<Scene>(); | 51 | private List<Scene> m_Scenes = new List<Scene>(); |
52 | 52 | ||
53 | #region ISharedRegionModule interface | 53 | #region IRegionModule interface |
54 | 54 | ||
55 | public void Initialise(IConfigSource config) | 55 | public void Initialise(IConfigSource config) |
56 | { | 56 | { |
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsIn/Simulation/SimulationServiceInConnectorModule.cs b/OpenSim/Region/CoreModules/ServiceConnectorsIn/Simulation/SimulationServiceInConnectorModule.cs index c2cea16..f28a318 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsIn/Simulation/SimulationServiceInConnectorModule.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsIn/Simulation/SimulationServiceInConnectorModule.cs | |||
@@ -49,7 +49,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Simulation | |||
49 | private IConfigSource m_Config; | 49 | private IConfigSource m_Config; |
50 | bool m_Registered = false; | 50 | bool m_Registered = false; |
51 | 51 | ||
52 | #region ISharedRegionModule interface | 52 | #region IRegionModule interface |
53 | 53 | ||
54 | public void Initialise(IConfigSource config) | 54 | public void Initialise(IConfigSource config) |
55 | { | 55 | { |
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Interregion/LocalInterregionComms.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Interregion/LocalInterregionComms.cs index 71d7993..d68c683 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Interregion/LocalInterregionComms.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Interregion/LocalInterregionComms.cs | |||
@@ -48,7 +48,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Interregion | |||
48 | 48 | ||
49 | #endregion /* Events */ | 49 | #endregion /* Events */ |
50 | 50 | ||
51 | #region ISharedRegionModule | 51 | #region IRegionModule |
52 | 52 | ||
53 | public void Initialise(IConfigSource config) | 53 | public void Initialise(IConfigSource config) |
54 | { | 54 | { |
@@ -136,7 +136,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Interregion | |||
136 | } | 136 | } |
137 | } | 137 | } |
138 | 138 | ||
139 | #endregion | 139 | #endregion /* IRegionModule */ |
140 | 140 | ||
141 | #region IInterregionComms | 141 | #region IInterregionComms |
142 | 142 | ||
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Interregion/RESTInterregionComms.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Interregion/RESTInterregionComms.cs index ca07a28..0357c60 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Interregion/RESTInterregionComms.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Interregion/RESTInterregionComms.cs | |||
@@ -66,7 +66,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Interregion | |||
66 | protected bool m_safemode; | 66 | protected bool m_safemode; |
67 | protected IPAddress m_thisIP; | 67 | protected IPAddress m_thisIP; |
68 | 68 | ||
69 | #region ISharedRegionModule | 69 | #region IRegionModule |
70 | 70 | ||
71 | public virtual void Initialise(IConfigSource config) | 71 | public virtual void Initialise(IConfigSource config) |
72 | { | 72 | { |
@@ -149,7 +149,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Interregion | |||
149 | MainServer.Instance.AddHTTPHandler("/object/", ObjectHandler); | 149 | MainServer.Instance.AddHTTPHandler("/object/", ObjectHandler); |
150 | } | 150 | } |
151 | 151 | ||
152 | #endregion | 152 | #endregion /* IRegionModule */ |
153 | 153 | ||
154 | #region IInterregionComms | 154 | #region IInterregionComms |
155 | 155 | ||
@@ -435,12 +435,12 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Interregion | |||
435 | } | 435 | } |
436 | 436 | ||
437 | OSDMap resp = new OSDMap(2); | 437 | OSDMap resp = new OSDMap(2); |
438 | string reason = String.Empty; | 438 | string reason = String.Empty; |
439 | uint teleportFlags = 0; | 439 | uint teleportFlags = 0; |
440 | if (args.ContainsKey("teleport_flags")) | 440 | if (args.ContainsKey("teleport_flags")) |
441 | { | 441 | { |
442 | teleportFlags = args["teleport_flags"].AsUInteger(); | 442 | teleportFlags = args["teleport_flags"].AsUInteger(); |
443 | } | 443 | } |
444 | 444 | ||
445 | // This is the meaning of POST agent | 445 | // This is the meaning of POST agent |
446 | m_regionClient.AdjustUserInformation(aCircuit); | 446 | m_regionClient.AdjustUserInformation(aCircuit); |
diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiverModule.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiverModule.cs index c738b65..fc8d4e1 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/ArchiverModule.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiverModule.cs | |||
@@ -81,7 +81,6 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
81 | 81 | ||
82 | public void RemoveRegion(Scene scene) | 82 | public void RemoveRegion(Scene scene) |
83 | { | 83 | { |
84 | scene.UnregisterModuleInterface<IRegionArchiverModule>(this); | ||
85 | } | 84 | } |
86 | 85 | ||
87 | public void Close() | 86 | public void Close() |
diff --git a/OpenSim/Region/CoreModules/World/Cloud/CloudModule.cs b/OpenSim/Region/CoreModules/World/Cloud/CloudModule.cs index a2cfce6..5fa3dc2 100644 --- a/OpenSim/Region/CoreModules/World/Cloud/CloudModule.cs +++ b/OpenSim/Region/CoreModules/World/Cloud/CloudModule.cs | |||
@@ -27,7 +27,6 @@ | |||
27 | 27 | ||
28 | using System; | 28 | using System; |
29 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
30 | using Mono.Addins; | ||
31 | using Nini.Config; | 30 | using Nini.Config; |
32 | using OpenMetaverse; | 31 | using OpenMetaverse; |
33 | using OpenSim.Framework; | 32 | using OpenSim.Framework; |
@@ -36,7 +35,6 @@ using OpenSim.Region.Framework.Scenes; | |||
36 | 35 | ||
37 | namespace OpenSim.Region.CoreModules | 36 | namespace OpenSim.Region.CoreModules |
38 | { | 37 | { |
39 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | ||
40 | public class CloudModule : ICloudModule | 38 | public class CloudModule : ICloudModule |
41 | { | 39 | { |
42 | // private static readonly log4net.ILog m_log | 40 | // private static readonly log4net.ILog m_log |
@@ -50,7 +48,7 @@ namespace OpenSim.Region.CoreModules | |||
50 | private float m_cloudDensity = 1.0F; | 48 | private float m_cloudDensity = 1.0F; |
51 | private float[] cloudCover = new float[16 * 16]; | 49 | private float[] cloudCover = new float[16 * 16]; |
52 | 50 | ||
53 | public void Initialise(IConfigSource config) | 51 | public void Initialise(Scene scene, IConfigSource config) |
54 | { | 52 | { |
55 | IConfig cloudConfig = config.Configs["Cloud"]; | 53 | IConfig cloudConfig = config.Configs["Cloud"]; |
56 | 54 | ||
@@ -60,17 +58,10 @@ namespace OpenSim.Region.CoreModules | |||
60 | m_cloudDensity = cloudConfig.GetFloat("density", 0.5F); | 58 | m_cloudDensity = cloudConfig.GetFloat("density", 0.5F); |
61 | m_frameUpdateRate = cloudConfig.GetInt("cloud_update_rate", 1000); | 59 | m_frameUpdateRate = cloudConfig.GetInt("cloud_update_rate", 1000); |
62 | } | 60 | } |
63 | } | ||
64 | |||
65 | public Type ReplaceableInterface | ||
66 | { | ||
67 | get { return null; } | ||
68 | } | ||
69 | 61 | ||
70 | public void AddRegion(Scene scene) | ||
71 | { | ||
72 | if (m_enabled) | 62 | if (m_enabled) |
73 | { | 63 | { |
64 | |||
74 | m_scene = scene; | 65 | m_scene = scene; |
75 | 66 | ||
76 | scene.EventManager.OnNewClient += CloudsToClient; | 67 | scene.EventManager.OnNewClient += CloudsToClient; |
@@ -80,18 +71,9 @@ namespace OpenSim.Region.CoreModules | |||
80 | GenerateCloudCover(); | 71 | GenerateCloudCover(); |
81 | 72 | ||
82 | m_ready = true; | 73 | m_ready = true; |
83 | } | ||
84 | } | ||
85 | 74 | ||
86 | public void RegionLoaded(Scene scene) | 75 | } |
87 | { | ||
88 | } | ||
89 | 76 | ||
90 | public void RemoveRegion(Scene scene) | ||
91 | { | ||
92 | scene.EventManager.OnNewClient -= CloudsToClient; | ||
93 | scene.UnregisterModuleInterface<ICloudModule>(this); | ||
94 | scene.EventManager.OnFrame -= CloudUpdate; | ||
95 | } | 77 | } |
96 | 78 | ||
97 | public void PostInitialise() | 79 | public void PostInitialise() |
@@ -114,6 +96,12 @@ namespace OpenSim.Region.CoreModules | |||
114 | get { return "CloudModule"; } | 96 | get { return "CloudModule"; } |
115 | } | 97 | } |
116 | 98 | ||
99 | public bool IsSharedModule | ||
100 | { | ||
101 | get { return false; } | ||
102 | } | ||
103 | |||
104 | |||
117 | public float CloudCover(int x, int y, int z) | 105 | public float CloudCover(int x, int y, int z) |
118 | { | 106 | { |
119 | float cover = 0f; | 107 | float cover = 0f; |
diff --git a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs index 39836ae..695cced 100644 --- a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs | |||
@@ -30,7 +30,6 @@ using System.IO; | |||
30 | using System.Reflection; | 30 | using System.Reflection; |
31 | using System.Security; | 31 | using System.Security; |
32 | using log4net; | 32 | using log4net; |
33 | using Mono.Addins; | ||
34 | using Nini.Config; | 33 | using Nini.Config; |
35 | using OpenMetaverse; | 34 | using OpenMetaverse; |
36 | using OpenSim.Framework; | 35 | using OpenSim.Framework; |
@@ -39,7 +38,6 @@ using OpenSim.Region.Framework.Scenes; | |||
39 | 38 | ||
40 | namespace OpenSim.Region.CoreModules.World.Estate | 39 | namespace OpenSim.Region.CoreModules.World.Estate |
41 | { | 40 | { |
42 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | ||
43 | public class EstateManagementModule : IEstateModule | 41 | public class EstateManagementModule : IEstateModule |
44 | { | 42 | { |
45 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 43 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
@@ -900,16 +898,7 @@ namespace OpenSim.Region.CoreModules.World.Estate | |||
900 | 898 | ||
901 | #region IRegionModule Members | 899 | #region IRegionModule Members |
902 | 900 | ||
903 | public void Initialise(IConfigSource source) | 901 | public void Initialise(Scene scene, IConfigSource source) |
904 | { | ||
905 | } | ||
906 | |||
907 | public Type ReplaceableInterface | ||
908 | { | ||
909 | get { return null; } | ||
910 | } | ||
911 | |||
912 | public void AddRegion(Scene scene) | ||
913 | { | 902 | { |
914 | m_scene = scene; | 903 | m_scene = scene; |
915 | m_scene.RegisterModuleInterface<IEstateModule>(this); | 904 | m_scene.RegisterModuleInterface<IEstateModule>(this); |
@@ -931,29 +920,6 @@ namespace OpenSim.Region.CoreModules.World.Estate | |||
931 | consoleSetTerrainHeights); | 920 | consoleSetTerrainHeights); |
932 | } | 921 | } |
933 | 922 | ||
934 | public void RegionLoaded(Scene scene) | ||
935 | { | ||
936 | // Sets up the sun module based on the saved Estate and Region Settings | ||
937 | // DO NOT REMOVE or the sun will stop working | ||
938 | TriggerEstateToolsSunUpdate(); | ||
939 | } | ||
940 | |||
941 | public void RemoveRegion(Scene scene) | ||
942 | { | ||
943 | scene.UnregisterModuleInterface<IEstateModule>(this); | ||
944 | scene.EventManager.OnNewClient -= EventManager_OnNewClient; | ||
945 | scene.EventManager.OnRequestChangeWaterHeight -= changeWaterHeight; | ||
946 | } | ||
947 | |||
948 | public void Close() | ||
949 | { | ||
950 | } | ||
951 | |||
952 | public string Name | ||
953 | { | ||
954 | get { return "EstateManagementModule"; } | ||
955 | } | ||
956 | |||
957 | #region Console Commands | 923 | #region Console Commands |
958 | 924 | ||
959 | public void consoleSetTerrainTexture(string module, string[] args) | 925 | public void consoleSetTerrainTexture(string module, string[] args) |
@@ -1040,6 +1006,28 @@ namespace OpenSim.Region.CoreModules.World.Estate | |||
1040 | } | 1006 | } |
1041 | 1007 | ||
1042 | #endregion | 1008 | #endregion |
1009 | |||
1010 | public void PostInitialise() | ||
1011 | { | ||
1012 | // Sets up the sun module based no the saved Estate and Region Settings | ||
1013 | // DO NOT REMOVE or the sun will stop working | ||
1014 | TriggerEstateToolsSunUpdate(); | ||
1015 | } | ||
1016 | |||
1017 | public void Close() | ||
1018 | { | ||
1019 | } | ||
1020 | |||
1021 | public string Name | ||
1022 | { | ||
1023 | get { return "EstateManagementModule"; } | ||
1024 | } | ||
1025 | |||
1026 | public bool IsSharedModule | ||
1027 | { | ||
1028 | get { return false; } | ||
1029 | } | ||
1030 | |||
1043 | #endregion | 1031 | #endregion |
1044 | 1032 | ||
1045 | #region Other Functions | 1033 | #region Other Functions |
diff --git a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs index 5b15065..1533462 100644 --- a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs +++ b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs | |||
@@ -29,7 +29,6 @@ using System; | |||
29 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
30 | using System.Reflection; | 30 | using System.Reflection; |
31 | using log4net; | 31 | using log4net; |
32 | using Mono.Addins; | ||
33 | using Nini.Config; | 32 | using Nini.Config; |
34 | using OpenMetaverse; | 33 | using OpenMetaverse; |
35 | using OpenSim.Framework; | 34 | using OpenSim.Framework; |
@@ -90,8 +89,7 @@ enum GroupPowers : long | |||
90 | 89 | ||
91 | namespace OpenSim.Region.CoreModules.World.Permissions | 90 | namespace OpenSim.Region.CoreModules.World.Permissions |
92 | { | 91 | { |
93 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 92 | public class PermissionsModule : IRegionModule |
94 | public class PermissionsModule : INonSharedRegionModule | ||
95 | { | 93 | { |
96 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 94 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
97 | 95 | ||
@@ -151,10 +149,12 @@ namespace OpenSim.Region.CoreModules.World.Permissions | |||
151 | 149 | ||
152 | #endregion | 150 | #endregion |
153 | 151 | ||
154 | #region INonSharedRegionModule Members | 152 | #region IRegionModule Members |
155 | 153 | ||
156 | public void Initialise(IConfigSource config) | 154 | public void Initialise(Scene scene, IConfigSource config) |
157 | { | 155 | { |
156 | m_scene = scene; | ||
157 | |||
158 | IConfig myConfig = config.Configs["Startup"]; | 158 | IConfig myConfig = config.Configs["Startup"]; |
159 | 159 | ||
160 | string permissionModules = myConfig.GetString("permissionmodules", "DefaultPermissionsModule"); | 160 | string permissionModules = myConfig.GetString("permissionmodules", "DefaultPermissionsModule"); |
@@ -179,57 +179,7 @@ namespace OpenSim.Region.CoreModules.World.Permissions | |||
179 | if (m_bypassPermissions) | 179 | if (m_bypassPermissions) |
180 | m_log.Info("[PERMISSIONS]: serviceside_object_permissions = false in ini file so disabling all region service permission checks"); | 180 | m_log.Info("[PERMISSIONS]: serviceside_object_permissions = false in ini file so disabling all region service permission checks"); |
181 | else | 181 | else |
182 | m_log.Debug("[PERMISSIONS]: Enabling all region service permission checks"); | 182 | m_log.Debug("[PERMISSIONS]: Enabling all region service permission checks"); |
183 | |||
184 | string grant = myConfig.GetString("GrantLSL",""); | ||
185 | if (grant.Length > 0) { | ||
186 | foreach (string uuidl in grant.Split(',')) { | ||
187 | string uuid = uuidl.Trim(" \t".ToCharArray()); | ||
188 | GrantLSL.Add(uuid, true); | ||
189 | } | ||
190 | } | ||
191 | |||
192 | grant = myConfig.GetString("GrantCS",""); | ||
193 | if (grant.Length > 0) { | ||
194 | foreach (string uuidl in grant.Split(',')) { | ||
195 | string uuid = uuidl.Trim(" \t".ToCharArray()); | ||
196 | GrantCS.Add(uuid, true); | ||
197 | } | ||
198 | } | ||
199 | |||
200 | grant = myConfig.GetString("GrantVB",""); | ||
201 | if (grant.Length > 0) { | ||
202 | foreach (string uuidl in grant.Split(',')) { | ||
203 | string uuid = uuidl.Trim(" \t".ToCharArray()); | ||
204 | GrantVB.Add(uuid, true); | ||
205 | } | ||
206 | } | ||
207 | |||
208 | grant = myConfig.GetString("GrantJS", ""); | ||
209 | if (grant.Length > 0) | ||
210 | { | ||
211 | foreach (string uuidl in grant.Split(',')) | ||
212 | { | ||
213 | string uuid = uuidl.Trim(" \t".ToCharArray()); | ||
214 | GrantJS.Add(uuid, true); | ||
215 | } | ||
216 | } | ||
217 | |||
218 | grant = myConfig.GetString("GrantYP", ""); | ||
219 | if (grant.Length > 0) | ||
220 | { | ||
221 | foreach (string uuidl in grant.Split(',')) | ||
222 | { | ||
223 | string uuid = uuidl.Trim(" \t".ToCharArray()); | ||
224 | GrantYP.Add(uuid, true); | ||
225 | } | ||
226 | } | ||
227 | |||
228 | } | ||
229 | |||
230 | public void AddRegion(Scene scene) | ||
231 | { | ||
232 | m_scene = scene; | ||
233 | 183 | ||
234 | //Register functions with Scene External Checks! | 184 | //Register functions with Scene External Checks! |
235 | m_scene.Permissions.OnBypassPermissions += BypassPermissions; | 185 | m_scene.Permissions.OnBypassPermissions += BypassPermissions; |
@@ -262,23 +212,23 @@ namespace OpenSim.Region.CoreModules.World.Permissions | |||
262 | m_scene.Permissions.OnLinkObject += CanLinkObject; //NOT YET IMPLEMENTED | 212 | m_scene.Permissions.OnLinkObject += CanLinkObject; //NOT YET IMPLEMENTED |
263 | m_scene.Permissions.OnDelinkObject += CanDelinkObject; //NOT YET IMPLEMENTED | 213 | m_scene.Permissions.OnDelinkObject += CanDelinkObject; //NOT YET IMPLEMENTED |
264 | m_scene.Permissions.OnBuyLand += CanBuyLand; //NOT YET IMPLEMENTED | 214 | m_scene.Permissions.OnBuyLand += CanBuyLand; //NOT YET IMPLEMENTED |
265 | 215 | ||
266 | m_scene.Permissions.OnViewNotecard += CanViewNotecard; //NOT YET IMPLEMENTED | 216 | m_scene.Permissions.OnViewNotecard += CanViewNotecard; //NOT YET IMPLEMENTED |
267 | m_scene.Permissions.OnViewScript += CanViewScript; //NOT YET IMPLEMENTED | 217 | m_scene.Permissions.OnViewScript += CanViewScript; //NOT YET IMPLEMENTED |
268 | m_scene.Permissions.OnEditNotecard += CanEditNotecard; //NOT YET IMPLEMENTED | 218 | m_scene.Permissions.OnEditNotecard += CanEditNotecard; //NOT YET IMPLEMENTED |
269 | m_scene.Permissions.OnEditScript += CanEditScript; //NOT YET IMPLEMENTED | 219 | m_scene.Permissions.OnEditScript += CanEditScript; //NOT YET IMPLEMENTED |
270 | 220 | ||
271 | m_scene.Permissions.OnCreateObjectInventory += CanCreateObjectInventory; //NOT IMPLEMENTED HERE | 221 | m_scene.Permissions.OnCreateObjectInventory += CanCreateObjectInventory; //NOT IMPLEMENTED HERE |
272 | m_scene.Permissions.OnEditObjectInventory += CanEditObjectInventory;//MAYBE FULLY IMPLEMENTED | 222 | m_scene.Permissions.OnEditObjectInventory += CanEditObjectInventory;//MAYBE FULLY IMPLEMENTED |
273 | m_scene.Permissions.OnCopyObjectInventory += CanCopyObjectInventory; //NOT YET IMPLEMENTED | 223 | m_scene.Permissions.OnCopyObjectInventory += CanCopyObjectInventory; //NOT YET IMPLEMENTED |
274 | m_scene.Permissions.OnDeleteObjectInventory += CanDeleteObjectInventory; //NOT YET IMPLEMENTED | 224 | m_scene.Permissions.OnDeleteObjectInventory += CanDeleteObjectInventory; //NOT YET IMPLEMENTED |
275 | m_scene.Permissions.OnResetScript += CanResetScript; | 225 | m_scene.Permissions.OnResetScript += CanResetScript; |
276 | 226 | ||
277 | m_scene.Permissions.OnCreateUserInventory += CanCreateUserInventory; //NOT YET IMPLEMENTED | 227 | m_scene.Permissions.OnCreateUserInventory += CanCreateUserInventory; //NOT YET IMPLEMENTED |
278 | m_scene.Permissions.OnCopyUserInventory += CanCopyUserInventory; //NOT YET IMPLEMENTED | 228 | m_scene.Permissions.OnCopyUserInventory += CanCopyUserInventory; //NOT YET IMPLEMENTED |
279 | m_scene.Permissions.OnEditUserInventory += CanEditUserInventory; //NOT YET IMPLEMENTED | 229 | m_scene.Permissions.OnEditUserInventory += CanEditUserInventory; //NOT YET IMPLEMENTED |
280 | m_scene.Permissions.OnDeleteUserInventory += CanDeleteUserInventory; //NOT YET IMPLEMENTED | 230 | m_scene.Permissions.OnDeleteUserInventory += CanDeleteUserInventory; //NOT YET IMPLEMENTED |
281 | 231 | ||
282 | m_scene.Permissions.OnTeleport += CanTeleport; //NOT YET IMPLEMENTED | 232 | m_scene.Permissions.OnTeleport += CanTeleport; //NOT YET IMPLEMENTED |
283 | m_scene.Permissions.OnUseObjectReturn += CanUseObjectReturn; //NOT YET IMPLEMENTED | 233 | m_scene.Permissions.OnUseObjectReturn += CanUseObjectReturn; //NOT YET IMPLEMENTED |
284 | 234 | ||
@@ -296,87 +246,52 @@ namespace OpenSim.Region.CoreModules.World.Permissions | |||
296 | "debug permissions <true / false>", | 246 | "debug permissions <true / false>", |
297 | "Enable permissions debugging", | 247 | "Enable permissions debugging", |
298 | HandleDebugPermissions); | 248 | HandleDebugPermissions); |
299 | } | 249 | |
300 | 250 | ||
301 | public Type ReplaceableInterface | 251 | string grant = myConfig.GetString("GrantLSL",""); |
302 | { | 252 | if (grant.Length > 0) { |
303 | get { return null; } | 253 | foreach (string uuidl in grant.Split(',')) { |
304 | } | 254 | string uuid = uuidl.Trim(" \t".ToCharArray()); |
305 | 255 | GrantLSL.Add(uuid, true); | |
306 | public void RegionLoaded(Scene scene) | 256 | } |
307 | { | 257 | } |
308 | m_friendsModule = m_scene.RequestModuleInterface<IFriendsModule>(); | ||
309 | 258 | ||
310 | if (m_friendsModule == null) | 259 | grant = myConfig.GetString("GrantCS",""); |
311 | m_log.Error("[PERMISSIONS]: Friends module not found, friend permissions will not work"); | 260 | if (grant.Length > 0) { |
312 | else | 261 | foreach (string uuidl in grant.Split(',')) { |
313 | m_log.Info("[PERMISSIONS]: Friends module found, friend permissions enabled"); | 262 | string uuid = uuidl.Trim(" \t".ToCharArray()); |
314 | } | 263 | GrantCS.Add(uuid, true); |
264 | } | ||
265 | } | ||
315 | 266 | ||
316 | public void RemoveRegion(Scene scene) | 267 | grant = myConfig.GetString("GrantVB",""); |
317 | { | 268 | if (grant.Length > 0) { |
318 | scene.Permissions.OnBypassPermissions -= BypassPermissions; | 269 | foreach (string uuidl in grant.Split(',')) { |
319 | scene.Permissions.OnSetBypassPermissions -= SetBypassPermissions; | 270 | string uuid = uuidl.Trim(" \t".ToCharArray()); |
320 | scene.Permissions.OnPropagatePermissions -= PropagatePermissions; | 271 | GrantVB.Add(uuid, true); |
321 | scene.Permissions.OnGenerateClientFlags -= GenerateClientFlags; | 272 | } |
322 | scene.Permissions.OnAbandonParcel -= CanAbandonParcel; | 273 | } |
323 | scene.Permissions.OnReclaimParcel -= CanReclaimParcel; | ||
324 | scene.Permissions.OnDeedParcel -= CanDeedParcel; | ||
325 | scene.Permissions.OnDeedObject -= CanDeedObject; | ||
326 | scene.Permissions.OnIsGod -= IsGod; | ||
327 | scene.Permissions.OnDuplicateObject -= CanDuplicateObject; | ||
328 | scene.Permissions.OnDeleteObject -= CanDeleteObject; //MAYBE FULLY IMPLEMENTED | ||
329 | scene.Permissions.OnEditObject -= CanEditObject; //MAYBE FULLY IMPLEMENTED | ||
330 | scene.Permissions.OnEditParcel -= CanEditParcel; //MAYBE FULLY IMPLEMENTED | ||
331 | scene.Permissions.OnInstantMessage -= CanInstantMessage; | ||
332 | scene.Permissions.OnInventoryTransfer -= CanInventoryTransfer; //NOT YET IMPLEMENTED | ||
333 | scene.Permissions.OnIssueEstateCommand -= CanIssueEstateCommand; //FULLY IMPLEMENTED | ||
334 | scene.Permissions.OnMoveObject -= CanMoveObject; //MAYBE FULLY IMPLEMENTED | ||
335 | scene.Permissions.OnObjectEntry -= CanObjectEntry; | ||
336 | scene.Permissions.OnReturnObject -= CanReturnObject; //NOT YET IMPLEMENTED | ||
337 | scene.Permissions.OnRezObject -= CanRezObject; //MAYBE FULLY IMPLEMENTED | ||
338 | scene.Permissions.OnRunConsoleCommand -= CanRunConsoleCommand; | ||
339 | scene.Permissions.OnRunScript -= CanRunScript; //NOT YET IMPLEMENTED | ||
340 | scene.Permissions.OnCompileScript -= CanCompileScript; | ||
341 | scene.Permissions.OnSellParcel -= CanSellParcel; | ||
342 | scene.Permissions.OnTakeObject -= CanTakeObject; | ||
343 | scene.Permissions.OnTakeCopyObject -= CanTakeCopyObject; | ||
344 | scene.Permissions.OnTerraformLand -= CanTerraformLand; | ||
345 | scene.Permissions.OnLinkObject -= CanLinkObject; //NOT YET IMPLEMENTED | ||
346 | scene.Permissions.OnDelinkObject -= CanDelinkObject; //NOT YET IMPLEMENTED | ||
347 | scene.Permissions.OnBuyLand -= CanBuyLand; //NOT YET IMPLEMENTED | ||
348 | |||
349 | scene.Permissions.OnViewNotecard -= CanViewNotecard; //NOT YET IMPLEMENTED | ||
350 | scene.Permissions.OnViewScript -= CanViewScript; //NOT YET IMPLEMENTED | ||
351 | scene.Permissions.OnEditNotecard -= CanEditNotecard; //NOT YET IMPLEMENTED | ||
352 | scene.Permissions.OnEditScript -= CanEditScript; //NOT YET IMPLEMENTED | ||
353 | |||
354 | scene.Permissions.OnCreateObjectInventory -= CanCreateObjectInventory; //NOT IMPLEMENTED HERE | ||
355 | scene.Permissions.OnEditObjectInventory -= CanEditObjectInventory;//MAYBE FULLY IMPLEMENTED | ||
356 | scene.Permissions.OnCopyObjectInventory -= CanCopyObjectInventory; //NOT YET IMPLEMENTED | ||
357 | scene.Permissions.OnDeleteObjectInventory -= CanDeleteObjectInventory; //NOT YET IMPLEMENTED | ||
358 | scene.Permissions.OnResetScript -= CanResetScript; | ||
359 | |||
360 | scene.Permissions.OnCreateUserInventory -= CanCreateUserInventory; //NOT YET IMPLEMENTED | ||
361 | scene.Permissions.OnCopyUserInventory -= CanCopyUserInventory; //NOT YET IMPLEMENTED | ||
362 | scene.Permissions.OnEditUserInventory -= CanEditUserInventory; //NOT YET IMPLEMENTED | ||
363 | scene.Permissions.OnDeleteUserInventory -= CanDeleteUserInventory; //NOT YET IMPLEMENTED | ||
364 | |||
365 | scene.Permissions.OnTeleport -= CanTeleport; //NOT YET IMPLEMENTED | ||
366 | scene.Permissions.OnUseObjectReturn -= CanUseObjectReturn; //NOT YET IMPLEMENTED | ||
367 | } | ||
368 | 274 | ||
369 | public void PostInitialise() | 275 | grant = myConfig.GetString("GrantJS", ""); |
370 | { | 276 | if (grant.Length > 0) |
371 | } | 277 | { |
278 | foreach (string uuidl in grant.Split(',')) | ||
279 | { | ||
280 | string uuid = uuidl.Trim(" \t".ToCharArray()); | ||
281 | GrantJS.Add(uuid, true); | ||
282 | } | ||
283 | } | ||
372 | 284 | ||
373 | public void Close() | 285 | grant = myConfig.GetString("GrantYP", ""); |
374 | { | 286 | if (grant.Length > 0) |
375 | } | 287 | { |
288 | foreach (string uuidl in grant.Split(',')) | ||
289 | { | ||
290 | string uuid = uuidl.Trim(" \t".ToCharArray()); | ||
291 | GrantYP.Add(uuid, true); | ||
292 | } | ||
293 | } | ||
376 | 294 | ||
377 | public string Name | ||
378 | { | ||
379 | get { return "PermissionsModule"; } | ||
380 | } | 295 | } |
381 | 296 | ||
382 | public void HandleBypassPermissions(string module, string[] args) | 297 | public void HandleBypassPermissions(string module, string[] args) |
@@ -449,6 +364,31 @@ namespace OpenSim.Region.CoreModules.World.Permissions | |||
449 | m_log.InfoFormat("[PERMISSIONS] Set permissions debugging to {0} in {1}", m_debugPermissions, m_scene.RegionInfo.RegionName); | 364 | m_log.InfoFormat("[PERMISSIONS] Set permissions debugging to {0} in {1}", m_debugPermissions, m_scene.RegionInfo.RegionName); |
450 | } | 365 | } |
451 | } | 366 | } |
367 | |||
368 | public void PostInitialise() | ||
369 | { | ||
370 | m_friendsModule = m_scene.RequestModuleInterface<IFriendsModule>(); | ||
371 | |||
372 | if (m_friendsModule == null) | ||
373 | m_log.Error("[PERMISSIONS]: Friends module not found, friend permissions will not work"); | ||
374 | else | ||
375 | m_log.Info("[PERMISSIONS]: Friends module found, friend permissions enabled"); | ||
376 | } | ||
377 | |||
378 | public void Close() | ||
379 | { | ||
380 | } | ||
381 | |||
382 | public string Name | ||
383 | { | ||
384 | get { return "PermissionsModule"; } | ||
385 | } | ||
386 | |||
387 | public bool IsSharedModule | ||
388 | { | ||
389 | get { return false; } | ||
390 | } | ||
391 | |||
452 | #endregion | 392 | #endregion |
453 | 393 | ||
454 | #region Helper Functions | 394 | #region Helper Functions |
diff --git a/OpenSim/Region/CoreModules/World/Sound/SoundModule.cs b/OpenSim/Region/CoreModules/World/Sound/SoundModule.cs index ed7bfe1..37f1f2e 100644 --- a/OpenSim/Region/CoreModules/World/Sound/SoundModule.cs +++ b/OpenSim/Region/CoreModules/World/Sound/SoundModule.cs | |||
@@ -26,7 +26,6 @@ | |||
26 | */ | 26 | */ |
27 | 27 | ||
28 | using System; | 28 | using System; |
29 | using Mono.Addins; | ||
30 | using Nini.Config; | 29 | using Nini.Config; |
31 | using OpenMetaverse; | 30 | using OpenMetaverse; |
32 | using OpenSim.Framework; | 31 | using OpenSim.Framework; |
@@ -35,44 +34,26 @@ using OpenSim.Region.Framework.Scenes; | |||
35 | 34 | ||
36 | namespace OpenSim.Region.CoreModules.World.Sound | 35 | namespace OpenSim.Region.CoreModules.World.Sound |
37 | { | 36 | { |
38 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 37 | public class SoundModule : IRegionModule, ISoundModule |
39 | public class SoundModule : INonSharedRegionModule, ISoundModule | ||
40 | { | 38 | { |
41 | //private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 39 | //private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
42 | 40 | ||
43 | protected Scene m_scene; | 41 | protected Scene m_scene; |
44 | 42 | ||
45 | public void Initialise(IConfigSource source) | 43 | public void Initialise(Scene scene, IConfigSource source) |
46 | { | ||
47 | } | ||
48 | |||
49 | public void AddRegion(Scene scene) | ||
50 | { | 44 | { |
51 | m_scene = scene; | 45 | m_scene = scene; |
52 | 46 | ||
53 | m_scene.EventManager.OnNewClient += OnNewClient; | 47 | m_scene.EventManager.OnNewClient += OnNewClient; |
54 | 48 | ||
55 | m_scene.RegisterModuleInterface<ISoundModule>(this); | 49 | m_scene.RegisterModuleInterface<ISoundModule>(this); |
56 | } | 50 | } |
57 | |||
58 | public Type ReplaceableInterface | ||
59 | { | ||
60 | get { return null; } | ||
61 | } | ||
62 | |||
63 | public void RegionLoaded(Scene scene) | ||
64 | { | ||
65 | } | ||
66 | |||
67 | public void RemoveRegion(Scene scene) | ||
68 | { | ||
69 | scene.EventManager.OnNewClient -= OnNewClient; | ||
70 | scene.UnregisterModuleInterface<ISoundModule>(this); | ||
71 | } | ||
72 | 51 | ||
52 | public void PostInitialise() {} | ||
73 | public void Close() {} | 53 | public void Close() {} |
74 | public string Name { get { return "Sound Module"; } } | 54 | public string Name { get { return "Sound Module"; } } |
75 | 55 | public bool IsSharedModule { get { return false; } } | |
56 | |||
76 | private void OnNewClient(IClientAPI client) | 57 | private void OnNewClient(IClientAPI client) |
77 | { | 58 | { |
78 | client.OnSoundTrigger += TriggerSound; | 59 | client.OnSoundTrigger += TriggerSound; |
diff --git a/OpenSim/Region/CoreModules/World/Sun/SunModule.cs b/OpenSim/Region/CoreModules/World/Sun/SunModule.cs index 948c47c..0712a7f 100644 --- a/OpenSim/Region/CoreModules/World/Sun/SunModule.cs +++ b/OpenSim/Region/CoreModules/World/Sun/SunModule.cs | |||
@@ -29,7 +29,6 @@ using System; | |||
29 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
30 | using System.Reflection; | 30 | using System.Reflection; |
31 | using log4net; | 31 | using log4net; |
32 | using Mono.Addins; | ||
33 | using Nini.Config; | 32 | using Nini.Config; |
34 | using OpenMetaverse; | 33 | using OpenMetaverse; |
35 | using OpenSim.Framework; | 34 | using OpenSim.Framework; |
@@ -38,7 +37,6 @@ using OpenSim.Region.Framework.Scenes; | |||
38 | 37 | ||
39 | namespace OpenSim.Region.CoreModules | 38 | namespace OpenSim.Region.CoreModules |
40 | { | 39 | { |
41 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | ||
42 | public class SunModule : ISunModule | 40 | public class SunModule : ISunModule |
43 | { | 41 | { |
44 | /// <summary> | 42 | /// <summary> |
@@ -280,12 +278,27 @@ namespace OpenSim.Region.CoreModules | |||
280 | return GetCurrentSunHour() + 6.0f; | 278 | return GetCurrentSunHour() + 6.0f; |
281 | } | 279 | } |
282 | 280 | ||
283 | #region INonSharedRegionModule Methods | 281 | #region IRegion Methods |
284 | 282 | ||
285 | // Called immediately after the module is loaded for a given region | 283 | // Called immediately after the module is loaded for a given region |
286 | // i.e. Immediately after instance creation. | 284 | // i.e. Immediately after instance creation. |
287 | public void Initialise(IConfigSource config) | 285 | public void Initialise(Scene scene, IConfigSource config) |
288 | { | 286 | { |
287 | m_scene = scene; | ||
288 | m_frame = 0; | ||
289 | |||
290 | // This one puts an entry in the main help screen | ||
291 | m_scene.AddCommand(this, String.Empty, "sun", "Usage: sun [param] [value] - Get or Update Sun module paramater", null); | ||
292 | |||
293 | // This one enables the ability to type just "sun" without any parameters | ||
294 | m_scene.AddCommand(this, "sun", "", "", HandleSunConsoleCommand); | ||
295 | foreach (KeyValuePair<string, string> kvp in GetParamList()) | ||
296 | { | ||
297 | m_scene.AddCommand(this, String.Format("sun {0}", kvp.Key), String.Format("{0} - {1}", kvp.Key, kvp.Value), "", HandleSunConsoleCommand); | ||
298 | } | ||
299 | |||
300 | |||
301 | |||
289 | TimeZone local = TimeZone.CurrentTimeZone; | 302 | TimeZone local = TimeZone.CurrentTimeZone; |
290 | TicksUTCOffset = local.GetUtcOffset(local.ToLocalTime(DateTime.Now)).Ticks; | 303 | TicksUTCOffset = local.GetUtcOffset(local.ToLocalTime(DateTime.Now)).Ticks; |
291 | m_log.Debug("[SUN]: localtime offset is " + TicksUTCOffset); | 304 | m_log.Debug("[SUN]: localtime offset is " + TicksUTCOffset); |
@@ -333,43 +346,7 @@ namespace OpenSim.Region.CoreModules | |||
333 | // m_latitude = d_latitude; | 346 | // m_latitude = d_latitude; |
334 | // m_longitude = d_longitude; | 347 | // m_longitude = d_longitude; |
335 | } | 348 | } |
336 | } | ||
337 | |||
338 | public void Close() | ||
339 | { | ||
340 | ready = false; | ||
341 | |||
342 | // Remove our hooks | ||
343 | m_scene.EventManager.OnFrame -= SunUpdate; | ||
344 | m_scene.EventManager.OnAvatarEnteringNewParcel -= AvatarEnteringParcel; | ||
345 | m_scene.EventManager.OnEstateToolsSunUpdate -= EstateToolsSunUpdate; | ||
346 | m_scene.EventManager.OnGetCurrentTimeAsLindenSunHour -= GetCurrentTimeAsLindenSunHour; | ||
347 | } | ||
348 | |||
349 | public string Name | ||
350 | { | ||
351 | get { return "SunModule"; } | ||
352 | } | ||
353 | |||
354 | public Type ReplaceableInterface | ||
355 | { | ||
356 | get { return null; } | ||
357 | } | ||
358 | |||
359 | public void AddRegion(Scene scene) | ||
360 | { | ||
361 | m_scene = scene; | ||
362 | m_frame = 0; | ||
363 | |||
364 | // This one puts an entry in the main help screen | ||
365 | m_scene.AddCommand(this, String.Empty, "sun", "Usage: sun [param] [value] - Get or Update Sun module paramater", null); | ||
366 | 349 | ||
367 | // This one enables the ability to type just "sun" without any parameters | ||
368 | m_scene.AddCommand(this, "sun", "", "", HandleSunConsoleCommand); | ||
369 | foreach (KeyValuePair<string, string> kvp in GetParamList()) | ||
370 | { | ||
371 | m_scene.AddCommand(this, String.Format("sun {0}", kvp.Key), String.Format("{0} - {1}", kvp.Key, kvp.Value), "", HandleSunConsoleCommand); | ||
372 | } | ||
373 | switch (m_RegionMode) | 350 | switch (m_RegionMode) |
374 | { | 351 | { |
375 | case "T1": | 352 | case "T1": |
@@ -377,8 +354,8 @@ namespace OpenSim.Region.CoreModules | |||
377 | case "SL": | 354 | case "SL": |
378 | // Time taken to complete a cycle (day and season) | 355 | // Time taken to complete a cycle (day and season) |
379 | 356 | ||
380 | SecondsPerSunCycle = (uint)(m_DayLengthHours * 60 * 60); | 357 | SecondsPerSunCycle = (uint) (m_DayLengthHours * 60 * 60); |
381 | SecondsPerYear = (uint)(SecondsPerSunCycle * m_YearLengthDays); | 358 | SecondsPerYear = (uint) (SecondsPerSunCycle*m_YearLengthDays); |
382 | 359 | ||
383 | // Ration of real-to-virtual time | 360 | // Ration of real-to-virtual time |
384 | 361 | ||
@@ -387,17 +364,17 @@ namespace OpenSim.Region.CoreModules | |||
387 | // Speed of rotation needed to complete a cycle in the | 364 | // Speed of rotation needed to complete a cycle in the |
388 | // designated period (day and season) | 365 | // designated period (day and season) |
389 | 366 | ||
390 | SunSpeed = m_SunCycle / SecondsPerSunCycle; | 367 | SunSpeed = m_SunCycle/SecondsPerSunCycle; |
391 | SeasonSpeed = m_SeasonalCycle / SecondsPerYear; | 368 | SeasonSpeed = m_SeasonalCycle/SecondsPerYear; |
392 | 369 | ||
393 | // Horizon translation | 370 | // Horizon translation |
394 | 371 | ||
395 | HorizonShift = m_HorizonShift; // Z axis translation | 372 | HorizonShift = m_HorizonShift; // Z axis translation |
396 | // HoursToRadians = (SunCycle/24)*VWTimeRatio; | 373 | // HoursToRadians = (SunCycle/24)*VWTimeRatio; |
397 | 374 | ||
398 | // Insert our event handling hooks | 375 | // Insert our event handling hooks |
399 | 376 | ||
400 | scene.EventManager.OnFrame += SunUpdate; | 377 | scene.EventManager.OnFrame += SunUpdate; |
401 | scene.EventManager.OnAvatarEnteringNewParcel += AvatarEnteringParcel; | 378 | scene.EventManager.OnAvatarEnteringNewParcel += AvatarEnteringParcel; |
402 | scene.EventManager.OnEstateToolsSunUpdate += EstateToolsSunUpdate; | 379 | scene.EventManager.OnEstateToolsSunUpdate += EstateToolsSunUpdate; |
403 | scene.EventManager.OnGetCurrentTimeAsLindenSunHour += GetCurrentTimeAsLindenSunHour; | 380 | scene.EventManager.OnGetCurrentTimeAsLindenSunHour += GetCurrentTimeAsLindenSunHour; |
@@ -414,21 +391,34 @@ namespace OpenSim.Region.CoreModules | |||
414 | } | 391 | } |
415 | 392 | ||
416 | scene.RegisterModuleInterface<ISunModule>(this); | 393 | scene.RegisterModuleInterface<ISunModule>(this); |
394 | |||
417 | } | 395 | } |
418 | 396 | ||
419 | public void RegionLoaded(Scene scene) | 397 | |
398 | public void PostInitialise() | ||
420 | { | 399 | { |
421 | } | 400 | } |
422 | 401 | ||
423 | public void RemoveRegion(Scene scene) | 402 | public void Close() |
424 | { | 403 | { |
425 | scene.RegisterModuleInterface<ISunModule>(this); | 404 | ready = false; |
426 | scene.EventManager.OnFrame -= SunUpdate; | 405 | |
427 | scene.EventManager.OnAvatarEnteringNewParcel -= AvatarEnteringParcel; | 406 | // Remove our hooks |
428 | scene.EventManager.OnEstateToolsSunUpdate -= EstateToolsSunUpdate; | 407 | m_scene.EventManager.OnFrame -= SunUpdate; |
429 | scene.EventManager.OnGetCurrentTimeAsLindenSunHour -= GetCurrentTimeAsLindenSunHour; | 408 | m_scene.EventManager.OnAvatarEnteringNewParcel -= AvatarEnteringParcel; |
409 | m_scene.EventManager.OnEstateToolsSunUpdate -= EstateToolsSunUpdate; | ||
410 | m_scene.EventManager.OnGetCurrentTimeAsLindenSunHour -= GetCurrentTimeAsLindenSunHour; | ||
411 | } | ||
412 | |||
413 | public string Name | ||
414 | { | ||
415 | get { return "SunModule"; } | ||
430 | } | 416 | } |
431 | 417 | ||
418 | public bool IsSharedModule | ||
419 | { | ||
420 | get { return false; } | ||
421 | } | ||
432 | #endregion | 422 | #endregion |
433 | 423 | ||
434 | #region EventManager Events | 424 | #region EventManager Events |
diff --git a/OpenSim/Region/CoreModules/World/Vegetation/VegetationModule.cs b/OpenSim/Region/CoreModules/World/Vegetation/VegetationModule.cs index 0b487ed..c2ad7b8 100644 --- a/OpenSim/Region/CoreModules/World/Vegetation/VegetationModule.cs +++ b/OpenSim/Region/CoreModules/World/Vegetation/VegetationModule.cs | |||
@@ -28,7 +28,6 @@ | |||
28 | using System; | 28 | using System; |
29 | using System.Reflection; | 29 | using System.Reflection; |
30 | using log4net; | 30 | using log4net; |
31 | using Mono.Addins; | ||
32 | using Nini.Config; | 31 | using Nini.Config; |
33 | using OpenMetaverse; | 32 | using OpenMetaverse; |
34 | using OpenSim.Framework; | 33 | using OpenSim.Framework; |
@@ -37,8 +36,7 @@ using OpenSim.Region.Framework.Scenes; | |||
37 | 36 | ||
38 | namespace OpenSim.Region.CoreModules.Avatar.Vegetation | 37 | namespace OpenSim.Region.CoreModules.Avatar.Vegetation |
39 | { | 38 | { |
40 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 39 | public class VegetationModule : IRegionModule, IVegetationModule |
41 | public class VegetationModule : INonSharedRegionModule, IVegetationModule | ||
42 | { | 40 | { |
43 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 41 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
44 | 42 | ||
@@ -47,34 +45,17 @@ namespace OpenSim.Region.CoreModules.Avatar.Vegetation | |||
47 | protected static readonly PCode[] creationCapabilities = new PCode[] { PCode.Grass, PCode.NewTree, PCode.Tree }; | 45 | protected static readonly PCode[] creationCapabilities = new PCode[] { PCode.Grass, PCode.NewTree, PCode.Tree }; |
48 | public PCode[] CreationCapabilities { get { return creationCapabilities; } } | 46 | public PCode[] CreationCapabilities { get { return creationCapabilities; } } |
49 | 47 | ||
50 | public void Initialise(IConfigSource source) | 48 | public void Initialise(Scene scene, IConfigSource source) |
51 | { | ||
52 | } | ||
53 | |||
54 | public void AddRegion(Scene scene) | ||
55 | { | 49 | { |
56 | m_scene = scene; | 50 | m_scene = scene; |
57 | m_scene.RegisterModuleInterface<IVegetationModule>(this); | 51 | m_scene.RegisterModuleInterface<IVegetationModule>(this); |
58 | } | 52 | } |
59 | |||
60 | public Type ReplaceableInterface | ||
61 | { | ||
62 | get { return null; } | ||
63 | } | ||
64 | |||
65 | public void RegionLoaded(Scene scene) | ||
66 | { | ||
67 | } | ||
68 | |||
69 | public void RemoveRegion(Scene scene) | ||
70 | { | ||
71 | scene.UnregisterModuleInterface<IVegetationModule>(this); | ||
72 | } | ||
73 | 53 | ||
74 | public void PostInitialise() {} | 54 | public void PostInitialise() {} |
75 | public void Close() {} | 55 | public void Close() {} |
76 | public string Name { get { return "Vegetation Module"; } } | 56 | public string Name { get { return "Vegetation Module"; } } |
77 | 57 | public bool IsSharedModule { get { return false; } } | |
58 | |||
78 | public SceneObjectGroup AddTree( | 59 | public SceneObjectGroup AddTree( |
79 | UUID uuid, UUID groupID, Vector3 scale, Quaternion rotation, Vector3 position, Tree treeType, bool newTree) | 60 | UUID uuid, UUID groupID, Vector3 scale, Quaternion rotation, Vector3 position, Tree treeType, bool newTree) |
80 | { | 61 | { |
diff --git a/OpenSim/Region/CoreModules/World/Wind/WindModule.cs b/OpenSim/Region/CoreModules/World/Wind/WindModule.cs index cd3706d..3283c1f 100644 --- a/OpenSim/Region/CoreModules/World/Wind/WindModule.cs +++ b/OpenSim/Region/CoreModules/World/Wind/WindModule.cs | |||
@@ -55,19 +55,17 @@ namespace OpenSim.Region.CoreModules | |||
55 | 55 | ||
56 | private IWindModelPlugin m_activeWindPlugin = null; | 56 | private IWindModelPlugin m_activeWindPlugin = null; |
57 | private const string m_dWindPluginName = "SimpleRandomWind"; | 57 | private const string m_dWindPluginName = "SimpleRandomWind"; |
58 | private string m_desiredWindPlugin = "SimpleRandomWind"; | ||
59 | private Dictionary<string, IWindModelPlugin> m_availableWindPlugins = new Dictionary<string, IWindModelPlugin>(); | 58 | private Dictionary<string, IWindModelPlugin> m_availableWindPlugins = new Dictionary<string, IWindModelPlugin>(); |
60 | 59 | ||
61 | // Simplified windSpeeds based on the fact that the client protocal tracks at a resolution of 16m | 60 | // Simplified windSpeeds based on the fact that the client protocal tracks at a resolution of 16m |
62 | private Vector2[] windSpeeds = new Vector2[16 * 16]; | 61 | private Vector2[] windSpeeds = new Vector2[16 * 16]; |
63 | private IConfig windConfig; | ||
64 | 62 | ||
65 | #region IRegion Methods | 63 | #region IRegion Methods |
66 | 64 | ||
67 | public void Initialise(IConfigSource config) | 65 | public void Initialise(Scene scene, IConfigSource config) |
68 | { | 66 | { |
69 | windConfig = config.Configs["Wind"]; | 67 | IConfig windConfig = config.Configs["Wind"]; |
70 | m_desiredWindPlugin = m_dWindPluginName; | 68 | string desiredWindPlugin = m_dWindPluginName; |
71 | 69 | ||
72 | if (windConfig != null) | 70 | if (windConfig != null) |
73 | { | 71 | { |
@@ -78,18 +76,10 @@ namespace OpenSim.Region.CoreModules | |||
78 | // Determine which wind model plugin is desired | 76 | // Determine which wind model plugin is desired |
79 | if (windConfig.Contains("wind_plugin")) | 77 | if (windConfig.Contains("wind_plugin")) |
80 | { | 78 | { |
81 | m_desiredWindPlugin = windConfig.GetString("wind_plugin"); | 79 | desiredWindPlugin = windConfig.GetString("wind_plugin"); |
82 | } | 80 | } |
83 | } | 81 | } |
84 | } | ||
85 | |||
86 | public Type ReplaceableInterface | ||
87 | { | ||
88 | get { return null; } | ||
89 | } | ||
90 | 82 | ||
91 | public void AddRegion(Scene scene) | ||
92 | { | ||
93 | if (m_enabled) | 83 | if (m_enabled) |
94 | { | 84 | { |
95 | m_log.InfoFormat("[WIND] Enabled with an update rate of {0} frames.", m_frameUpdateRate); | 85 | m_log.InfoFormat("[WIND] Enabled with an update rate of {0} frames.", m_frameUpdateRate); |
@@ -105,30 +95,30 @@ namespace OpenSim.Region.CoreModules | |||
105 | } | 95 | } |
106 | 96 | ||
107 | // Check for desired plugin | 97 | // Check for desired plugin |
108 | if (m_availableWindPlugins.ContainsKey(m_desiredWindPlugin)) | 98 | if (m_availableWindPlugins.ContainsKey(desiredWindPlugin)) |
109 | { | 99 | { |
110 | m_activeWindPlugin = m_availableWindPlugins[m_desiredWindPlugin]; | 100 | m_activeWindPlugin = m_availableWindPlugins[desiredWindPlugin]; |
111 | 101 | ||
112 | m_log.InfoFormat("[WIND] {0} plugin found, initializing.", m_desiredWindPlugin); | 102 | m_log.InfoFormat("[WIND] {0} plugin found, initializing.", desiredWindPlugin); |
113 | 103 | ||
114 | if (windConfig != null) | 104 | if (windConfig != null) |
115 | { | 105 | { |
116 | m_activeWindPlugin.Initialise(); | 106 | m_activeWindPlugin.Initialise(); |
117 | m_activeWindPlugin.WindConfig(m_scene, windConfig); | 107 | m_activeWindPlugin.WindConfig(m_scene, windConfig); |
118 | } | 108 | } |
119 | } | 109 | } |
120 | 110 | ||
121 | 111 | ||
122 | // if the plug-in wasn't found, default to no wind. | 112 | // if the plug-in wasn't found, default to no wind. |
123 | if (m_activeWindPlugin == null) | 113 | if (m_activeWindPlugin == null) |
124 | { | 114 | { |
125 | m_log.ErrorFormat("[WIND] Could not find specified wind plug-in: {0}", m_desiredWindPlugin); | 115 | m_log.ErrorFormat("[WIND] Could not find specified wind plug-in: {0}", desiredWindPlugin); |
126 | m_log.ErrorFormat("[WIND] Defaulting to no wind."); | 116 | m_log.ErrorFormat("[WIND] Defaulting to no wind."); |
127 | } | 117 | } |
128 | 118 | ||
129 | // This one puts an entry in the main help screen | 119 | // This one puts an entry in the main help screen |
130 | m_scene.AddCommand(this, String.Empty, "wind", "Usage: wind <plugin> <param> [value] - Get or Update Wind paramaters", null); | 120 | m_scene.AddCommand(this, String.Empty, "wind", "Usage: wind <plugin> <param> [value] - Get or Update Wind paramaters", null); |
131 | 121 | ||
132 | // This one enables the ability to type just the base command without any parameters | 122 | // This one enables the ability to type just the base command without any parameters |
133 | m_scene.AddCommand(this, "wind", "", "", HandleConsoleCommand); | 123 | m_scene.AddCommand(this, "wind", "", "", HandleConsoleCommand); |
134 | 124 | ||
@@ -137,7 +127,7 @@ namespace OpenSim.Region.CoreModules | |||
137 | { | 127 | { |
138 | m_scene.AddCommand(this, String.Format("wind base wind_plugin {0}", windPlugin.Name), String.Format("{0} - {1}", windPlugin.Name, windPlugin.Description), "", HandleConsoleBaseCommand); | 128 | m_scene.AddCommand(this, String.Format("wind base wind_plugin {0}", windPlugin.Name), String.Format("{0} - {1}", windPlugin.Name, windPlugin.Description), "", HandleConsoleBaseCommand); |
139 | m_scene.AddCommand(this, String.Format("wind base wind_update_rate"), "Change the wind update rate.", "", HandleConsoleBaseCommand); | 129 | m_scene.AddCommand(this, String.Format("wind base wind_update_rate"), "Change the wind update rate.", "", HandleConsoleBaseCommand); |
140 | 130 | ||
141 | foreach (KeyValuePair<string, string> kvp in windPlugin.WindParams()) | 131 | foreach (KeyValuePair<string, string> kvp in windPlugin.WindParams()) |
142 | { | 132 | { |
143 | m_scene.AddCommand(this, String.Format("wind {0} {1}", windPlugin.Name, kvp.Key), String.Format("{0} : {1} - {2}", windPlugin.Name, kvp.Key, kvp.Value), "", HandleConsoleParamCommand); | 133 | m_scene.AddCommand(this, String.Format("wind {0} {1}", windPlugin.Name, kvp.Key), String.Format("{0} : {1} - {2}", windPlugin.Name, kvp.Key, kvp.Value), "", HandleConsoleParamCommand); |
@@ -159,17 +149,11 @@ namespace OpenSim.Region.CoreModules | |||
159 | m_ready = true; | 149 | m_ready = true; |
160 | 150 | ||
161 | } | 151 | } |
162 | } | ||
163 | 152 | ||
164 | public void RegionLoaded(Scene scene) | ||
165 | { | ||
166 | } | 153 | } |
167 | 154 | ||
168 | public void RemoveRegion(Scene scene) | 155 | public void PostInitialise() |
169 | { | 156 | { |
170 | scene.EventManager.OnFrame -= WindUpdate; | ||
171 | scene.EventManager.OnMakeRootAgent -= OnAgentEnteredRegion; | ||
172 | scene.UnregisterModuleInterface<IWindModule>(this); | ||
173 | } | 157 | } |
174 | 158 | ||
175 | public void Close() | 159 | public void Close() |
@@ -198,6 +182,11 @@ namespace OpenSim.Region.CoreModules | |||
198 | get { return "WindModule"; } | 182 | get { return "WindModule"; } |
199 | } | 183 | } |
200 | 184 | ||
185 | public bool IsSharedModule | ||
186 | { | ||
187 | get { return false; } | ||
188 | } | ||
189 | |||
201 | 190 | ||
202 | #endregion | 191 | #endregion |
203 | 192 | ||
diff --git a/OpenSim/Region/CoreModules/World/WorldMap/MapImageModule.cs b/OpenSim/Region/CoreModules/World/WorldMap/MapImageModule.cs index 6bda1e9..285d36a 100644 --- a/OpenSim/Region/CoreModules/World/WorldMap/MapImageModule.cs +++ b/OpenSim/Region/CoreModules/World/WorldMap/MapImageModule.cs | |||
@@ -30,7 +30,6 @@ using System.Collections.Generic; | |||
30 | using System.Drawing; | 30 | using System.Drawing; |
31 | using System.Reflection; | 31 | using System.Reflection; |
32 | using log4net; | 32 | using log4net; |
33 | using Mono.Addins; | ||
34 | using Nini.Config; | 33 | using Nini.Config; |
35 | using OpenMetaverse; | 34 | using OpenMetaverse; |
36 | using OpenMetaverse.Imaging; | 35 | using OpenMetaverse.Imaging; |
@@ -60,8 +59,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap | |||
60 | public face[] trns; | 59 | public face[] trns; |
61 | } | 60 | } |
62 | 61 | ||
63 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 62 | public class MapImageModule : IMapImageGenerator, IRegionModule |
64 | public class MapImageModule : IMapImageGenerator, INonSharedRegionModule | ||
65 | { | 63 | { |
66 | private static readonly ILog m_log = | 64 | private static readonly ILog m_log = |
67 | LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 65 | LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
@@ -130,38 +128,25 @@ namespace OpenSim.Region.CoreModules.World.WorldMap | |||
130 | 128 | ||
131 | #endregion | 129 | #endregion |
132 | 130 | ||
133 | #region INonSharedRegionModule Members | 131 | #region IRegionModule Members |
134 | 132 | ||
135 | public void Initialise(IConfigSource source) | 133 | public void Initialise(Scene scene, IConfigSource source) |
136 | { | 134 | { |
135 | m_scene = scene; | ||
137 | m_config = source; | 136 | m_config = source; |
138 | 137 | ||
139 | IConfig startupConfig = m_config.Configs["Startup"]; | 138 | IConfig startupConfig = m_config.Configs["Startup"]; |
140 | if (startupConfig.GetString("MapImageModule", "MapImageModule") != | 139 | if (startupConfig.GetString("MapImageModule", "MapImageModule") != |
141 | "MapImageModule") | 140 | "MapImageModule") |
142 | return; | 141 | return; |
143 | } | ||
144 | 142 | ||
145 | public void AddRegion(Scene scene) | ||
146 | { | ||
147 | m_scene = scene; | ||
148 | m_scene.RegisterModuleInterface<IMapImageGenerator>(this); | 143 | m_scene.RegisterModuleInterface<IMapImageGenerator>(this); |
149 | } | 144 | } |
150 | 145 | ||
151 | public Type ReplaceableInterface | 146 | public void PostInitialise() |
152 | { | ||
153 | get { return null; } | ||
154 | } | ||
155 | |||
156 | public void RegionLoaded(Scene scene) | ||
157 | { | 147 | { |
158 | } | 148 | } |
159 | 149 | ||
160 | public void RemoveRegion(Scene scene) | ||
161 | { | ||
162 | scene.UnregisterModuleInterface<IMapImageGenerator>(this); | ||
163 | } | ||
164 | |||
165 | public void Close() | 150 | public void Close() |
166 | { | 151 | { |
167 | } | 152 | } |
@@ -171,6 +156,11 @@ namespace OpenSim.Region.CoreModules.World.WorldMap | |||
171 | get { return "MapImageModule"; } | 156 | get { return "MapImageModule"; } |
172 | } | 157 | } |
173 | 158 | ||
159 | public bool IsSharedModule | ||
160 | { | ||
161 | get { return false; } | ||
162 | } | ||
163 | |||
174 | #endregion | 164 | #endregion |
175 | 165 | ||
176 | // TODO: unused: | 166 | // TODO: unused: |
diff --git a/OpenSim/Region/CoreModules/World/WorldMap/MapSearchModule.cs b/OpenSim/Region/CoreModules/World/WorldMap/MapSearchModule.cs index dd33673..be46fa5 100644 --- a/OpenSim/Region/CoreModules/World/WorldMap/MapSearchModule.cs +++ b/OpenSim/Region/CoreModules/World/WorldMap/MapSearchModule.cs | |||
@@ -24,12 +24,9 @@ | |||
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
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 | |||
28 | using System; | ||
29 | using System.Collections.Generic; | 27 | using System.Collections.Generic; |
30 | using System.Reflection; | 28 | using System.Reflection; |
31 | using log4net; | 29 | using log4net; |
32 | using Mono.Addins; | ||
33 | using Nini.Config; | 30 | using Nini.Config; |
34 | using OpenMetaverse; | 31 | using OpenMetaverse; |
35 | using OpenSim.Framework; | 32 | using OpenSim.Framework; |
@@ -41,8 +38,7 @@ using GridRegion = OpenSim.Services.Interfaces.GridRegion; | |||
41 | 38 | ||
42 | namespace OpenSim.Region.CoreModules.World.WorldMap | 39 | namespace OpenSim.Region.CoreModules.World.WorldMap |
43 | { | 40 | { |
44 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 41 | public class MapSearchModule : IRegionModule |
45 | public class MapSearchModule : ISharedRegionModule | ||
46 | { | 42 | { |
47 | private static readonly ILog m_log = | 43 | private static readonly ILog m_log = |
48 | LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 44 | LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
@@ -50,12 +46,8 @@ namespace OpenSim.Region.CoreModules.World.WorldMap | |||
50 | Scene m_scene = null; // only need one for communication with GridService | 46 | Scene m_scene = null; // only need one for communication with GridService |
51 | List<Scene> m_scenes = new List<Scene>(); | 47 | List<Scene> m_scenes = new List<Scene>(); |
52 | 48 | ||
53 | #region ISharedRegionModule Members | 49 | #region IRegionModule Members |
54 | public void Initialise(IConfigSource source) | 50 | public void Initialise(Scene scene, IConfigSource source) |
55 | { | ||
56 | } | ||
57 | |||
58 | public void AddRegion(Scene scene) | ||
59 | { | 51 | { |
60 | if (m_scene == null) | 52 | if (m_scene == null) |
61 | { | 53 | { |
@@ -66,22 +58,6 @@ namespace OpenSim.Region.CoreModules.World.WorldMap | |||
66 | scene.EventManager.OnNewClient += OnNewClient; | 58 | scene.EventManager.OnNewClient += OnNewClient; |
67 | } | 59 | } |
68 | 60 | ||
69 | public Type ReplaceableInterface | ||
70 | { | ||
71 | get { return null; } | ||
72 | } | ||
73 | |||
74 | public void RegionLoaded(Scene scene) | ||
75 | { | ||
76 | } | ||
77 | |||
78 | public void RemoveRegion(Scene scene) | ||
79 | { | ||
80 | if(m_scenes.Contains(scene)) | ||
81 | m_scenes.Remove(scene); | ||
82 | scene.EventManager.OnNewClient -= OnNewClient; | ||
83 | } | ||
84 | |||
85 | public void PostInitialise() | 61 | public void PostInitialise() |
86 | { | 62 | { |
87 | } | 63 | } |
@@ -97,6 +73,11 @@ namespace OpenSim.Region.CoreModules.World.WorldMap | |||
97 | get { return "MapSearchModule"; } | 73 | get { return "MapSearchModule"; } |
98 | } | 74 | } |
99 | 75 | ||
76 | public bool IsSharedModule | ||
77 | { | ||
78 | get { return true; } | ||
79 | } | ||
80 | |||
100 | #endregion | 81 | #endregion |
101 | 82 | ||
102 | private void OnNewClient(IClientAPI client) | 83 | private void OnNewClient(IClientAPI client) |