1 // UpdateAction.h
2 
3 #ifndef __UPDATE_ACTION_H
4 #define __UPDATE_ACTION_H
5 
6 namespace NUpdateArchive {
7 
8   namespace NPairState
9   {
10     const int kNumValues = 7;
11     enum EEnum
12     {
13       kNotMasked = 0,
14       kOnlyInArchive,
15       kOnlyOnDisk,
16       kNewInArchive,
17       kOldInArchive,
18       kSameFiles,
19       kUnknowNewerFiles
20     };
21   }
22 
23   namespace NPairAction
24   {
25     enum EEnum
26     {
27       kIgnore = 0,
28       kCopy,
29       kCompress,
30       kCompressAsAnti
31     };
32   }
33 
34   struct CActionSet
35   {
36     NPairAction::EEnum StateActions[NPairState::kNumValues];
NeedScanningCActionSet37     bool NeedScanning() const
38     {
39       int i;
40       for (i = 0; i < NPairState::kNumValues; i++)
41         if (StateActions[i] == NPairAction::kCompress)
42           return true;
43       for (i = 1; i < NPairState::kNumValues; i++)
44         if (StateActions[i] != NPairAction::kIgnore)
45           return true;
46       return false;
47     }
48   };
49 
50   extern const CActionSet kAddActionSet;
51   extern const CActionSet kUpdateActionSet;
52   extern const CActionSet kFreshActionSet;
53   extern const CActionSet kSynchronizeActionSet;
54   extern const CActionSet kDeleteActionSet;
55 }
56 
57 #endif
58