diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 41 |
1 files changed, 40 insertions, 1 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 68aae14..7ba9eaf 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -59,7 +59,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
59 | /// Handles new client connections | 59 | /// Handles new client connections |
60 | /// Constructor takes a single Packet and authenticates everything | 60 | /// Constructor takes a single Packet and authenticates everything |
61 | /// </summary> | 61 | /// </summary> |
62 | public class LLClientView : IClientAPI, IClientCore, IClientIM, IClientChat, IClientIPEndpoint, IStatsCollector | 62 | public class LLClientView : IClientAPI, IClientCore, IClientIM, IClientChat, IClientInventory, IClientIPEndpoint, IStatsCollector |
63 | { | 63 | { |
64 | /// <value> | 64 | /// <value> |
65 | /// Debug packet level. See OpenSim.RegisterConsoleCommands() for more details. | 65 | /// Debug packet level. See OpenSim.RegisterConsoleCommands() for more details. |
@@ -448,6 +448,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
448 | // DebugPacketLevel = 1; | 448 | // DebugPacketLevel = 1; |
449 | 449 | ||
450 | RegisterInterface<IClientIM>(this); | 450 | RegisterInterface<IClientIM>(this); |
451 | RegisterInterface<IClientInventory>(this); | ||
451 | RegisterInterface<IClientChat>(this); | 452 | RegisterInterface<IClientChat>(this); |
452 | RegisterInterface<IClientIPEndpoint>(this); | 453 | RegisterInterface<IClientIPEndpoint>(this); |
453 | 454 | ||
@@ -12262,5 +12263,43 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
12262 | if (reply != null) | 12263 | if (reply != null) |
12263 | OutPacket(reply, ThrottleOutPacketType.Task); | 12264 | OutPacket(reply, ThrottleOutPacketType.Task); |
12264 | } | 12265 | } |
12266 | |||
12267 | public void SendRemoveInventoryFolders(UUID[] folders) | ||
12268 | { | ||
12269 | IEventQueue eq = Scene.RequestModuleInterface<IEventQueue>(); | ||
12270 | |||
12271 | if (eq == null) | ||
12272 | { | ||
12273 | m_log.DebugFormat("[LLCLIENT]: Null event queue"); | ||
12274 | return; | ||
12275 | } | ||
12276 | |||
12277 | OSDMap llsd = new OSDMap(3); | ||
12278 | |||
12279 | OSDMap AgentDataMap = new OSDMap(1); | ||
12280 | AgentDataMap.Add("AgentID", OSD.FromUUID(AgentId)); | ||
12281 | AgentDataMap.Add("SessionID", OSD.FromUUID(SessionId)); | ||
12282 | |||
12283 | OSDArray AgentData = new OSDArray(1); | ||
12284 | AgentData.Add(AgentDataMap); | ||
12285 | |||
12286 | llsd.Add("AgentData", AgentData); | ||
12287 | |||
12288 | OSDArray FolderData = new OSDArray(); | ||
12289 | |||
12290 | foreach (UUID folder in folders) | ||
12291 | { | ||
12292 | OSDMap FolderDataMap = new OSDMap(2); | ||
12293 | FolderDataMap.Add("FolderID", OSD.FromUUID(folder)); | ||
12294 | FolderDataMap.Add("AgentID", OSD.FromUUID(AgentId)); | ||
12295 | |||
12296 | FolderData.Add(FolderDataMap); | ||
12297 | } | ||
12298 | |||
12299 | llsd.Add("FolderData", FolderData); | ||
12300 | |||
12301 | eq.Enqueue(BuildEvent("RemoveInventoryFolder", | ||
12302 | llsd), AgentId); | ||
12303 | } | ||
12265 | } | 12304 | } |
12266 | } | 12305 | } |