Index: src/ch/FileFilter.h =================================================================== diff -u -N -r449a5b399ab21ca0d06050b47b264f2f704af966 -r5057e08b0cc064972abeb94a488e5f12d9db14a0 --- src/ch/FileFilter.h (.../FileFilter.h) (revision 449a5b399ab21ca0d06050b47b264f2f704af966) +++ src/ch/FileFilter.h (.../FileFilter.h) (revision 5057e08b0cc064972abeb94a488e5f12d9db14a0) @@ -48,20 +48,57 @@ CString& GetCombinedExcludeMask(CString& pMask) const; void SetCombinedExcludeMask(const CString& pMask); - void Serialize(icpf::archive& ar); + template + void serialize(Archive& ar, unsigned int /*uiVersion*/) + { + ar & m_bUseMask; + ar & m_astrMask; + ar & m_bUseExcludeMask; + ar & m_astrExcludeMask; + + ar & m_bUseSize; + ar & m_iSizeType1; + ar & m_ullSize1; + ar & m_bUseSize2; + ar & m_iSizeType2; + ar & m_ullSize2; + + ar & m_bUseDate; + ar & m_iDateType; // created/last modified/last accessed + ar & m_iDateType1; // before/after + ar & m_bDate1; + ar & m_tDate1; + ar & m_bTime1; + ar & m_tTime1; + + ar & m_bUseDate2; + ar & m_iDateType2; + ar & m_bDate2; + ar & m_tDate2; + ar & m_bTime2; + ar & m_tTime2; + + ar & m_bUseAttributes; + ar & m_iArchive; + ar & m_iReadOnly; + ar & m_iHidden; + ar & m_iSystem; + ar & m_iDirectory; + } + protected: bool MatchMask(LPCTSTR lpszMask, LPCTSTR lpszString) const; bool Scan(LPCTSTR& lpszMask, LPCTSTR& lpszString) const; public: // files mask bool m_bUseMask; - CStringArray m_astrMask; + std::vector m_astrMask; // files mask- bool m_bUseExcludeMask; - CStringArray m_astrExcludeMask; + std::vector m_astrExcludeMask; // size filtering bool m_bUseSize; @@ -104,7 +141,13 @@ CFiltersArray& operator=(const CFiltersArray& rSrc); bool Match(const CFileInfo& rInfo) const; - void Serialize(icpf::archive& ar); + + template + void serialize(Archive& ar, unsigned int /*uiVersion*/) + { + ar & m_vFilters; + } + bool IsEmpty() const; void Add(const CFileFilter& rFilter);