#ifndef FS_FILEWRITER_MT_H #define FS_FILEWRITER_MT_H #include "filewriter.h" #include <list> class FileWriterMT : public FileWriter { public: struct BufInfo { BufInfo(int inMaxSize); unsigned char* mData; int mLength; int mSize; bool mFilled; }; static FileWriterMT* GetFileWriter(const std::string& inName, long long inFileSize); static void Finalize(); virtual ~FileWriterMT(); virtual bool Open(); virtual bool Close(); virtual void GetWriteBuffer(unsigned char*& outBuf, int& outLength); virtual bool ReleaseWriteBuffer(int inRemainingLength); virtual void Finish(); virtual bool IsFinished() { return mWriteCompleted; } virtual void HandleAbort(); std::list<BufInfo*>& GetBuffers() { return mBuffers; } bool IsClosed() { return mClosed; } void WriteCompleted() { mWriteCompleted = true; } CRITICAL_SECTION* GetCriticalSection() { return &mCriticalSection; } private : FileWriterMT(const std::string& inName, long long inFileSize); std::list<BufInfo*> mBuffers; bool mClosed; bool mWriteCompleted; CRITICAL_SECTION mCriticalSection; }; #endif
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#3 | 6420 | Frank Compagner |
A number of improvements: - p4fs now supports the global -s (scripted output) option. - p4fs and P4fsV now support the modtime client option. - P4CHARSET is now correctly handled (though no full Unicode support yet). - Increased the maximum command line length for p4fs to the Windows maximum 32768. - Improved error handling. - Fixed a crash when cancelling a sync using the async or multithreaded writers. - P4fsV progressbar now behaves well when passing more than one filespec - P4fsV will now offer the option to overwrite any locally changed (but not checked out) files when it finds these during a sync (cannot clobber ...). - Made the P4fsV error dialog resizeable. - P4fsV Windows layout fixed so it works properly with all Windows style setings. - Ooh, and prettier icons too. |
||
#2 | 6280 | Frank Compagner | Added support for +w filetype | ||
#1 | 6187 | Frank Compagner | Added p4fs project |