diff options
author | ꦌꦫꦶꦏ꧀ꦦꦿꦧꦮꦑꦩꦭ꧀ <erik@darapsa.co.id> | 2023-03-09 12:11:02 +0800 |
---|---|---|
committer | ꦌꦫꦶꦏ꧀ꦦꦿꦧꦮꦑꦩꦭ꧀ <erik@darapsa.co.id> | 2023-03-09 12:11:02 +0800 |
commit | 18cd0a85f48ff6a7cf05311c42c7bb1a39f77988 (patch) | |
tree | 77df4f84dc6844511e15cd18380d7aa71fc88f84 | |
parent | 97dc735de7a67e6be77c0cad5164267b2c39c4c1 (diff) |
Order signal
-rw-r--r-- | interchange.cxx | 16 | ||||
-rw-r--r-- | interchange.hxx | 2 |
2 files changed, 15 insertions, 3 deletions
diff --git a/interchange.cxx b/interchange.cxx index 5b39309..f0141d6 100644 --- a/interchange.cxx +++ b/interchange.cxx @@ -73,11 +73,21 @@ namespace QInterchange { emit gotPage(response); } - void Interchange::order(QString const& sku, Catalog const& catalog, Ord& order) + void Interchange::emitOrder(QString const& response) + { + emit gotOrder(response); + } + + void Interchange::order(QString const& sku, Catalog const& catalog, + Ord& order) { auto c_order = order.data(); - interchange_ord_order(sku.toLatin1().constData(), catalog.constData(), &c_order); + interchange_ord_order(sku.toLatin1().constData(), + catalog.constData(), &c_order, + [](interchange_response* response) { + interchange->emitOrder(QString{response->data}); + interchange_free_response(response); + }); order.setData(c_order); } - } diff --git a/interchange.hxx b/interchange.hxx index 4de1618..4b4f44c 100644 --- a/interchange.hxx +++ b/interchange.hxx @@ -70,11 +70,13 @@ namespace QInterchange { void gotCatalog(QString const& response); void gotProduct(QString const& response); void gotPage(QString const& response); + void gotOrder(QString const& response); protected: void emitCatalog(QString const& response); void emitProduct(QString const& response); void emitPage(QString const& response); + void emitOrder(QString const& response); }; } |