Index: src/libchcore/TSQLiteSerializerContainer.h =================================================================== diff -u -N -r4a7f28238afbf60b9e3f3daeffe590ff1638ec74 -r9479911a096555a7504c5c8a8eaee83ecb63440c --- src/libchcore/TSQLiteSerializerContainer.h (.../TSQLiteSerializerContainer.h) (revision 4a7f28238afbf60b9e3f3daeffe590ff1638ec74) +++ src/libchcore/TSQLiteSerializerContainer.h (.../TSQLiteSerializerContainer.h) (revision 9479911a096555a7504c5c8a8eaee83ecb63440c) @@ -20,30 +20,44 @@ #define __TSQLITESERIALIZERCONTAINER_H__ #include "libchcore.h" -#include "ISerializerRow.h" +#include "ISerializerRowWriter.h" +#include "ISerializerRowReader.h" #include "ISerializerContainer.h" #include #include #include "TSQLiteColumnDefinition.h" +#include "TSQLiteDatabase.h" BEGIN_CHCORE_NAMESPACE class LIBCHCORE_API TSQLiteSerializerContainer : public ISerializerContainer { public: - TSQLiteSerializerContainer(); - TSQLiteSerializerContainer(size_t stParentID); + TSQLiteSerializerContainer(const TString& strName, const sqlite::TSQLiteDatabasePtr& spDB); + TSQLiteSerializerContainer(const TString& strName, size_t stParentID, const sqlite::TSQLiteDatabasePtr& spDB); + virtual ~TSQLiteSerializerContainer(); - ISerializerRowPtr GetNewRow(); - ISerializerRowPtr GetRow(size_t stRowID); + virtual IColumnsDefinitionPtr GetColumnsDefinition() const; + virtual ISerializerRowWriterPtr AddRow(size_t stRowID); + virtual ISerializerRowWriterPtr GetRow(size_t stRowID); + virtual void DeleteRow(size_t stRowID); + + virtual ISerializerRowReaderPtr GetRowReader(); + private: #pragma warning(push) #pragma warning(disable: 4251) - std::map m_mapRows; boost::optional m_stParentID; + + std::map m_mapRows; TSQLiteColumnDefinitionPtr m_spColumns; + + std::set m_setDeleteItems; + + TString m_strName; + sqlite::TSQLiteDatabasePtr m_spDB; #pragma warning(pop) };