OpenMetaverse.InventoryManager.RequestCreateItemFromAsset C# (CSharp) Method

RequestCreateItemFromAsset() public method

public RequestCreateItemFromAsset ( byte data, string name, string description, AssetType assetType, InventoryType invType, UUID folderID, OpenMetaverse.Capabilities.CapsClient progCallback, ItemCreatedFromAssetCallback callback ) : void
data byte
name string
description string
assetType AssetType
invType InventoryType
folderID UUID
progCallback OpenMetaverse.Capabilities.CapsClient
callback ItemCreatedFromAssetCallback
return void
        public void RequestCreateItemFromAsset(byte[] data, string name, string description, AssetType assetType,
            InventoryType invType, UUID folderID, CapsClient.ProgressCallback progCallback, ItemCreatedFromAssetCallback callback)
        {
            if (_Client.Network.CurrentSim == null || _Client.Network.CurrentSim.Caps == null)
                throw new Exception("NewFileAgentInventory capability is not currently available");

            Uri url = _Client.Network.CurrentSim.Caps.CapabilityURI("NewFileAgentInventory");

            if (url != null)
            {
                OSDMap query = new OSDMap();
                query.Add("folder_id", OSD.FromUUID(folderID));
                query.Add("asset_type", OSD.FromString(AssetTypeToString(assetType)));
                query.Add("inventory_type", OSD.FromString(InventoryTypeToString(invType)));
                query.Add("name", OSD.FromString(name));
                query.Add("description", OSD.FromString(description));

                // Make the request
                CapsClient request = new CapsClient(url);
                request.OnComplete += new CapsClient.CompleteCallback(CreateItemFromAssetResponse);
                request.UserData = new object[] { progCallback, callback, data };

                request.StartRequest(query);
            }
            else
            {
                throw new Exception("NewFileAgentInventory capability is not currently available");
            }
        }