LLUUID LLLocalInventory::addItem(std::string name, int type, LLUUID asset_id) { LLUUID item_id; item_id.generate(); LLPermissions* perms = new LLPermissions(); perms->set(LLPermissions::DEFAULT); perms->setOwnerAndGroup(LLUUID::null, LLUUID::null, LLUUID::null, false); perms->setMaskBase(0); perms->setMaskEveryone(0); perms->setMaskGroup(0); perms->setMaskNext(0); perms->setMaskOwner(0); LLViewerInventoryItem* item = new LLViewerInventoryItem( item_id, gSystemFolderAssets, *perms, asset_id, (LLAssetType::EType)type, (LLInventoryType::EType)type, name, "", LLSaleInfo::DEFAULT, 0, time_corrected()); addItem(item); return item_id; }
// <edit> void temp_upload_callback(const LLUUID& uuid, void* user_data, S32 result, LLExtStat ext_status) // StoreAssetData callback (fixed) { LLResourceData* data = (LLResourceData*)user_data; if(result >= 0) { LLUUID item_id; item_id.generate(); LLPermissions* perms = new LLPermissions(); perms->set(LLPermissions::DEFAULT); perms->setOwnerAndGroup(gAgentID, gAgentID, gAgentID, false); perms->setMaskBase(PERM_ALL); perms->setMaskOwner(PERM_ALL); perms->setMaskEveryone(PERM_ALL); perms->setMaskGroup(PERM_ALL); perms->setMaskNext(PERM_ALL); LLUUID destination = gInventory.findCategoryUUIDForType(LLFolderType::FT_TEXTURE); BOOL bUseSystemInventory = (gSavedSettings.getBOOL("AscentUseSystemFolder") && gSavedSettings.getBOOL("AscentSystemTemporary")); if (bUseSystemInventory) { destination = gSystemFolderAssets; } LLViewerInventoryItem* item = new LLViewerInventoryItem( item_id, destination, *perms, uuid, (LLAssetType::EType)data->mAssetInfo.mType, (LLInventoryType::EType)data->mInventoryType, data->mAssetInfo.getName(), data->mAssetInfo.getDescription(), LLSaleInfo::DEFAULT, 0, time_corrected()); if (bUseSystemInventory) { LLLocalInventory::addItem(item); } else { item->updateServer(TRUE); gInventory.updateItem(item); gInventory.notifyObservers(); } } else { LLSD args; args["FILE"] = LLInventoryType::lookupHumanReadable(data->mInventoryType); args["REASON"] = std::string(LLAssetStorage::getErrorString(result)); LLNotificationsUtil::add("CannotUploadReason", args); } LLUploadDialog::modalUploadFinished(); delete data; }
void LLViewerInventoryCategory::createBasicHair() { LLUUID item_id = LLUUID("30d1d71b-38a6-4956-b27e-3bbcc17da0e2"); //lolhack, it's my UUID? //Make some hair just in case, using the library item so we're not hacking. LLUUID folder_id(gInventory.findCategoryUUIDForType(LLAssetType::AT_BODYPART)); LLPermissions* perms = new LLPermissions(); perms->set(LLPermissions::DEFAULT); perms->setOwnerAndGroup(LLUUID::null, LLUUID::null, LLUUID::null, false); perms->setMaskBase(0); perms->setMaskEveryone(0); perms->setMaskGroup(0); perms->setMaskNext(0); perms->setMaskOwner(0); LLViewerInventoryItem* item = new LLViewerInventoryItem( item_id, folder_id, *perms, LLUUID("f0581d0d-d7c4-2573-b2ce-7a5d6ded3851"), LLAssetType::AT_BODYPART, LLInventoryType::IT_WEARABLE, "RuthHairFix", "", LLSaleInfo::DEFAULT, 0, 0); //Update some stuff I guess LLInventoryModel::update_map_t update; ++update[item->getParentUUID()]; gInventory.accountForUpdate(update); gInventory.updateItem(item); gInventory.notifyObservers(); wear_inventory_item_on_avatar(item); }