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