Clone
ixen <ixen@copyhandler.com>
committed
on 18 Jun 14
Switched row data handling to not use shared pointers nor RowData object to pass information (optimization to slim down the serialization co… Show more
Switched row data handling to not use shared pointers nor RowData object to pass information (optimization to slim down the serialization cost) (CH-103).

Show less

LoggerImprovements + 5 more
src/libchcore/ISerializerContainer.h (+1 -2)
9 9 //  This program is distributed in the hope that it will be useful,
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   typedef boost::shared_ptr<ISerializerRowData> ISerializerRowDataPtr;
30 29 class TRemovedObjects;
31 30
32 31 class LIBCHCORE_API ISerializerContainer
33 32 {
34 33 public:
35 34         virtual ~ISerializerContainer();
36 35
37 36         // columns
38 37         virtual IColumnsDefinition& GetColumnsDefinition() = 0;
39 38
40 39         // prepare data to be stored
41           virtual ISerializerRowDataPtr GetRow(size_t stRowID, bool bMarkAsAdded) = 0;
  40         virtual ISerializerRowData& GetRow(size_t stRowID, bool bMarkAsAdded) = 0;
42 41         virtual void DeleteRow(size_t stRowID) = 0;
43 42         virtual void DeleteRows(const TRemovedObjects& setObjects) = 0;
44 43
45 44         // getting data from the serialized archive
46 45         virtual ISerializerRowReaderPtr GetRowReader() = 0;
47 46 };
48 47
49 48 typedef boost::shared_ptr<ISerializerContainer> ISerializerContainerPtr;
50 49
51 50 END_CHCORE_NAMESPACE
52 51
53 52 #endif