67 lines
1.3 KiB
C++
67 lines
1.3 KiB
C++
// UpdateAction.h
|
|
|
|
#ifndef __UPDATE_ACTION_H
|
|
#define __UPDATE_ACTION_H
|
|
|
|
namespace NUpdateArchive {
|
|
|
|
namespace NPairState
|
|
{
|
|
const unsigned kNumValues = 7;
|
|
enum EEnum
|
|
{
|
|
kNotMasked = 0,
|
|
kOnlyInArchive,
|
|
kOnlyOnDisk,
|
|
kNewInArchive,
|
|
kOldInArchive,
|
|
kSameFiles,
|
|
kUnknowNewerFiles
|
|
};
|
|
}
|
|
|
|
namespace NPairAction
|
|
{
|
|
enum EEnum
|
|
{
|
|
kIgnore = 0,
|
|
kCopy,
|
|
kCompress,
|
|
kCompressAsAnti
|
|
};
|
|
}
|
|
|
|
struct CActionSet
|
|
{
|
|
NPairAction::EEnum StateActions[NPairState::kNumValues];
|
|
|
|
bool IsEqualTo(const CActionSet &a) const
|
|
{
|
|
for (unsigned i = 0; i < NPairState::kNumValues; i++)
|
|
if (StateActions[i] != a.StateActions[i])
|
|
return false;
|
|
return true;
|
|
}
|
|
|
|
bool NeedScanning() const
|
|
{
|
|
unsigned i;
|
|
for (i = 0; i < NPairState::kNumValues; i++)
|
|
if (StateActions[i] == NPairAction::kCompress)
|
|
return true;
|
|
for (i = 1; i < NPairState::kNumValues; i++)
|
|
if (StateActions[i] != NPairAction::kIgnore)
|
|
return true;
|
|
return false;
|
|
}
|
|
};
|
|
|
|
extern const CActionSet k_ActionSet_Add;
|
|
extern const CActionSet k_ActionSet_Update;
|
|
extern const CActionSet k_ActionSet_Fresh;
|
|
extern const CActionSet k_ActionSet_Sync;
|
|
extern const CActionSet k_ActionSet_Delete;
|
|
}
|
|
|
|
#endif
|