48 lines
1.5 KiB
C#
48 lines
1.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading;
|
|
using System.Xml;
|
|
using System.Xml.Serialization;
|
|
using OpenMetaverse;
|
|
|
|
namespace OpenMetaverse.TestClient
|
|
{
|
|
/// <summary>
|
|
/// Inventory Example, Moves a folder to the Trash folder
|
|
/// </summary>
|
|
public class DeleteFolderCommand : Command
|
|
{
|
|
public DeleteFolderCommand(TestClient testClient)
|
|
{
|
|
Name = "deleteFolder";
|
|
Description = "Moves a folder to the Trash Folder";
|
|
Category = CommandCategory.Inventory;
|
|
}
|
|
|
|
public override string Execute(string[] args, UUID fromAgentID)
|
|
{
|
|
// parse the command line
|
|
string target = args.Aggregate(String.Empty, (current, t) => current + t + " ");
|
|
target = target.TrimEnd();
|
|
|
|
// initialize results list
|
|
List<InventoryBase> found = new List<InventoryBase>();
|
|
|
|
// find the folder
|
|
found = Client.Inventory.LocalFind(Client.Inventory.Store.RootFolder.UUID, target.Split('/'), 0, true);
|
|
|
|
if (found.Count.Equals(1))
|
|
{
|
|
// move the folder to the trash folder
|
|
Client.Inventory.MoveFolder(found[0].UUID, Client.Inventory.FindFolderForType(FolderType.Trash));
|
|
|
|
return String.Format("Moved folder {0} to Trash", found[0].Name);
|
|
}
|
|
|
|
return String.Empty;
|
|
}
|
|
}
|
|
} |