include/relpipe/reader/RelationalReader.h
author František Kučera <franta-hg@frantovo.cz>
Mon, 27 Aug 2018 00:06:14 +0200
branchv_0
changeset 17 ec750c536705
parent 14 e8de089f95dd
child 29 755978b0935c
permissions -rw-r--r--
interface + dummy implementation
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
}