void LLObjectBackup::uploadNextAsset() { if (mTexturesList.empty()) { llinfos << "Texture list is empty, moving to rez stage." << llendl; mCurrentAsset = LLUUID::null; importFirstObject(); return; } updateImportNumbers(); std::list<LLUUID>::iterator iter; iter = mTexturesList.begin(); LLUUID id = *iter; mTexturesList.pop_front(); llinfos << "Got texture ID " << id << ": trying to upload" << llendl; mCurrentAsset = id; std::string struid; id.toString(struid); std::string filename = mFolder + "//" + struid; LLAssetID uuid; LLTransactionID tid; // generate a new transaction ID for this asset tid.generate(); uuid = tid.makeAssetID(gAgent.getSecureSessionID()); S32 file_size; LLAPRFile outfile; outfile.open(filename, LL_APR_RB, LLAPRFile::global, &file_size); if (outfile.getFileHandle()) { const S32 buf_size = 65536; U8 copy_buf[buf_size]; LLVFile file(gVFS, uuid, LLAssetType::AT_TEXTURE, LLVFile::WRITE); file.setMaxSize(file_size); while ((file_size = outfile.read(copy_buf, buf_size))) { file.write(copy_buf, file_size); } outfile.close(); } else { llwarns << "Unable to access output file " << filename << llendl; uploadNextAsset(); return; } myupload_new_resource(tid, LLAssetType::AT_TEXTURE, struid, struid, 0, LLAssetType::AT_TEXTURE, LLInventoryType::defaultForAssetType(LLAssetType::AT_TEXTURE), 0x0, "Uploaded texture", NULL, NULL); }
void primbackup::upload_next_asset() { if(textures.empty()) { llinfos<<" Texture list is empty, moving to rez statge"<< llendl; current_asset=LLUUID::null; import_object1a(); return; } this->updateimportnumbers(); std::list<LLUUID>::iterator iter; iter=textures.begin(); LLUUID id=(*iter); textures.pop_front(); llinfos<<"Got texture ID "<<id<< "trying to upload"<<llendl; current_asset=id; std::string struid; id.toString(struid); std::string filename=folder+"//"+struid; LLAssetID uuid; LLTransactionID tid; // gen a new transaction ID for this asset tid.generate(); uuid = tid.makeAssetID(gAgent.getSecureSessionID()); /* S32 file_size; apr_file_t* fp = ll_apr_file_open(filename, LL_APR_RB, &file_size); if (fp) { const S32 buf_size = 65536; U8 copy_buf[buf_size]; LLVFile file(gVFS, uuid, LLAssetType::AT_TEXTURE, LLVFile::WRITE); file.setMaxSize(file_size); while ((file_size = ll_apr_file_read(fp, copy_buf, buf_size))) { file.write(copy_buf, file_size); } apr_file_close(fp); } else { llwarns<<"Unable to access output file "<<filename<<llendl; upload_next_asset(); return; }*/ myupload_new_resource( tid, LLAssetType::AT_TEXTURE, struid, struid, 0, LLAssetType::AT_TEXTURE, LLInventoryType::defaultForAssetType(LLAssetType::AT_TEXTURE), 0x0, "Uploaded texture", NULL, NULL); return; }