aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/ServiceConnectorsOut/MuteList/RemoteMuteListServiceConnector.cs
diff options
context:
space:
mode:
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
28using System; 27using System;
29using System.Collections; 28using System.Collections.Generic;
30using System.Collections.Specialized;
31using System.Drawing;
32using System.Drawing.Imaging;
33using System.Reflection; 29using System.Reflection;
34using System.IO;
35using System.Web;
36using log4net;
37using Nini.Config;
38using Mono.Addins;
39using OpenMetaverse;
40using OpenMetaverse.StructuredData;
41using OpenMetaverse.Imaging;
42using OpenSim.Framework; 30using OpenSim.Framework;
43using OpenSim.Framework.Servers;
44using OpenSim.Framework.Servers.HttpServer;
45using OpenSim.Region.Framework.Interfaces; 31using OpenSim.Region.Framework.Interfaces;
46using OpenSim.Region.Framework.Scenes; 32using OpenSim.Region.Framework.Scenes;
33using OpenSim.Server.Base;
47using OpenSim.Services.Interfaces; 34using OpenSim.Services.Interfaces;
48using Caps = OpenSim.Framework.Capabilities.Caps; 35using OpenSim.Services.Connectors;
49using OpenSim.Capabilities.Handlers;
50 36
51namespace OpenSim.Region.ClientStack.Linden 37using OpenMetaverse;
52{ 38using log4net;
39using Mono.Addins;
40using Nini.Config;
53 41
54 [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "GetDisplayNamesModule")] 42namespace 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}