diff options
author | onefang | 2019-09-11 16:36:50 +1000 |
---|---|---|
committer | onefang | 2019-09-11 16:36:50 +1000 |
commit | 50cd1ffd32f69228e566f2b0b89f86ea0d9fe489 (patch) | |
tree | 52f2ab0c04f1a5d7d6ac5dc872981b4b156447e7 /OpenSim/Region/CoreModules/ServiceConnectorsOut/MuteList/RemoteMuteListServiceConnector.cs | |
parent | Renamed branch to SledjChisl. (diff) | |
parent | Bump to release flavour, build 0. (diff) | |
download | opensim-SC_OLD-50cd1ffd32f69228e566f2b0b89f86ea0d9fe489.zip opensim-SC_OLD-50cd1ffd32f69228e566f2b0b89f86ea0d9fe489.tar.gz opensim-SC_OLD-50cd1ffd32f69228e566f2b0b89f86ea0d9fe489.tar.bz2 opensim-SC_OLD-50cd1ffd32f69228e566f2b0b89f86ea0d9fe489.tar.xz |
Merge branch 'SledjChisl'
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/CoreModules/ServiceConnectorsOut/MuteList/RemoteMuteListServiceConnector.cs (renamed from OpenSim/Region/ClientStack/Linden/Caps/GetDisplayNamesModule.cs) | 141 |
1 files changed, 70 insertions, 71 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/GetDisplayNamesModule.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/MuteList/RemoteMuteListServiceConnector.cs index 6617bbc..a5dec64 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/GetDisplayNamesModule.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/MuteList/RemoteMuteListServiceConnector.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 | * |
@@ -24,121 +24,120 @@ | |||
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; | 27 | using System; |
29 | using System.Collections; | 28 | using System.Collections.Generic; |
30 | using System.Collections.Specialized; | ||
31 | using System.Drawing; | ||
32 | using System.Drawing.Imaging; | ||
33 | using System.Reflection; | 29 | using System.Reflection; |
34 | using System.IO; | ||
35 | using System.Web; | ||
36 | using log4net; | ||
37 | using Nini.Config; | ||
38 | using Mono.Addins; | ||
39 | using OpenMetaverse; | ||
40 | using OpenMetaverse.StructuredData; | ||
41 | using OpenMetaverse.Imaging; | ||
42 | using OpenSim.Framework; | 30 | using OpenSim.Framework; |
43 | using OpenSim.Framework.Servers; | ||
44 | using OpenSim.Framework.Servers.HttpServer; | ||
45 | using OpenSim.Region.Framework.Interfaces; | 31 | using OpenSim.Region.Framework.Interfaces; |
46 | using OpenSim.Region.Framework.Scenes; | 32 | using OpenSim.Region.Framework.Scenes; |
33 | using OpenSim.Server.Base; | ||
47 | using OpenSim.Services.Interfaces; | 34 | using OpenSim.Services.Interfaces; |
48 | using Caps = OpenSim.Framework.Capabilities.Caps; | 35 | using OpenSim.Services.Connectors; |
49 | using OpenSim.Capabilities.Handlers; | ||
50 | 36 | ||
51 | namespace OpenSim.Region.ClientStack.Linden | 37 | using OpenMetaverse; |
52 | { | 38 | using log4net; |
39 | using Mono.Addins; | ||
40 | using Nini.Config; | ||
53 | 41 | ||
54 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "GetDisplayNamesModule")] | 42 | namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.MuteList |
55 | public class GetDisplayNamesModule : INonSharedRegionModule | 43 | { |
44 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "RemoteMuteListServicesConnector")] | ||
45 | public class RemoteMuteListServicesConnector : ISharedRegionModule, IMuteListService | ||
56 | { | 46 | { |
57 | private static readonly ILog m_log = | 47 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
58 | LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 48 | |
59 | 49 | #region ISharedRegionModule | |
60 | private Scene m_scene; | ||
61 | private IUserManagement m_UserManager; | ||
62 | 50 | ||
63 | private bool m_Enabled = false; | 51 | private bool m_Enabled = false; |
64 | 52 | ||
65 | private string m_URL; | 53 | private IMuteListService m_remoteConnector; |
66 | 54 | ||
67 | #region ISharedRegionModule Members | 55 | public Type ReplaceableInterface |
56 | { | ||
57 | get { return null; } | ||
58 | } | ||
59 | |||
60 | public string Name | ||
61 | { | ||
62 | get { return "RemoteMuteListServicesConnector"; } | ||
63 | } | ||
68 | 64 | ||
69 | public void Initialise(IConfigSource source) | 65 | public void Initialise(IConfigSource source) |
70 | { | 66 | { |
71 | IConfig config = source.Configs["ClientStack.LindenCaps"]; | 67 | // only active for core mute lists module |
72 | if (config == null) | 68 | IConfig moduleConfig = source.Configs["Messaging"]; |
69 | if (moduleConfig == null) | ||
73 | return; | 70 | return; |
74 | 71 | ||
75 | m_URL = config.GetString("Cap_GetDisplayNames", string.Empty); | 72 | if (moduleConfig.GetString("MuteListModule", "None") != "MuteListModuleTst") |
76 | if (m_URL != string.Empty) | 73 | return; |
77 | m_Enabled = true; | 74 | |
75 | moduleConfig = source.Configs["Modules"]; | ||
76 | if (moduleConfig != null) | ||
77 | { | ||
78 | string name = moduleConfig.GetString("MuteListService", ""); | ||
79 | if (name == Name) | ||
80 | { | ||
81 | m_remoteConnector = new MuteListServicesConnector(source); | ||
82 | m_Enabled = true; | ||
83 | } | ||
84 | } | ||
78 | } | 85 | } |
79 | 86 | ||
80 | public void AddRegion(Scene s) | 87 | public void PostInitialise() |
81 | { | 88 | { |
82 | if (!m_Enabled) | 89 | } |
83 | return; | ||
84 | 90 | ||
85 | m_scene = s; | 91 | public void Close() |
92 | { | ||
86 | } | 93 | } |
87 | 94 | ||
88 | public void RemoveRegion(Scene s) | 95 | public void AddRegion(Scene scene) |
89 | { | 96 | { |
90 | if (!m_Enabled) | 97 | if (!m_Enabled) |
91 | return; | 98 | return; |
92 | 99 | ||
93 | m_scene.EventManager.OnRegisterCaps -= RegisterCaps; | 100 | scene.RegisterModuleInterface<IMuteListService>(this); |
94 | m_scene = null; | 101 | m_log.InfoFormat("[MUTELIST CONNECTOR]: Enabled for region {0}", scene.RegionInfo.RegionName); |
95 | } | 102 | } |
96 | 103 | ||
97 | public void RegionLoaded(Scene s) | 104 | public void RemoveRegion(Scene scene) |
98 | { | 105 | { |
99 | if (!m_Enabled) | 106 | if (!m_Enabled) |
100 | return; | 107 | return; |
101 | |||
102 | m_UserManager = m_scene.RequestModuleInterface<IUserManagement>(); | ||
103 | m_scene.EventManager.OnRegisterCaps += RegisterCaps; | ||
104 | } | 108 | } |
105 | 109 | ||
106 | public void PostInitialise() | 110 | public void RegionLoaded(Scene scene) |
107 | { | 111 | { |
112 | if (!m_Enabled) | ||
113 | return; | ||
108 | } | 114 | } |
109 | 115 | ||
110 | public void Close() { } | 116 | #endregion |
111 | |||
112 | public string Name { get { return "GetDisplayNamesModule"; } } | ||
113 | 117 | ||
114 | public Type ReplaceableInterface | 118 | #region IMuteListService |
119 | public Byte[] MuteListRequest(UUID agentID, uint crc) | ||
115 | { | 120 | { |
116 | get { return null; } | 121 | if (!m_Enabled) |
122 | return null; | ||
123 | return m_remoteConnector.MuteListRequest(agentID, crc); | ||
117 | } | 124 | } |
118 | 125 | ||
119 | #endregion | 126 | public bool UpdateMute(MuteData mute) |
120 | |||
121 | public void RegisterCaps(UUID agentID, Caps caps) | ||
122 | { | 127 | { |
123 | UUID capID = UUID.Random(); | 128 | if (!m_Enabled) |
129 | return false; | ||
130 | return m_remoteConnector.UpdateMute(mute); | ||
131 | } | ||
124 | 132 | ||
125 | if (m_URL == "localhost") | 133 | public bool RemoveMute(UUID agentID, UUID muteID, string muteName) |
126 | { | 134 | { |
127 | m_log.DebugFormat("[GET_DISPLAY_NAMES]: /CAPS/agents/{0} in region {1}", capID, m_scene.RegionInfo.RegionName); | 135 | if (!m_Enabled) |
128 | caps.RegisterHandler( | 136 | return false; |
129 | "GetDisplayNames", | 137 | return m_remoteConnector.RemoveMute(agentID, muteID, muteName); |
130 | new GetDisplayNamesHandler("/CAPS/agents" + capID + "/", m_UserManager, "GetDisplayNames", agentID.ToString())); | ||
131 | } | ||
132 | else | ||
133 | { | ||
134 | // m_log.DebugFormat("[GETTEXTURE]: {0} in region {1}", m_URL, m_scene.RegionInfo.RegionName); | ||
135 | IExternalCapsModule handler = m_scene.RequestModuleInterface<IExternalCapsModule>(); | ||
136 | if (handler != null) | ||
137 | handler.RegisterExternalUserCapsHandler(agentID,caps,"GetDisplayNames", m_URL); | ||
138 | else | ||
139 | caps.RegisterHandler("GetDisplayNames", m_URL); | ||
140 | } | ||
141 | } | 138 | } |
142 | 139 | ||
140 | #endregion IMuteListService | ||
141 | |||
143 | } | 142 | } |
144 | } | 143 | } |