#include <llvfile.h>
Collaboration diagram for LLVFile:
Public Member Functions | |
LLVFile (LLVFS *vfs, const LLUUID &file_id, const LLAssetType::EType file_type, S32 mode=LLVFile::READ) | |
~LLVFile () | |
BOOL | read (U8 *buffer, S32 bytes, BOOL async=FALSE, F32 priority=128.f) |
void | setReadPriority (const F32 priority) |
BOOL | isReadComplete () |
S32 | getLastBytesRead () |
BOOL | eof () |
BOOL | write (const U8 *buffer, S32 bytes) |
BOOL | seek (S32 offset, S32 origin=-1) |
S32 | tell () const |
S32 | getSize () |
S32 | getMaxSize () |
BOOL | setMaxSize (S32 size) |
BOOL | rename (const LLUUID &new_id, const LLAssetType::EType new_type) |
BOOL | remove () |
bool | isLocked (EVFSLock lock) |
void | waitForLock (EVFSLock lock) |
Static Public Member Functions | |
static U8 * | readFile (LLVFS *vfs, const LLUUID &uuid, LLAssetType::EType type, S32 *bytes_read=0) |
static BOOL | writeFile (const U8 *buffer, S32 bytes, LLVFS *vfs, const LLUUID &uuid, LLAssetType::EType type) |
static void | initClass (LLVFSThread *vfsthread=NULL) |
static void | cleanupClass () |
static LLVFSThread * | getVFSThread () |
Static Public Attributes | |
static const S32 | READ = 0x00000001 |
static const S32 | WRITE = 0x00000002 |
static const S32 | READ_WRITE = 0x00000003 |
static const S32 | APPEND = 0x00000006 |
static BOOL | ALLOW_ASYNC = TRUE |
Protected Member Functions | |
U32 | threadPri () |
Protected Attributes | |
LLAssetType::EType | mFileType |
LLUUID | mFileID |
S32 | mPosition |
S32 | mMode |
LLVFS * | mVFS |
F32 | mPriority |
BOOL | mOnReadQueue |
S32 | mBytesRead |
LLVFSThread::handle_t | mHandle |
Static Protected Attributes | |
static LLVFSThread * | sVFSThread = NULL |
static BOOL | sAllocdVFSThread = FALSE |
Definition at line 40 of file llvfile.h.
LLVFile::LLVFile | ( | LLVFS * | vfs, | |
const LLUUID & | file_id, | |||
const LLAssetType::EType | file_type, | |||
S32 | mode = LLVFile::READ | |||
) |
Definition at line 53 of file llvfile.cpp.
References LLVFS::incLock(), mBytesRead, mFileID, mFileType, mHandle, mMode, mPosition, mPriority, mVFS, LLQueuedThread::nullHandle(), and VFSLOCK_OPEN.
LLVFile::~LLVFile | ( | ) |
Definition at line 69 of file llvfile.cpp.
References LLVFS::decLock(), LLQueuedThread::FLAG_ABORT, LLQueuedThread::FLAG_AUTO_COMPLETE, isReadComplete(), mFileID, mFileType, mHandle, mMode, mVFS, LLQueuedThread::nullHandle(), LLQueuedThread::setFlags(), sVFSThread, VFSLOCK_OPEN, and WRITE.
void LLVFile::cleanupClass | ( | ) | [static] |
Definition at line 412 of file llvfile.cpp.
References NULL, sAllocdVFSThread, and sVFSThread.
Referenced by cleanup_app().
BOOL LLVFile::eof | ( | ) |
Definition at line 194 of file llvfile.cpp.
References getSize(), and mPosition.
Referenced by LLXfer_VFile::suck().
S32 LLVFile::getLastBytesRead | ( | ) |
Definition at line 189 of file llvfile.cpp.
References mBytesRead.
Referenced by LLHTTPAssetStorage::curlUpCallback(), LLAssetStorage::legacyGetDataCallback(), LLLiveLSLEditor::loadScriptText(), LLHTTPAssetRequest::readCompressedData(), readFile(), LLFloaterCompileQueue::scriptArrived(), LLViewerAssetStorage::storeAssetData(), LLXfer_VFile::suck(), and vfs_read().
S32 LLVFile::getMaxSize | ( | ) |
Definition at line 302 of file llvfile.cpp.
References LLVFS::getMaxSize(), mFileID, mFileType, mVFS, S32, and size.
S32 LLVFile::getSize | ( | ) |
Definition at line 294 of file llvfile.cpp.
References LLVFS::getSize(), mFileID, mFileType, mVFS, S32, size, VFSLOCK_APPEND, and waitForLock().
Referenced by LLHTTPAssetStorage::checkForTimeouts(), LLHTTPAssetStorage::curlDownCallback(), LLHTTPAssetStorage::curlUpCallback(), eof(), LLAssetStorage::getEstateAsset(), LLAssetStorage::getInvItemAsset(), LLVorbisDecodeState::initDecode(), LLLiveLSLEditor::loadScriptText(), onCovenantLoadComplete(), LLKeyframeMotion::onInitialize(), LLPreviewLSL::onLoadComplete(), LLPreviewNotecard::onLoadComplete(), LLPreviewGesture::onLoadComplete(), LLKeyframeMotion::onLoadComplete(), LLGestureManager::onLoadComplete(), LLPanelEstateCovenant::onLoadComplete(), LLLandmarkList::processGetAssetReply(), LLHTTPAssetRequest::readCompressedData(), readFile(), LLTransferSourceAsset::responderCallback(), seek(), LLXfer_VFile::startSend(), LLViewerAssetStorage::storeAssetData(), LLXfer_VFile::suck(), and vfs_seek().
static LLVFSThread* LLVFile::getVFSThread | ( | ) | [inline, static] |
void LLVFile::initClass | ( | LLVFSThread * | vfsthread = NULL |
) | [static] |
Definition at line 394 of file llvfile.cpp.
References NULL, sAllocdVFSThread, LLVFSThread::sLocal, sVFSThread, and TRUE.
Referenced by init_cache().
bool LLVFile::isLocked | ( | EVFSLock | lock | ) |
Definition at line 421 of file llvfile.cpp.
References LLVFS::isLocked(), mFileID, mFileType, and mVFS.
Referenced by waitForLock().
BOOL LLVFile::isReadComplete | ( | ) |
Definition at line 167 of file llvfile.cpp.
References LLQueuedThread::completeRequest(), FALSE, LLVFSThread::Request::getBytesRead(), LLQueuedThread::getRequest(), mBytesRead, mHandle, mPosition, LLQueuedThread::nullHandle(), LLQueuedThread::STATUS_COMPLETE, sVFSThread, and TRUE.
Referenced by ~LLVFile().
Definition at line 89 of file llvfile.cpp.
References FALSE, llendl, llwarns, mBytesRead, mFileID, mFileType, mHandle, mMode, mPosition, mPriority, mVFS, LLQueuedThread::nullHandle(), LLVFSThread::read(), READ, LLVFSThread::readImmediate(), sVFSThread, threadPri(), TRUE, VFSLOCK_APPEND, and waitForLock().
Referenced by LLHTTPAssetStorage::curlUpCallback(), LLAssetStorage::legacyGetDataCallback(), LLLiveLSLEditor::loadScriptText(), onCovenantLoadComplete(), LLKeyframeMotion::onInitialize(), LLPreviewLSL::onLoadComplete(), LLPreviewNotecard::onLoadComplete(), LLPreviewGesture::onLoadComplete(), LLKeyframeMotion::onLoadComplete(), LLGestureManager::onLoadComplete(), LLPanelEstateCovenant::onLoadComplete(), LLLandmarkList::processGetAssetReply(), LLHTTPAssetRequest::readCompressedData(), readFile(), LLFloaterCompileQueue::scriptArrived(), LLViewerAssetStorage::storeAssetData(), LLXfer_VFile::suck(), and vfs_read().
U8 * LLVFile::readFile | ( | LLVFS * | vfs, | |
const LLUUID & | uuid, | |||
LLAssetType::EType | type, | |||
S32 * | bytes_read = 0 | |||
) | [static] |
Definition at line 129 of file llvfile.cpp.
References getLastBytesRead(), getSize(), NULL, read(), READ, and S32.
Referenced by LLTexLayerSetBuffer::readBackAndUpload().
BOOL LLVFile::remove | ( | ) |
Definition at line 367 of file llvfile.cpp.
References llendl, llwarns, mFileID, mFileType, mHandle, mMode, mPosition, mVFS, LLQueuedThread::nullHandle(), LLVFS::removeFile(), TRUE, VFSLOCK_APPEND, VFSLOCK_READ, waitForLock(), and WRITE.
Referenced by LLHTTPAssetStorage::checkForTimeouts(), LLVorbisDecodeState::flushBadFile(), LLXfer_VFile::free(), LLAssetStorage::getEstateAsset(), LLAssetStorage::getInvItemAsset(), and LLTexLayerSetBuffer::readBackAndUpload().
BOOL LLVFile::rename | ( | const LLUUID & | new_id, | |
const LLAssetType::EType | new_type | |||
) |
Definition at line 338 of file llvfile.cpp.
References LLVFS::decLock(), FALSE, LLVFS::incLock(), llendl, llwarns, mFileID, mFileType, mHandle, mMode, mVFS, LLQueuedThread::nullHandle(), LLVFS::renameFile(), TRUE, VFSLOCK_APPEND, VFSLOCK_OPEN, VFSLOCK_READ, waitForLock(), and WRITE.
Referenced by LLHTTPAssetStorage::checkForTimeouts(), and LLXfer_VFile::processEOF().
Definition at line 253 of file llvfile.cpp.
References APPEND, FALSE, getSize(), llendl, llwarns, mMode, mPosition, S32, size, and TRUE.
Referenced by LLXfer_VFile::suck(), and vfs_seek().
Definition at line 309 of file llvfile.cpp.
References LLVFS::checkAvailable(), count, FALSE, LLFastTimer::FTM_VFILE_WAIT, LLQueuedThread::getPending(), LLThread::isPaused(), llendl, llinfos, llwarns, mFileID, mFileType, mMode, ms_sleep(), mVFS, S32, LLVFS::setMaxSize(), sVFSThread, t, LLQueuedThread::update(), and WRITE.
Referenced by LLHTTPAssetStorage::curlDownCallback(), LLPreviewNotecard::saveIfNeeded(), LLPreviewGesture::saveIfNeeded(), LLXfer_VFile::setXferSize(), LLViewerAssetStorage::storeAssetData(), LLHTTPAssetStorage::storeAssetData(), upload_new_resource(), and writeFile().
Definition at line 158 of file llvfile.cpp.
References mHandle, mPriority, LLQueuedThread::nullHandle(), LLQueuedThread::setPriority(), sVFSThread, and threadPri().
S32 LLVFile::tell | ( | ) | const |
Definition at line 289 of file llvfile.cpp.
References mPosition.
Referenced by LLHTTPAssetStorage::curlUpCallback(), LLHTTPAssetRequest::readCompressedData(), and vfs_tell().
U32 LLVFile::threadPri | ( | ) | [inline, protected] |
Definition at line 74 of file llvfile.h.
References llmin(), mPriority, and LLQueuedThread::PRIORITY_NORMAL.
Referenced by read(), and setReadPriority().
Definition at line 426 of file llvfile.cpp.
References LLFastTimer::FTM_VFILE_WAIT, isLocked(), LLThread::isPaused(), ms_sleep(), sVFSThread, t, and LLQueuedThread::update().
Referenced by getSize(), read(), remove(), rename(), and write().
Definition at line 199 of file llvfile.cpp.
References APPEND, FALSE, LLQueuedThread::FLAG_AUTO_COMPLETE, LLQueuedThread::FLAG_AUTO_DELETE, llendl, llerrs, llwarns, mFileID, mFileType, mHandle, mMode, mPosition, mVFS, LLQueuedThread::nullHandle(), S32, sVFSThread, TRUE, VFSLOCK_APPEND, VFSLOCK_READ, waitForLock(), LLVFSThread::write(), WRITE, and LLVFSThread::writeImmediate().
Referenced by LLHTTPAssetStorage::curlDownCallback(), LLVorbisDecodeState::finishDecode(), LLXfer_VFile::flush(), LLPreviewNotecard::saveIfNeeded(), LLPreviewGesture::saveIfNeeded(), LLViewerAssetStorage::storeAssetData(), LLHTTPAssetStorage::storeAssetData(), upload_new_resource(), and writeFile().
BOOL LLVFile::writeFile | ( | const U8 * | buffer, | |
S32 | bytes, | |||
LLVFS * | vfs, | |||
const LLUUID & | uuid, | |||
LLAssetType::EType | type | |||
) | [static] |
Definition at line 246 of file llvfile.cpp.
References setMaxSize(), write(), and WRITE.
Referenced by LLFloaterAuction::onClickSnapshot(), LLTexLayerSetBuffer::readBackAndUpload(), LLSnapshotLivePreview::saveTexture(), LLFloaterPostcard::sendPostcard(), and LLFloaterReporter::takeScreenshot().
BOOL LLVFile::ALLOW_ASYNC = TRUE [static] |
const S32 LLVFile::APPEND = 0x00000006 [static] |
Definition at line 80 of file llvfile.h.
Referenced by LLTransferTargetVFile::completionCallback(), LLHTTPAssetStorage::curlDownCallback(), LLTransferTargetVFile::dataCallback(), LLXfer_VFile::flush(), LLFloaterAnimPreview::onBtnOK(), LLPreviewNotecard::saveIfNeeded(), LLPreviewGesture::saveIfNeeded(), seek(), LLXfer_VFile::setXferSize(), LLXfer_VFile::startDownload(), and write().
S32 LLVFile::mBytesRead [protected] |
Definition at line 94 of file llvfile.h.
Referenced by getLastBytesRead(), isReadComplete(), LLVFile(), and read().
LLUUID LLVFile::mFileID [protected] |
Definition at line 87 of file llvfile.h.
Referenced by getMaxSize(), getSize(), isLocked(), LLVFile(), read(), remove(), rename(), setMaxSize(), write(), and ~LLVFile().
LLAssetType::EType LLVFile::mFileType [protected] |
Definition at line 85 of file llvfile.h.
Referenced by getMaxSize(), getSize(), isLocked(), LLVFile(), read(), remove(), rename(), setMaxSize(), write(), and ~LLVFile().
LLVFSThread::handle_t LLVFile::mHandle [protected] |
Definition at line 95 of file llvfile.h.
Referenced by isReadComplete(), LLVFile(), read(), remove(), rename(), setReadPriority(), write(), and ~LLVFile().
S32 LLVFile::mMode [protected] |
Definition at line 89 of file llvfile.h.
Referenced by LLVFile(), read(), remove(), rename(), seek(), setMaxSize(), write(), and ~LLVFile().
BOOL LLVFile::mOnReadQueue [protected] |
S32 LLVFile::mPosition [protected] |
F32 LLVFile::mPriority [protected] |
Definition at line 91 of file llvfile.h.
Referenced by LLVFile(), read(), setReadPriority(), and threadPri().
LLVFS* LLVFile::mVFS [protected] |
Definition at line 90 of file llvfile.h.
Referenced by getMaxSize(), getSize(), isLocked(), LLVFile(), read(), remove(), rename(), setMaxSize(), write(), and ~LLVFile().
const S32 LLVFile::READ = 0x00000001 [static] |
Definition at line 77 of file llvfile.h.
Referenced by LLHTTPAssetStorage::curlUpCallback(), LLTransferSourceAsset::dataCallback(), onCovenantLoadComplete(), LLPreviewNotecard::onLoadComplete(), LLPreviewGesture::onLoadComplete(), LLKeyframeMotion::onLoadComplete(), LLGestureManager::onLoadComplete(), LLPanelEstateCovenant::onLoadComplete(), LLHTTPAssetRequest::prepareCompressedUpload(), read(), readFile(), LLTransferSourceAsset::responderCallback(), LLXfer_VFile::startSend(), and LLViewerAssetStorage::storeAssetData().
const S32 LLVFile::READ_WRITE = 0x00000003 [static] |
BOOL LLVFile::sAllocdVFSThread = FALSE [static, protected] |
LLVFSThread * LLVFile::sVFSThread = NULL [static, protected] |
Definition at line 72 of file llvfile.h.
Referenced by cleanupClass(), getVFSThread(), initClass(), isReadComplete(), read(), setMaxSize(), setReadPriority(), waitForLock(), write(), and ~LLVFile().
const S32 LLVFile::WRITE = 0x00000002 [static] |
Definition at line 78 of file llvfile.h.
Referenced by LLTransferTargetVFile::completionCallback(), LLXfer_VFile::free(), LLXfer_VFile::processEOF(), LLTexLayerSetBuffer::readBackAndUpload(), remove(), rename(), setMaxSize(), LLViewerAssetStorage::storeAssetData(), LLHTTPAssetStorage::storeAssetData(), upload_new_resource(), write(), writeFile(), and ~LLVFile().