Clone
ixen <ixen@copyhandler.com>
committed
on 20 Apr 14
Introduced serialization of base paths data (CH-72).
LoggerImprovements + 5 more
src/libchcore/ISerializerContainer.h (+2 -0)
10 10 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
11 11 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 12 //  GNU General Public License for more details.
13 13 //
14 14 //  You should have received a copy of the GNU Library General Public
15 15 //  License along with this program; if not, write to the
16 16 //  Free Software Foundation, Inc.,
17 17 //  59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
18 18 // ============================================================================
19 19 #ifndef __ISERIALIZERCONTAINER_H__
20 20 #define __ISERIALIZERCONTAINER_H__
21 21
22 22 #include "libchcore.h"
23 23 #include "IColumnsDefinition.h"
24 24 #include "ISerializerRowReader.h"
25 25
26 26 BEGIN_CHCORE_NAMESPACE
27 27
28 28 class ISerializerRowData;
29 29 typedef boost::shared_ptr<ISerializerRowData> ISerializerRowDataPtr;
  30 class TRemovedObjects;
30 31
31 32 class LIBCHCORE_API ISerializerContainer
32 33 {
33 34 public:
34 35         virtual ~ISerializerContainer();
35 36
36 37         // columns
37 38         virtual IColumnsDefinitionPtr GetColumnsDefinition() const = 0;
38 39
39 40         // prepare data to be stored
40 41         virtual ISerializerRowDataPtr AddRow(size_t stRowID) = 0;
41 42         virtual ISerializerRowDataPtr GetRow(size_t stRowID) = 0;
42 43         virtual void DeleteRow(size_t stRowID) = 0;
  44         virtual void DeleteRows(const TRemovedObjects& setObjects) = 0;
43 45
44 46         // getting data from the serialized archive
45 47         virtual ISerializerRowReaderPtr GetRowReader() = 0;
46 48 };
47 49
48 50 typedef boost::shared_ptr<ISerializerContainer> ISerializerContainerPtr;
49 51
50 52 END_CHCORE_NAMESPACE
51 53
52 54 #endif