Index: src/libchengine/TFileFiltersArray.h =================================================================== diff -u -r85b07e753393f661f7d8f528e4238ebb6e9e1204 -rf3c80778cfee0736195e00274c78040f7908ac5b --- src/libchengine/TFileFiltersArray.h (.../TFileFiltersArray.h) (revision 85b07e753393f661f7d8f528e4238ebb6e9e1204) +++ src/libchengine/TFileFiltersArray.h (.../TFileFiltersArray.h) (revision f3c80778cfee0736195e00274c78040f7908ac5b) @@ -21,46 +21,27 @@ #include "TFileFilter.h" #include "../libserializer/TRemovedObjects.h" +#include "../libserializer/SerializableContainer.h" namespace chengine { class TConfig; class TFileInfo; typedef std::shared_ptr TFileInfoPtr; - class LIBCHENGINE_API TFileFiltersArray +#pragma warning(push) +#pragma warning(disable: 4251) + class LIBCHENGINE_API TFileFiltersArray : public serializer::SerializableContainer { public: - TFileFiltersArray(); - ~TFileFiltersArray(); - bool Match(const TFileInfoPtr& spInfo) const; void StoreInConfig(TConfig& rConfig, PCTSTR pszNodeName) const; bool ReadFromConfig(const TConfig& rConfig, PCTSTR pszNodeName); - void Store(const serializer::ISerializerContainerPtr& spContainer) const; - void Load(const serializer::ISerializerContainerPtr& spContainer); - - 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; + void InitColumns(const serializer::ISerializerContainerPtr& spContainer) const override; }; +#pragma warning(pop) } CONFIG_MEMBER_SERIALIZATION(TFileFiltersArray)