/// <summary> /// Remove descendants of a folder /// </summary> /// <param name="folder">The <seealso cref="UUID"/> of the folder</param> public void RemoveDescendants(UUID folder) { PurgeInventoryDescendentsPacket purge = new PurgeInventoryDescendentsPacket(); purge.AgentData.AgentID = _Agents.AgentID; purge.AgentData.SessionID = _Agents.SessionID; purge.InventoryData.FolderID = folder; _Network.SendPacket(purge); }
public void RemoveDescendants(LLUUID folder) { PurgeInventoryDescendentsPacket purge = new PurgeInventoryDescendentsPacket(); purge.AgentData.AgentID = _Client.Self.AgentID; purge.AgentData.SessionID = _Client.Self.SessionID; purge.InventoryData.FolderID = folder; _Client.Network.SendPacket(purge); // Update our local copy lock (_Store) { if (_Store.Contains(folder)) { List<InventoryBase> contents = _Store.GetContents(folder); foreach (InventoryBase obj in contents) { _Store.RemoveNodeFor(obj); } } } }
public bool PurgeFolder(PurgeInventoryDescendentsPacket invPacket) { if (invPacket.AgentData.AgentID.Equals(libOwner)) // Tell grid surfer to forward request to region, because the Library is served from there (!) return false; if (connected) { string uri = InventoryServerURL + "/" + AuthToken + "/PurgeFolder/"; InventoryFolderBase folder = new InventoryFolderBase(); folder.ID = invPacket.InventoryData.FolderID; folder.Owner = invPacket.AgentData.AgentID; OpenSimComms.InventoryFolderOperation(uri, folder, NullCallBack); } // Tell grid surfer not to forward return true; }