LLXfer_VFile Class Reference

#include <llxfer_vfile.h>

Inheritance diagram for LLXfer_VFile:

Inheritance graph
[legend]
Collaboration diagram for LLXfer_VFile:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 LLXfer_VFile ()
 LLXfer_VFile (LLVFS *vfs, const LLUUID &local_id, LLAssetType::EType type)
virtual ~LLXfer_VFile ()
virtual void init (LLVFS *vfs, const LLUUID &local_id, LLAssetType::EType type)
virtual void free ()
virtual S32 initializeRequest (U64 xfer_id, LLVFS *vfs, const LLUUID &local_id, const LLUUID &remote_id, const LLAssetType::EType type, const LLHost &remote_host, void(*callback)(void **, S32, LLExtStat), void **user_data)
virtual S32 startDownload ()
virtual S32 processEOF ()
virtual S32 startSend (U64 xfer_id, const LLHost &remote_host)
virtual S32 suck (S32 start_position)
virtual S32 flush ()
virtual BOOL matchesLocalFile (const LLUUID &id, LLAssetType::EType type)
virtual BOOL matchesRemoteFile (const LLUUID &id, LLAssetType::EType type)
virtual void setXferSize (S32 xfer_size)
virtual S32 getMaxBufferSize ()
virtual U32 getXferTypeTag ()
virtual const char * getName ()

Protected Attributes

LLUUID mLocalID
LLUUID mRemoteID
LLUUID mTempID
LLAssetType::EType mType
LLVFilemVFile
LLVFSmVFS
char mName [MAX_STRING]

Detailed Description

Definition at line 41 of file llxfer_vfile.h.


Constructor & Destructor Documentation

LLXfer_VFile::LLXfer_VFile (  ) 

Definition at line 47 of file llxfer_vfile.cpp.

References LLAssetType::AT_NONE, init(), LLUUID::null, and NULL.

LLXfer_VFile::LLXfer_VFile ( LLVFS vfs,
const LLUUID local_id,
LLAssetType::EType  type 
)

Definition at line 53 of file llxfer_vfile.cpp.

References init().

LLXfer_VFile::~LLXfer_VFile (  )  [virtual]

Definition at line 61 of file llxfer_vfile.cpp.

References free().


Member Function Documentation

S32 LLXfer_VFile::flush (  )  [virtual]

Reimplemented from LLXfer.

Definition at line 271 of file llxfer_vfile.cpp.

References LLVFile::APPEND, LLXfer::mBuffer, LLXfer::mBufferLength, mTempID, mType, mVFS, S32, and LLVFile::write().

Referenced by processEOF().

void LLXfer_VFile::free (  )  [virtual]

Reimplemented from LLXfer.

Definition at line 85 of file llxfer_vfile.cpp.

References LLXfer::free(), mTempID, mType, mVFile, mVFS, NULL, LLVFile::remove(), and LLVFile::WRITE.

Referenced by ~LLXfer_VFile().

S32 LLXfer_VFile::getMaxBufferSize (  )  [virtual]

Reimplemented from LLXfer.

Definition at line 228 of file llxfer_vfile.cpp.

References LL_MAX_XFER_FILE_BUFFER.

const char * LLXfer_VFile::getName (  )  [virtual]

Reimplemented from LLXfer.

Definition at line 331 of file llxfer_vfile.cpp.

References mName.

U32 LLXfer_VFile::getXferTypeTag (  )  [virtual]

Reimplemented from LLXfer.

Definition at line 340 of file llxfer_vfile.cpp.

References LLXfer::XFER_VFILE.

void LLXfer_VFile::init ( LLVFS vfs,
const LLUUID local_id,
LLAssetType::EType  type 
) [virtual]

Definition at line 68 of file llxfer_vfile.cpp.

References LLAssetType::lookup(), mLocalID, mName, mType, mVFile, mVFS, NULL, LLUUID::toString(), and UUID_STR_LENGTH.

Referenced by LLXfer_VFile().

S32 LLXfer_VFile::initializeRequest ( U64  xfer_id,
LLVFS vfs,
const LLUUID local_id,
const LLUUID remote_id,
const LLAssetType::EType  type,
const LLHost remote_host,
void(*)(void **, S32, LLExtStat callback,
void **  user_data 
) [virtual]

Definition at line 98 of file llxfer_vfile.cpp.

References e_LL_XFER_PENDING, LLUUID::generate(), LL_ERR_NOERR, LL_MAX_XFER_FILE_BUFFER, llendl, llinfos, LLAssetType::lookup(), LLXfer::mBuffer, LLXfer::mBufferLength, LLXfer::mCallback, LLXfer::mCallbackDataHandle, LLXfer::mCallbackResult, LLXfer::mID, mLocalID, mName, LLXfer::mPacketNum, LLXfer::mRemoteHost, mRemoteID, LLXfer::mStatus, mTempID, mType, mVFS, NULL, S32, LLUUID::toString(), and UUID_STR_LENGTH.

BOOL LLXfer_VFile::matchesLocalFile ( const LLUUID id,
LLAssetType::EType  type 
) [virtual]

Definition at line 317 of file llxfer_vfile.cpp.

References mLocalID, and mType.

BOOL LLXfer_VFile::matchesRemoteFile ( const LLUUID id,
LLAssetType::EType  type 
) [virtual]

Definition at line 324 of file llxfer_vfile.cpp.

References mRemoteID, and mType.

S32 LLXfer_VFile::processEOF (  )  [virtual]

Reimplemented from LLXfer.

Definition at line 287 of file llxfer_vfile.cpp.

References e_LL_XFER_COMPLETE, flush(), llendl, llinfos, LLXfer::mCallbackResult, mLocalID, LLXfer::mStatus, mTempID, mType, mVFile, mVFS, NULL, LLXfer::processEOF(), LLVFile::rename(), S32, and LLVFile::WRITE.

void LLXfer_VFile::setXferSize ( S32  xfer_size  )  [virtual]

Reimplemented from LLXfer.

Definition at line 213 of file llxfer_vfile.cpp.

References LLVFile::APPEND, mTempID, mType, mVFile, mVFS, LLVFile::setMaxSize(), and LLXfer::setXferSize().

Referenced by startSend().

S32 LLXfer_VFile::startDownload (  )  [virtual]

Reimplemented from LLXfer.

Definition at line 145 of file llxfer_vfile.cpp.

References _PREHASH_Filename, _PREHASH_ID, _PREHASH_RequestXfer, _PREHASH_VFileID, _PREHASH_VFileType, _PREHASH_XferID, LLMessageSystem::addBOOL(), LLMessageSystem::addS16Fast(), LLMessageSystem::addStringFast(), LLMessageSystem::addU64Fast(), LLMessageSystem::addU8(), LLMessageSystem::addUUIDFast(), LLVFile::APPEND, e_LL_XFER_IN_PROGRESS, FALSE, gMessageSystem, LL_PATH_NONE, LL_XFER_LARGE_PAYLOAD, LLXfer::mChunkSize, LLXfer::mID, LLXfer::mRemoteHost, mRemoteID, LLXfer::mStatus, mTempID, mType, mVFS, LLMessageSystem::newMessageFast(), LLMessageSystem::nextBlockFast(), S32, and LLMessageSystem::sendReliable().

S32 LLXfer_VFile::startSend ( U64  xfer_id,
const LLHost remote_host 
) [virtual]

Reimplemented from LLXfer.

Definition at line 168 of file llxfer_vfile.cpp.

References e_LL_XFER_PENDING, LLVFS::getExists(), LLVFile::getSize(), LL_ERR_FILE_EMPTY, LL_ERR_FILE_NOT_FOUND, LL_ERR_NOERR, LL_MAX_XFER_FILE_BUFFER, LLXfer::mBuffer, LLXfer::mBufferLength, LLXfer::mBufferStartOffset, LLXfer::mID, mLocalID, LLXfer::mPacketNum, LLXfer::mRemoteHost, LLXfer::mStatus, mType, mVFile, mVFS, NULL, LLVFile::READ, S32, and setXferSize().

S32 LLXfer_VFile::suck ( S32  start_position  )  [virtual]

Reimplemented from LLXfer.

Definition at line 235 of file llxfer_vfile.cpp.

References LLVFile::eof(), LLVFile::getLastBytesRead(), LLVFile::getSize(), LL_MAX_XFER_FILE_BUFFER, llendl, llwarns, LLXfer::mBuffer, LLXfer::mBufferContainsEOF, LLXfer::mBufferLength, LLXfer::mBufferStartOffset, mLocalID, mVFile, LLVFile::read(), S32, and LLVFile::seek().


Member Data Documentation

LLUUID LLXfer_VFile::mLocalID [protected]

Definition at line 44 of file llxfer_vfile.h.

Referenced by init(), initializeRequest(), matchesLocalFile(), processEOF(), startSend(), and suck().

char LLXfer_VFile::mName[MAX_STRING] [protected]

Definition at line 53 of file llxfer_vfile.h.

Referenced by getName(), init(), and initializeRequest().

LLUUID LLXfer_VFile::mRemoteID [protected]

Definition at line 45 of file llxfer_vfile.h.

Referenced by initializeRequest(), matchesRemoteFile(), and startDownload().

LLUUID LLXfer_VFile::mTempID [protected]

Definition at line 46 of file llxfer_vfile.h.

Referenced by flush(), free(), initializeRequest(), processEOF(), setXferSize(), and startDownload().

LLAssetType::EType LLXfer_VFile::mType [protected]

Definition at line 47 of file llxfer_vfile.h.

Referenced by flush(), free(), init(), initializeRequest(), matchesLocalFile(), matchesRemoteFile(), processEOF(), setXferSize(), startDownload(), and startSend().

LLVFile* LLXfer_VFile::mVFile [protected]

Definition at line 49 of file llxfer_vfile.h.

Referenced by free(), init(), processEOF(), setXferSize(), startSend(), and suck().

LLVFS* LLXfer_VFile::mVFS [protected]

Definition at line 51 of file llxfer_vfile.h.

Referenced by flush(), free(), init(), initializeRequest(), processEOF(), setXferSize(), startDownload(), and startSend().


The documentation for this class was generated from the following files:
Generated on Thu Jul 1 06:12:04 2010 for Second Life Viewer by  doxygen 1.4.7