# HG changeset patch # User František Kučera # Date 1535217024 -7200 # Node ID 9b8139bb051963388d9f5987dcab104950680b42 # Parent 09ca53671b2805ac3e9dde8e61473ac9680d2266 handler structure diff -r 09ca53671b28 -r 9b8139bb0519 include/relpipe/reader/handlers/RelationalReaderBaseHandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/include/relpipe/reader/handlers/RelationalReaderBaseHandler.h Sat Aug 25 19:10:24 2018 +0200 @@ -0,0 +1,21 @@ +#pragma once + +#include + +#include "../TypeId.h" + +namespace relpipe { +namespace reader { +namespace handlers { + +class RelationalReaderBaseHadler { +public: + virtual ~RelationalReaderBaseHadler() = default; + + virtual void startRelation(string_t name, std::vector> attributes) = 0; + +}; + +} +} +} \ No newline at end of file diff -r 09ca53671b28 -r 9b8139bb0519 include/relpipe/reader/handlers/RelationalReaderStringHandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/include/relpipe/reader/handlers/RelationalReaderStringHandler.h Sat Aug 25 19:10:24 2018 +0200 @@ -0,0 +1,21 @@ +#pragma once + +#include + +#include "../TypeId.h" +#include "RelationalReaderBaseHandler.h" + +namespace relpipe { +namespace reader { +namespace handlers { + +class RelationalReaderStringHadler : public RelationalReaderBaseHadler { +public: + + virtual void attribute(const string_t& value) = 0; + +}; + +} +} +} \ No newline at end of file diff -r 09ca53671b28 -r 9b8139bb0519 include/relpipe/reader/handlers/RelationalReaderValueHandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/include/relpipe/reader/handlers/RelationalReaderValueHandler.h Sat Aug 25 19:10:24 2018 +0200 @@ -0,0 +1,21 @@ +#pragma once + +#include + +#include "../TypeId.h" +#include "RelationalReaderBaseHandler.h" + +namespace relpipe { +namespace reader { +namespace handlers { + +class RelationalReaderValueHadler : public RelationalReaderBaseHadler { +public: + + virtual void attribute(const void* value, const std::type_info& type) = 0; + +}; + +} +} +} \ No newline at end of file diff -r 09ca53671b28 -r 9b8139bb0519 nbproject/configurations.xml --- a/nbproject/configurations.xml Sat Aug 25 18:25:02 2018 +0200 +++ b/nbproject/configurations.xml Sat Aug 25 19:10:24 2018 +0200 @@ -11,6 +11,9 @@ include/relpipe/reader/Factory.h src/types/IntegerDataTypeReader.h include/relpipe/reader/RelationalReader.h + include/relpipe/reader/handlers/RelationalReaderBaseHandler.h + include/relpipe/reader/handlers/RelationalReaderStringHandler.h + include/relpipe/reader/handlers/RelationalReaderValueHandler.h include/relpipe/reader/RelpipeReaderException.h src/StreamRelationalReader.h src/types/StringDataTypeReader.h @@ -70,6 +73,21 @@ + + + + + + @@ -128,6 +146,21 @@ + + + + + + diff -r 09ca53671b28 -r 9b8139bb0519 src/StreamRelationalReader.h --- a/src/StreamRelationalReader.h Sat Aug 25 18:25:02 2018 +0200 +++ b/src/StreamRelationalReader.h Sat Aug 25 19:10:24 2018 +0200 @@ -9,6 +9,9 @@ #include "../include/relpipe/reader/typedefs.h" #include "../include/relpipe/reader/RelationalReader.h" #include "../include/relpipe/reader/TypeId.h" +#include "../include/relpipe/reader/handlers/RelationalReaderBaseHandler.h" +#include "../include/relpipe/reader/handlers/RelationalReaderStringHandler.h" +#include "../include/relpipe/reader/handlers/RelationalReaderValueHandler.h" #include "DataTypeReaderBase.h" #include "types/BooleanDataTypeReader.h" #include "types/IntegerDataTypeReader.h"