Index: src/libchengine/TFileFilter.h =================================================================== diff -u -N -rf3c80778cfee0736195e00274c78040f7908ac5b -rf01ed9a0279a52c96a7272273ef19e57f7670f4a --- src/libchengine/TFileFilter.h (.../TFileFilter.h) (revision f3c80778cfee0736195e00274c78040f7908ac5b) +++ src/libchengine/TFileFilter.h (.../TFileFilter.h) (revision f01ed9a0279a52c96a7272273ef19e57f7670f4a) @@ -25,15 +25,55 @@ #include "../libstring/TStringPatternArray.h" #include "../libserializer/TSharedModificationTracker.h" #include "ECompareType.h" +#include "../libserializer/SerializableObject.h" namespace chengine { class TConfig; class TFileInfo; typedef std::shared_ptr TFileInfoPtr; - class LIBCHENGINE_API TFileFilter + namespace FileFilterEnum { + enum EModifications + { + eMod_Added, + eMod_UseMask, + eMod_Mask, + eMod_UseExcludeMask, + eMod_ExcludeMask, + eMod_UseSize1, + eMod_SizeCmpType1, + eMod_Size1, + eMod_UseSize2, + eMod_SizeCmpType2, + eMod_Size2, + eMod_DateType, + eMod_UseDateTime1, + eMod_DateCmpType1, + eMod_UseDate1, + eMod_UseTime1, + eMod_DateTime1, + eMod_UseDateTime2, + eMod_DateCmpType2, + eMod_UseDate2, + eMod_UseTime2, + eMod_DateTime2, + eMod_UseAttributes, + eMod_AttrArchive, + eMod_AttrReadOnly, + eMod_AttrHidden, + eMod_AttrSystem, + eMod_AttrDirectory, + + eMod_Last + }; + }; + +#pragma warning(push) +#pragma warning(disable: 4251) + class LIBCHENGINE_API TFileFilter : public serializer::SerializableObject + { public: enum EDateType { @@ -155,92 +195,51 @@ void SetDirectory(int iDirectory) { m_iDirectory = iDirectory; } private: - enum EModifications - { - eMod_Added, - eMod_UseMask, - eMod_Mask, - eMod_UseExcludeMask, - eMod_ExcludeMask, - eMod_UseSize1, - eMod_SizeCmpType1, - eMod_Size1, - eMod_UseSize2, - eMod_SizeCmpType2, - eMod_Size2, - eMod_DateType, - eMod_UseDateTime1, - eMod_DateCmpType1, - eMod_UseDate1, - eMod_UseTime1, - eMod_DateTime1, - eMod_UseDateTime2, - eMod_DateCmpType2, - eMod_UseDate2, - eMod_UseTime2, - eMod_DateTime2, - eMod_UseAttributes, - eMod_AttrArchive, - eMod_AttrReadOnly, - eMod_AttrHidden, - eMod_AttrSystem, - eMod_AttrDirectory, - - eMod_Last - }; - - // object identification - serializer::object_id_t m_oidObjectID; - // modification management -#pragma warning(push) -#pragma warning(disable: 4251) - typedef std::bitset Bitset; - mutable Bitset m_setModifications; // files mask - serializer::TSharedModificationTracker m_bUseMask; - serializer::TSharedModificationTracker m_astrMask; + serializer::TSharedModificationTracker m_bUseMask; + serializer::TSharedModificationTracker m_astrMask; // files mask- - serializer::TSharedModificationTracker m_bUseExcludeMask; - serializer::TSharedModificationTracker m_astrExcludeMask; + serializer::TSharedModificationTracker m_bUseExcludeMask; + serializer::TSharedModificationTracker m_astrExcludeMask; // size filtering - serializer::TSharedModificationTracker m_bUseSize1; - serializer::TSharedModificationTracker m_eSizeCmpType1; - serializer::TSharedModificationTracker m_ullSize1; + serializer::TSharedModificationTracker m_bUseSize1; + serializer::TSharedModificationTracker m_eSizeCmpType1; + serializer::TSharedModificationTracker m_ullSize1; - serializer::TSharedModificationTracker m_bUseSize2; - serializer::TSharedModificationTracker m_eSizeCmpType2; - serializer::TSharedModificationTracker m_ullSize2; + serializer::TSharedModificationTracker m_bUseSize2; + serializer::TSharedModificationTracker m_eSizeCmpType2; + serializer::TSharedModificationTracker m_ullSize2; // date filtering - serializer::TSharedModificationTracker m_eDateType; // created/last modified/last accessed + serializer::TSharedModificationTracker m_eDateType; // created/last modified/last accessed - serializer::TSharedModificationTracker m_bUseDateTime1; + serializer::TSharedModificationTracker m_bUseDateTime1; - serializer::TSharedModificationTracker m_eDateCmpType1; // before/after - serializer::TSharedModificationTracker m_bUseDate1; - serializer::TSharedModificationTracker m_bUseTime1; - serializer::TSharedModificationTracker m_tDateTime1; + serializer::TSharedModificationTracker m_eDateCmpType1; // before/after + serializer::TSharedModificationTracker m_bUseDate1; + serializer::TSharedModificationTracker m_bUseTime1; + serializer::TSharedModificationTracker m_tDateTime1; - serializer::TSharedModificationTracker m_bUseDateTime2; + serializer::TSharedModificationTracker m_bUseDateTime2; - serializer::TSharedModificationTracker m_eDateCmpType2; - serializer::TSharedModificationTracker m_bUseDate2; - serializer::TSharedModificationTracker m_bUseTime2; - serializer::TSharedModificationTracker m_tDateTime2; + serializer::TSharedModificationTracker m_eDateCmpType2; + serializer::TSharedModificationTracker m_bUseDate2; + serializer::TSharedModificationTracker m_bUseTime2; + serializer::TSharedModificationTracker m_tDateTime2; // attribute filtering - serializer::TSharedModificationTracker m_bUseAttributes; - serializer::TSharedModificationTracker m_iArchive; - serializer::TSharedModificationTracker m_iReadOnly; - serializer::TSharedModificationTracker m_iHidden; - serializer::TSharedModificationTracker m_iSystem; - serializer::TSharedModificationTracker m_iDirectory; -#pragma warning(pop) + serializer::TSharedModificationTracker m_bUseAttributes; + serializer::TSharedModificationTracker m_iArchive; + serializer::TSharedModificationTracker m_iReadOnly; + serializer::TSharedModificationTracker m_iHidden; + serializer::TSharedModificationTracker m_iSystem; + serializer::TSharedModificationTracker m_iDirectory; }; +#pragma warning(pop) } #endif