Index: src/ch/FileFilter.cpp
===================================================================
diff -u -N -rd5c3edd0d167db9b5d47d04248820fda49499a5e -r5057e08b0cc064972abeb94a488e5f12d9db14a0
--- src/ch/FileFilter.cpp	(.../FileFilter.cpp)	(revision d5c3edd0d167db9b5d47d04248820fda49499a5e)
+++ src/ch/FileFilter.cpp	(.../FileFilter.cpp)	(revision 5057e08b0cc064972abeb94a488e5f12d9db14a0)
@@ -31,10 +31,10 @@
 {
 	// files mask
 	m_bUseMask=false;
-	m_astrMask.RemoveAll();
+	m_astrMask.clear();
 
 	m_bUseExcludeMask=false;
-	m_astrExcludeMask.RemoveAll();
+	m_astrExcludeMask.clear();
 
 	// size filtering
 	m_bUseSize=false;
@@ -78,10 +78,10 @@
 {
 	// files mask
 	m_bUseMask=rFilter.m_bUseMask;
-	m_astrMask.Copy(rFilter.m_astrMask);
+	m_astrMask = rFilter.m_astrMask;
 
 	m_bUseExcludeMask=rFilter.m_bUseExcludeMask;
-	m_astrExcludeMask.Copy(rFilter.m_astrExcludeMask);
+	m_astrExcludeMask = rFilter.m_astrExcludeMask;
 
 	// size filtering
 	m_bUseSize=rFilter.m_bUseSize;
@@ -118,132 +118,22 @@
 	return *this;
 }
 
-void CFileFilter::Serialize(icpf::archive& ar)
+CString& CFileFilter::GetCombinedMask(CString& strMask) const
 {
-	ULARGE_INTEGER li;
-	if (ar.is_storing())
+	strMask.Empty();
+	if(m_astrMask.size() > 0)
 	{
-		// store
-		// files mask
-		ar<<static_cast<unsigned char>(m_bUseMask);
-		ar<<m_astrMask;
-
-		ar<<static_cast<unsigned char>(m_bUseExcludeMask);
-		//		ar<<m_astrExcludeMask;
-
-		// size filtering
-		ar<<static_cast<unsigned char>(m_bUseSize);
-		ar<<m_iSizeType1;
-		li.QuadPart=m_ullSize1;
-		ar<<li.LowPart;
-		ar<<li.HighPart;
-		ar<<static_cast<unsigned char>(m_bUseSize2);
-		ar<<m_iSizeType2;
-		li.QuadPart=m_ullSize2;
-		ar<<li.LowPart;
-		ar<<li.HighPart;
-
-		// date
-		ar<<static_cast<unsigned char>(m_bUseDate);
-		ar<<m_iDateType;
-		ar<<m_iDateType1;
-		ar<<static_cast<unsigned char>(m_bDate1);
-		ar<<m_tDate1;
-		ar<<static_cast<unsigned char>(m_bTime1);
-		ar<<m_tTime1;
-
-		ar<<static_cast<unsigned char>(m_bUseDate2);
-		ar<<m_iDateType2;
-		ar<<static_cast<unsigned char>(m_bDate2);
-		ar<<m_tDate2;
-		ar<<static_cast<unsigned char>(m_bTime2);
-		ar<<m_tTime2;
-
-		// attributes
-		ar<<static_cast<unsigned char>(m_bUseAttributes);
-		ar<<m_iArchive;
-		ar<<m_iReadOnly;
-		ar<<m_iHidden;
-		ar<<m_iSystem;
-		ar<<m_iDirectory;
+		strMask = m_astrMask.at(0);
+		for(size_t stIndex = 1; stIndex < m_astrMask.size(); stIndex++)
+			strMask += _T("|") + m_astrMask.at(stIndex);
 	}
-	else
-	{
-		// read
-		unsigned char tmp;
 
-		// files mask
-		ar>>tmp;
-		m_bUseMask=(tmp != 0);
-		ar>>m_astrMask;
-
-		ar>>tmp;
-		m_bUseExcludeMask=(tmp != 0);
-		ar>>m_astrExcludeMask;
-
-		// size
-		ar>>tmp;
-		m_bUseSize=(tmp != 0);
-		ar>>m_iSizeType1;
-		ar>>li.LowPart;
-		ar>>li.HighPart;
-		m_ullSize1=li.QuadPart;
-		ar>>tmp;
-		m_bUseSize2=(tmp != 0);
-		ar>>m_iSizeType2;
-		ar>>li.LowPart;
-		ar>>li.HighPart;
-		m_ullSize2=li.QuadPart;
-
-		// date
-		ar>>tmp;
-		m_bUseDate=(tmp != 0);
-		ar>>m_iDateType;
-		ar>>m_iDateType1;
-		ar>>tmp;
-		m_bDate1=(tmp != 0);
-		ar>>m_tDate1;
-		ar>>tmp;
-		m_bTime1=(tmp != 0);
-		ar>>m_tTime1;
-
-		ar>>tmp;
-		m_bUseDate2=(tmp != 0);
-		ar>>m_iDateType2;
-		ar>>tmp;
-		m_bDate2=(tmp != 0);
-		ar>>m_tDate2;
-		ar>>tmp;
-		m_bTime2=(tmp != 0);
-		ar>>m_tTime2;
-
-		// attributes
-		ar>>tmp;
-		m_bUseAttributes=(tmp != 0);
-		ar>>m_iArchive;
-		ar>>m_iReadOnly;
-		ar>>m_iHidden;
-		ar>>m_iSystem;
-		ar>>m_iDirectory;
-	}
+	return strMask;
 }
 
-CString& CFileFilter::GetCombinedMask(CString& pMask) const
-{
-	pMask.Empty();
-	if (m_astrMask.GetSize() > 0)
-	{
-		pMask=m_astrMask.GetAt(0);
-		for (int i=1;i<m_astrMask.GetSize();i++)
-			pMask+=_T("|")+m_astrMask.GetAt(i);
-	}
-
-	return pMask;
-}
-
 void CFileFilter::SetCombinedMask(const CString& pMask)
 {
-	m_astrMask.RemoveAll();
+	m_astrMask.clear();
 
 	TCHAR *pszData=new TCHAR[pMask.GetLength()+1];
 	_tcscpy(pszData, pMask);
@@ -252,7 +142,7 @@
 	while (szToken != NULL)
 	{
 		// add token to a table
-		m_astrMask.Add(szToken);
+		m_astrMask.push_back(szToken);
 
 		// search for next
 		szToken=_tcstok(NULL, _T("|"));
@@ -261,22 +151,22 @@
 	delete [] pszData;
 }
 
-CString& CFileFilter::GetCombinedExcludeMask(CString& pMask) const
+CString& CFileFilter::GetCombinedExcludeMask(CString& strMask) const
 {
-	pMask.Empty();
-	if (m_astrExcludeMask.GetSize() > 0)
+	strMask.Empty();
+	if(m_astrExcludeMask.size() > 0)
 	{
-		pMask=m_astrExcludeMask.GetAt(0);
-		for (int i=1;i<m_astrExcludeMask.GetSize();i++)
-			pMask+=_T("|")+m_astrExcludeMask.GetAt(i);
+		strMask = m_astrExcludeMask.at(0);
+		for(size_t stIndex = 1; stIndex < m_astrExcludeMask.size(); stIndex++)
+			strMask += _T("|") + m_astrExcludeMask.at(stIndex);
 	}
 
-	return pMask;
+	return strMask;
 }
 
 void CFileFilter::SetCombinedExcludeMask(const CString& pMask)
 {
-	m_astrExcludeMask.RemoveAll();
+	m_astrExcludeMask.clear();
 
 	TCHAR *pszData=new TCHAR[pMask.GetLength()+1];
 	_tcscpy(pszData, pMask);
@@ -285,7 +175,7 @@
 	while (szToken != NULL)
 	{
 		// add token
-		m_astrExcludeMask.Add(szToken);
+		m_astrExcludeMask.push_back(szToken);
 
 		// find next
 		szToken=_tcstok(NULL, _T("|"));
@@ -297,24 +187,24 @@
 bool CFileFilter::Match(const CFileInfo& rInfo) const
 {
 	// check by mask
-	if (m_bUseMask)
+	if(m_bUseMask)
 	{
 		bool bRes=false;
-		for (int i=0;i<m_astrMask.GetSize();i++)
+		for(std::vector<CString>::const_iterator iterMask = m_astrMask.begin(); iterMask != m_astrMask.end(); ++iterMask)
 		{
-			if (MatchMask(m_astrMask.GetAt(i), rInfo.GetFileName()))
-				bRes=true;
+			if(MatchMask(*iterMask, rInfo.GetFileName()))
+				bRes = true;
 		}
-		if (!bRes)
+		if(!bRes)
 			return false;
 	}
 
 	// excluding mask
-	if (m_bUseExcludeMask)
+	if(m_bUseExcludeMask)
 	{
-		for (int i=0;i<m_astrExcludeMask.GetSize();i++)
+		for(std::vector<CString>::const_iterator iterExcludeMask = m_astrExcludeMask.begin(); iterExcludeMask != m_astrExcludeMask.end(); ++iterExcludeMask)
 		{
-			if (MatchMask(m_astrExcludeMask.GetAt(i), rInfo.GetFileName()))
+			if(MatchMask(*iterExcludeMask, rInfo.GetFileName()))
 				return false;
 		}
 	}
@@ -577,33 +467,6 @@
 	return false;
 }
 
-void CFiltersArray::Serialize(icpf::archive& ar)
-{
-	if (ar.is_storing())
-	{
-		ar<< m_vFilters.size();
-		for(std::vector<CFileFilter>::iterator iterFilter = m_vFilters.begin(); iterFilter != m_vFilters.end(); iterFilter++)
-		{
-			(*iterFilter).Serialize(ar);
-		}
-	}
-	else
-	{
-		m_vFilters.clear();
-
-		size_t stSize;
-		CFileFilter ff;
-
-		ar >> stSize;
-		m_vFilters.reserve(stSize);
-		while(stSize--)
-		{
-			ff.Serialize(ar);
-			m_vFilters.push_back(ff);
-		}
-	}
-}
-
 bool CFiltersArray::IsEmpty() const
 {
 	return m_vFilters.empty();