author | František Kučera <franta-hg@frantovo.cz> |
Mon, 27 Aug 2018 00:06:14 +0200 | |
branch | v_0 |
changeset 17 | ec750c536705 |
parent 14 | e8de089f95dd |
child 29 | 755978b0935c |
permissions | -rw-r--r-- |
14
e8de089f95dd
refactoring, move files, use TypeId instead of integer_t
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
1 |
#pragma once |
e8de089f95dd
refactoring, move files, use TypeId instead of integer_t
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
2 |
|
e8de089f95dd
refactoring, move files, use TypeId instead of integer_t
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
3 |
#include <iostream> |
e8de089f95dd
refactoring, move files, use TypeId instead of integer_t
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
4 |
|
e8de089f95dd
refactoring, move files, use TypeId instead of integer_t
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
5 |
#include "typedefs.h" |
e8de089f95dd
refactoring, move files, use TypeId instead of integer_t
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
6 |
#include "TypeId.h" |
17
ec750c536705
interface + dummy implementation
František Kučera <franta-hg@frantovo.cz>
parents:
14
diff
changeset
|
7 |
#include "handlers/RelationalReaderBaseHandler.h" |
ec750c536705
interface + dummy implementation
František Kučera <franta-hg@frantovo.cz>
parents:
14
diff
changeset
|
8 |
#include "handlers/RelationalReaderStringHandler.h" |
ec750c536705
interface + dummy implementation
František Kučera <franta-hg@frantovo.cz>
parents:
14
diff
changeset
|
9 |
#include "handlers/RelationalReaderValueHandler.h" |
14
e8de089f95dd
refactoring, move files, use TypeId instead of integer_t
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
10 |
|
e8de089f95dd
refactoring, move files, use TypeId instead of integer_t
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
11 |
namespace relpipe { |
e8de089f95dd
refactoring, move files, use TypeId instead of integer_t
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
12 |
namespace reader { |
e8de089f95dd
refactoring, move files, use TypeId instead of integer_t
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
13 |
|
e8de089f95dd
refactoring, move files, use TypeId instead of integer_t
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
14 |
class RelationalReader { |
e8de089f95dd
refactoring, move files, use TypeId instead of integer_t
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
15 |
public: |
e8de089f95dd
refactoring, move files, use TypeId instead of integer_t
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
16 |
|
e8de089f95dd
refactoring, move files, use TypeId instead of integer_t
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
17 |
virtual ~RelationalReader() = default; |
e8de089f95dd
refactoring, move files, use TypeId instead of integer_t
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
18 |
|
e8de089f95dd
refactoring, move files, use TypeId instead of integer_t
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
19 |
/** |
e8de089f95dd
refactoring, move files, use TypeId instead of integer_t
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
20 |
* @param typeId numeric type id as defined in Specification |
e8de089f95dd
refactoring, move files, use TypeId instead of integer_t
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
21 |
* @return string code of given type |
e8de089f95dd
refactoring, move files, use TypeId instead of integer_t
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
22 |
* @throws RelpipeReaderException on unsupported typeId |
e8de089f95dd
refactoring, move files, use TypeId instead of integer_t
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
23 |
*/ |
e8de089f95dd
refactoring, move files, use TypeId instead of integer_t
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
24 |
virtual string_t toTypeCode(const TypeId typeId) = 0; |
e8de089f95dd
refactoring, move files, use TypeId instead of integer_t
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
25 |
|
17
ec750c536705
interface + dummy implementation
František Kučera <franta-hg@frantovo.cz>
parents:
14
diff
changeset
|
26 |
virtual void addHandler(handlers::RelationalReaderStringHadler* handler) = 0; |
ec750c536705
interface + dummy implementation
František Kučera <franta-hg@frantovo.cz>
parents:
14
diff
changeset
|
27 |
|
ec750c536705
interface + dummy implementation
František Kučera <franta-hg@frantovo.cz>
parents:
14
diff
changeset
|
28 |
virtual void addHandler(handlers::RelationalReaderValueHadler* handler) = 0; |
ec750c536705
interface + dummy implementation
František Kučera <franta-hg@frantovo.cz>
parents:
14
diff
changeset
|
29 |
|
ec750c536705
interface + dummy implementation
František Kučera <franta-hg@frantovo.cz>
parents:
14
diff
changeset
|
30 |
virtual void process() = 0; |
ec750c536705
interface + dummy implementation
František Kučera <franta-hg@frantovo.cz>
parents:
14
diff
changeset
|
31 |
|
14
e8de089f95dd
refactoring, move files, use TypeId instead of integer_t
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
32 |
}; |
e8de089f95dd
refactoring, move files, use TypeId instead of integer_t
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
33 |
|
e8de089f95dd
refactoring, move files, use TypeId instead of integer_t
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
34 |
} |
e8de089f95dd
refactoring, move files, use TypeId instead of integer_t
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
35 |
} |