1 // WorkDir.h 2 3 #ifndef ZIP7_INC_WORK_DIR_H 4 #define ZIP7_INC_WORK_DIR_H 5 6 #include "../../../Windows/FileDir.h" 7 8 #include "../../Common/FileStreams.h" 9 10 #include "ZipRegistry.h" 11 12 FString GetWorkDir(const NWorkDir::CInfo &workDirInfo, const FString &path, FString &fileName); 13 14 class CWorkDirTempFile MY_UNCOPYABLE 15 { 16 FString _originalPath; 17 NWindows::NFile::NDir::CTempFile _tempFile; 18 COutFileStream *_outStreamSpec; 19 public: 20 CMyComPtr<IOutStream> OutStream; 21 Get_OriginalFilePath()22 const FString &Get_OriginalFilePath() const { return _originalPath; } Get_TempFilePath()23 const FString &Get_TempFilePath() const { return _tempFile.GetPath(); } 24 25 HRESULT CreateTempFile(const FString &originalPath); 26 HRESULT MoveToOriginal(bool deleteOriginal, 27 NWindows::NFile::NDir::ICopyFileProgress *progress = NULL); 28 }; 29 30 #endif 31