llxfer_file.h

Go to the documentation of this file.
00001 
00032 #ifndef LL_LLXFER_FILE_H
00033 #define LL_LLXFER_FILE_H
00034 
00035 #include "llxfer.h"
00036 #include "lldir.h"
00037 
00038 class LLXfer_File : public LLXfer
00039 {
00040  protected:
00041         FILE *mFp;
00042         char mLocalFilename[LL_MAX_PATH];               /* Flawfinder : ignore */
00043         char mRemoteFilename[LL_MAX_PATH];              /* Flawfinder : ignore */
00044         ELLPath mRemotePath;
00045         char mTempFilename[LL_MAX_PATH];                /* Flawfinder : ignore */
00046 
00047         BOOL mDeleteLocalOnCompletion;
00048         BOOL mDeleteRemoteOnCompletion;
00049 
00050  public:
00051         LLXfer_File (S32 chunk_size);
00052         LLXfer_File (const LLString& local_filename, BOOL delete_local_on_completion, S32 chunk_size);
00053         virtual ~LLXfer_File();
00054 
00055         virtual void init(const LLString& local_filename, BOOL delete_local_on_completion, S32 chunk_size);
00056         virtual void free();
00057 
00058         virtual S32 initializeRequest(U64 xfer_id,
00059                                                                   const LLString& local_filename,
00060                                                                   const LLString& remote_filename,
00061                                                                   ELLPath remote_path,
00062                                                                   const LLHost& remote_host,
00063                                                                   BOOL delete_remote_on_completion,
00064                                                                   void (*callback)(void**,S32,LLExtStat),
00065                                                                   void** user_data);
00066         virtual S32 startDownload();
00067 
00068         virtual S32 processEOF();
00069         
00070         virtual S32 startSend (U64 xfer_id, const LLHost &remote_host);
00071 
00072         virtual S32 suck(S32 start_position);
00073         virtual S32 flush();
00074 
00075         virtual BOOL matchesLocalFilename(const LLString& filename);
00076         virtual BOOL matchesRemoteFilename(const LLString& filename, ELLPath remote_path);
00077 
00078         virtual S32  getMaxBufferSize();
00079 
00080         virtual U32 getXferTypeTag();
00081 
00082         virtual const char *getName();
00083 };
00084 
00085 #endif
00086 
00087 
00088 
00089 
00090 

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