Beispiel #1
0
 /// <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);
 }
Beispiel #2
0
        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);
                    }
                }
            }
        }
Beispiel #3
0
        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;
        }