1 // UpdateProduce.h 2 3 #ifndef __UPDATE_PRODUCE_H 4 #define __UPDATE_PRODUCE_H 5 6 #include "UpdatePair.h" 7 8 struct CUpdatePair2 9 { 10 bool NewData; 11 bool NewProps; 12 bool IsAnti; 13 14 int DirIndex; 15 int ArcIndex; 16 int NewNameIndex; 17 ExistOnDiskCUpdatePair218 bool ExistOnDisk() const { return DirIndex != -1; } ExistInArchiveCUpdatePair219 bool ExistInArchive() const { return ArcIndex != -1; } 20 CUpdatePair2CUpdatePair221 CUpdatePair2(): IsAnti(false), DirIndex(-1), ArcIndex(-1), NewNameIndex(-1) {} 22 }; 23 24 struct IUpdateProduceCallback 25 { 26 virtual HRESULT ShowDeleteFile(int arcIndex) = 0; 27 }; 28 29 void UpdateProduce( 30 const CRecordVector<CUpdatePair> &updatePairs, 31 const NUpdateArchive::CActionSet &actionSet, 32 CRecordVector<CUpdatePair2> &operationChain, 33 IUpdateProduceCallback *callback); 34 35 #endif 36