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
|