// static LLAssetType::EType LLWearableType::getAssetType(LLWearableType::EType type) { const LLWearableDictionary *dict = LLWearableDictionary::getInstance(); const WearableEntry *entry = dict->lookup(type); if (!entry) return getAssetType(WT_INVALID); return entry->mAssetType; }
void LLWearable::saveNewAsset() { // llinfos << "LLWearable::saveNewAsset() type: " << getTypeName() << llendl; //llinfos << *this << llendl; std::string new_asset_id_string; mAssetID.toString(new_asset_id_string); std::string filename; filename = gDirUtilp->getExpandedFilename(LL_PATH_CACHE,new_asset_id_string) + ".wbl"; LLFILE* fp = LLFile::fopen(filename, "wb"); /* Flawfinder: ignore */ BOOL successful_save = FALSE; if(fp && exportFile(fp)) { successful_save = TRUE; } if(fp) { fclose(fp); fp = NULL; } if(!successful_save) { std::string buffer = llformat("Unable to save '%s' to wearable file.", mName.c_str()); llwarns << buffer << llendl; LLStringUtil::format_map_t args; args["[NAME]"] = mName; gViewerWindow->alertXml("CannotSaveWearableOutOfSpace", args); return; } // save it out to database if( gAssetStorage ) { /* std::string url = gAgent.getRegion()->getCapability("NewAgentInventory"); if (!url.empty()) { llinfos << "Update Agent Inventory via capability" << llendl; LLSD body; body["folder_id"] = gInventory.findCategoryUUIDForType(getAssetType()); body["asset_type"] = LLAssetType::lookup(getAssetType()); body["inventory_type"] = LLInventoryType::lookup(LLInventoryType::IT_WEARABLE); body["name"] = getName(); body["description"] = getDescription(); LLHTTPClient::post(url, body, new LLNewAgentInventoryResponder(body, filename)); } else { } */ LLWearableSaveData* data = new LLWearableSaveData; data->mType = mType; gAssetStorage->storeAssetData(filename, mTransactionID, getAssetType(), &LLWearable::onSaveNewAssetComplete, (void*)data); } }
FinancialAsset buildFinancialAsset(char *line) { char **split = splitLine(line, ";"); FinancialAsset fa; fa.fundType = *split[0]; fa.assetType = getAssetType(split[2]); fa.amount = stringToDouble(split[3]); fa.rate = stringToDouble(split[4]); fa.price = stringToDouble(split[5]); fa.daysUntilValid = stringToInt(split[6]); free(split); return fa; }
void confirmUpload( const std::string& confirmation_url, boost::intrusive_ptr<LLNewAgentInventoryVariablePriceResponder> responder) { if ( getFilename().empty() ) { // we have no filename, use virtual file ID instead LLHTTPClient::postFile( confirmation_url, getVFileID(), getAssetType(), responder); } else { LLHTTPClient::postFile( confirmation_url, getFilename(), responder); } }