private InventoryItemBase CopyFrom(InventoryItemBase from, UUID newUserID, UUID defaultFolderID)
        {
            InventoryItemBase to = (InventoryItemBase)from.Clone();
            to.Owner = newUserID;
            to.Folder = defaultFolderID;
            to.ID = UUID.Random();

            return to;
        }
        protected void SaveInvItem(InventoryItemBase inventoryItem, string path)
        {
            string filename = path + CreateArchiveItemName(inventoryItem);

            // Record the creator of this item for user record purposes (which might go away soon)
            m_userUuids[inventoryItem.CreatorIdAsUuid] = 1;

            InventoryItemBase saveItem = (InventoryItemBase)inventoryItem.Clone();
            saveItem.CreatorId = OspResolver.MakeOspa(saveItem.CreatorIdAsUuid, m_scene.CommsManager);

            string serialization = UserInventoryItemSerializer.Serialize(saveItem);
            m_archiveWriter.WriteFile(filename, serialization);

            m_assetGatherer.GatherAssetUuids(saveItem.AssetID, (AssetType)saveItem.AssetType, m_assetUuids);
        }
Пример #3
0
        private HttpStatusCode CopyItem(UUID agent_id, InventoryItemBase source_item, InventoryFolderBase destination, string destName)
        {
            // make sourceItem new item
            // make copy
            InventoryItemBase copy = (InventoryItemBase)source_item.Clone();
            copy.ID = UUID.Random();
            copy.Owner = agent_id;
            copy.Name = destName;
            copy.Folder = destination.ID;

            if (m_InventoryService.AddItem(copy))
            {
                return HttpStatusCode.Created;
            }

            else 
            {
                return HttpStatusCode.InternalServerError;
            }
        }