diff options
author | Justin Clark-Casey (justincc) | 2012-03-28 02:52:11 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2012-03-28 02:52:11 +0100 |
commit | 514a9fdf8eaa09a286babbfdb4901776963ceb0e (patch) | |
tree | e092828e3bdb5530c9143f3c7824b50dd205bdcc /OpenSim/Region | |
parent | Add "friends show cache <first-name> <last-name>" command for debugging purpo... (diff) | |
parent | Add a corresponding method for items. HG v2 (diff) | |
download | opensim-SC_OLD-514a9fdf8eaa09a286babbfdb4901776963ceb0e.zip opensim-SC_OLD-514a9fdf8eaa09a286babbfdb4901776963ceb0e.tar.gz opensim-SC_OLD-514a9fdf8eaa09a286babbfdb4901776963ceb0e.tar.bz2 opensim-SC_OLD-514a9fdf8eaa09a286babbfdb4901776963ceb0e.tar.xz |
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 79 |
1 files changed, 78 insertions, 1 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 68aae14..0c1d7f2 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,81 @@ 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 SendRemoveInventoryItems(UUID[] items) | ||
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 ItemData = new OSDArray(); | ||
12289 | |||
12290 | foreach (UUID item in items) | ||
12291 | { | ||
12292 | OSDMap ItemDataMap = new OSDMap(2); | ||
12293 | ItemDataMap.Add("ItemID", OSD.FromUUID(item)); | ||
12294 | ItemDataMap.Add("AgentID", OSD.FromUUID(AgentId)); | ||
12295 | |||
12296 | ItemData.Add(ItemDataMap); | ||
12297 | } | ||
12298 | |||
12299 | llsd.Add("ItemData", ItemData); | ||
12300 | |||
12301 | eq.Enqueue(BuildEvent("RemoveInventoryItem", | ||
12302 | llsd), AgentId); | ||
12303 | } | ||
12304 | |||
12305 | public void SendRemoveInventoryFolders(UUID[] folders) | ||
12306 | { | ||
12307 | IEventQueue eq = Scene.RequestModuleInterface<IEventQueue>(); | ||
12308 | |||
12309 | if (eq == null) | ||
12310 | { | ||
12311 | m_log.DebugFormat("[LLCLIENT]: Null event queue"); | ||
12312 | return; | ||
12313 | } | ||
12314 | |||
12315 | OSDMap llsd = new OSDMap(3); | ||
12316 | |||
12317 | OSDMap AgentDataMap = new OSDMap(1); | ||
12318 | AgentDataMap.Add("AgentID", OSD.FromUUID(AgentId)); | ||
12319 | AgentDataMap.Add("SessionID", OSD.FromUUID(SessionId)); | ||
12320 | |||
12321 | OSDArray AgentData = new OSDArray(1); | ||
12322 | AgentData.Add(AgentDataMap); | ||
12323 | |||
12324 | llsd.Add("AgentData", AgentData); | ||
12325 | |||
12326 | OSDArray FolderData = new OSDArray(); | ||
12327 | |||
12328 | foreach (UUID folder in folders) | ||
12329 | { | ||
12330 | OSDMap FolderDataMap = new OSDMap(2); | ||
12331 | FolderDataMap.Add("FolderID", OSD.FromUUID(folder)); | ||
12332 | FolderDataMap.Add("AgentID", OSD.FromUUID(AgentId)); | ||
12333 | |||
12334 | FolderData.Add(FolderDataMap); | ||
12335 | } | ||
12336 | |||
12337 | llsd.Add("FolderData", FolderData); | ||
12338 | |||
12339 | eq.Enqueue(BuildEvent("RemoveInventoryFolder", | ||
12340 | llsd), AgentId); | ||
12341 | } | ||
12265 | } | 12342 | } |
12266 | } | 12343 | } |