--- a/src/QtRelationalReaderStringHadler.h Sun Sep 30 18:34:34 2018 +0200
+++ b/src/QtRelationalReaderStringHadler.h Sun Sep 30 20:54:35 2018 +0200
@@ -10,63 +10,30 @@
using namespace relpipe::reader;
using namespace relpipe::reader::handlers;
-// signal/slot parameters must be declared here and registered with qRegisterMetaType()
-
-Q_DECLARE_METATYPE(string_t)
-Q_DECLARE_METATYPE(std::vector<AttributeMetadata>)
-
class QtRelationalReaderStringHadler : public QObject, public RelationalReaderStringHadler {
- Q_OBJECT
-private:
- RelationalReaderStringHadler* target;
-public:
- QtRelationalReaderStringHadler(QObject* parent, RelationalReaderStringHadler* target) :
- QObject(parent), target(target) {
-
- // see Q_DECLARE_METATYPE above
- qRegisterMetaType<string_t>();
- qRegisterMetaType<std::vector < AttributeMetadata >> ();
-
- QObject::connect(this, &QtRelationalReaderStringHadler::signal_startRelation, this, &QtRelationalReaderStringHadler::slot_startRelation);
- QObject::connect(this, &QtRelationalReaderStringHadler::signal_attribute, this, &QtRelationalReaderStringHadler::slot_attribute);
- QObject::connect(this, &QtRelationalReaderStringHadler::signal_endOfPipe, this, &QtRelationalReaderStringHadler::slot_endOfPipe);
+ Q_OBJECT
+public:
+ QtRelationalReaderStringHadler(QObject* parent) : QObject(parent) {
}
virtual ~QtRelationalReaderStringHadler() {
-
}
virtual void startRelation(string_t name, std::vector<AttributeMetadata> attributes) override {
- emit signal_startRelation(name, attributes);
+ emit startRelationReceived(name, attributes);
}
virtual void attribute(const string_t& value) override {
- emit signal_attribute(value);
+ emit attributeReceived(value);
};
virtual void endOfPipe() override {
- emit signal_endOfPipe();
+ emit endOfPipeReceived();
};
signals:
- void signal_startRelation(string_t name, std::vector<AttributeMetadata> attributes);
- void signal_attribute(const string_t& value);
- void signal_endOfPipe();
-
-private slots:
-
- // FIXME: asynchronous signal-slot data passing between two threads
-
- void slot_startRelation(string_t name, std::vector<AttributeMetadata> attributes) {
- target->startRelation(name, attributes);
- };
-
- void slot_attribute(const string_t& value) {
- target->attribute(value);
- };
-
- void slot_endOfPipe() {
- target->endOfPipe();
- };
+ void startRelationReceived(const string_t name, std::vector<AttributeMetadata> attributes);
+ void attributeReceived(const string_t value);
+ void endOfPipeReceived();
};