Index: src/libchengine/TFileFiltersArray.h =================================================================== diff -u -N -rfadd6c9c628de875716d96c3a497b5bc6c8dca8a -r85b07e753393f661f7d8f528e4238ebb6e9e1204 --- src/libchengine/TFileFiltersArray.h (.../TFileFiltersArray.h) (revision fadd6c9c628de875716d96c3a497b5bc6c8dca8a) +++ src/libchengine/TFileFiltersArray.h (.../TFileFiltersArray.h) (revision 85b07e753393f661f7d8f528e4238ebb6e9e1204) @@ -1,50 +1,39 @@ /*************************************************************************** - * Copyright (C) 2001-2008 by Jozef Starosczyk * - * ixen@copyhandler.com * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU Library General Public License * - * (version 2) as published by the Free Software Foundation; * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU Library General Public * - * License along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - ***************************************************************************/ +* Copyright (C) 2001-2008 by Jozef Starosczyk * +* ixen@copyhandler.com * +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of the GNU Library General Public License * +* (version 2) as published by the Free Software Foundation; * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU Library General Public * +* License along with this program; if not, write to the * +* Free Software Foundation, Inc., * +* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * +***************************************************************************/ #ifndef __TFILEFILTERSARRAY_H__ #define __TFILEFILTERSARRAY_H__ #include "TFileFilter.h" #include "../libserializer/TRemovedObjects.h" -#include "../common/GenericTemplates/RandomAccessIterators.h" -#include "../common/GenericTemplates/RandomAccessContainerWrapper.h" namespace chengine { class TConfig; class TFileInfo; typedef std::shared_ptr TFileInfoPtr; - template class LIBCHENGINE_API RandomAccessIteratorWrapper; - class LIBCHENGINE_API TFileFiltersArrayIterator : public RandomAccessIteratorWrapper + class LIBCHENGINE_API TFileFiltersArray { - }; - - template class LIBCHENGINE_API RandomAccessConstIteratorWrapper; - class LIBCHENGINE_API TFileFiltersArrayConstIterator : public RandomAccessConstIteratorWrapper - { - }; - - template class LIBCHENGINE_API RandomAccessContainerWrapper; - - class LIBCHENGINE_API TFileFiltersArray : public RandomAccessContainerWrapper - { public: + TFileFiltersArray(); + ~TFileFiltersArray(); + bool Match(const TFileInfoPtr& spInfo) const; void StoreInConfig(TConfig& rConfig, PCTSTR pszNodeName) const; @@ -55,7 +44,21 @@ void InitColumns(const serializer::ISerializerContainerPtr& spContainer) const; + bool IsEmpty() const; + + void Add(const TFileFilter& rFilter); + bool SetAt(size_t stIndex, const TFileFilter& rNewFilter); + const TFileFilter& GetAt(size_t stIndex) const; + bool RemoveAt(size_t stIndex); + size_t GetCount() const; + + void Clear(); + private: +#pragma warning(push) +#pragma warning(disable: 4251) + std::vector m_vFilters; +#pragma warning(pop) mutable serializer::TRemovedObjects m_setRemovedObjects; }; }