llxfer_vfile.h

Go to the documentation of this file.
00001 
00032 #ifndef LL_LLXFER_VFILE_H
00033 #define LL_LLXFER_VFILE_H
00034 
00035 #include "llxfer.h"
00036 #include "llassetstorage.h"
00037 
00038 class LLVFS;
00039 class LLVFile;
00040 
00041 class LLXfer_VFile : public LLXfer
00042 {
00043  protected:
00044         LLUUID mLocalID;
00045         LLUUID mRemoteID;
00046         LLUUID mTempID;
00047         LLAssetType::EType mType;
00048         
00049         LLVFile *mVFile;
00050 
00051         LLVFS *mVFS;
00052 
00053         char mName[MAX_STRING];         /* Flawfinder : ignore */
00054 
00055  public:
00056         LLXfer_VFile ();
00057         LLXfer_VFile (LLVFS *vfs, const LLUUID &local_id, LLAssetType::EType type);
00058         virtual ~LLXfer_VFile();
00059 
00060         virtual void init(LLVFS *vfs, const LLUUID &local_id, LLAssetType::EType type);
00061         virtual void free();
00062 
00063         virtual S32 initializeRequest(U64 xfer_id,
00064                         LLVFS *vfs,
00065                         const LLUUID &local_id,
00066                         const LLUUID &remote_id,
00067                         const LLAssetType::EType type,
00068                         const LLHost &remote_host,
00069                         void (*callback)(void **,S32,LLExtStat),
00070                         void **user_data);
00071         virtual S32 startDownload();
00072 
00073         virtual S32 processEOF();
00074         
00075         virtual S32 startSend (U64 xfer_id, const LLHost &remote_host);
00076 
00077         virtual S32 suck(S32 start_position);
00078         virtual S32 flush();
00079 
00080         virtual BOOL matchesLocalFile(const LLUUID &id, LLAssetType::EType type);
00081         virtual BOOL matchesRemoteFile(const LLUUID &id, LLAssetType::EType type);
00082 
00083         virtual void setXferSize(S32 xfer_size);
00084         virtual S32  getMaxBufferSize();
00085 
00086         virtual U32 getXferTypeTag();
00087 
00088         virtual const char *getName();
00089 };
00090 
00091 #endif
00092 
00093 
00094 
00095 
00096 

Generated on Thu Jul 1 06:09:48 2010 for Second Life Viewer by  doxygen 1.4.7