UpdateAction.h 1.1 KB

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