diff options
author | ꦌ ꦫꦶ ꦏ꧀ꦦꦿ ꦧ ꦮ ꦑ ꦩ ꦭ꧀ <erik@darapsa.co.id> | 2020-06-26 18:31:07 +0800 |
---|---|---|
committer | ꦌ ꦫꦶ ꦏ꧀ꦦꦿ ꦧ ꦮ ꦑ ꦩ ꦭ꧀ <erik@darapsa.co.id> | 2020-06-26 18:31:07 +0800 |
commit | b3bd2a24af0047e4e21cde4400cf12b68840b726 (patch) | |
tree | 6252f47b57d93b0bb65a0f5bcbb26c8dd1d99d60 | |
parent | 0b475ccda2d4f7e8a6a5d5974646b753fecb2c59 (diff) |
gotFlyPage emits C++ version of product
-rw-r--r-- | client.cxx | 4 | ||||
-rw-r--r-- | qicclient/client.hxx | 6 |
2 files changed, 7 insertions, 3 deletions
@@ -1,6 +1,8 @@ #include <cstddef> +#include <QObject> #include <icclient/client.h> #include <icclient/member.h> +#include "qicclient/product.hxx" #include "qicclient/client.hxx" namespace ICClient { @@ -37,7 +39,7 @@ namespace ICClient { { icclient_product* product = nullptr; icclient_flypage(handler, &product, sku.toLatin1().constData()); - emit gotFlyPage(product); + if (product) emit gotFlyPage(std::shared_ptr<Product>{new ICClient::Product{product}}); } void Client::order(icclient_ord_order** orderPtr, QString const& sku diff --git a/qicclient/client.hxx b/qicclient/client.hxx index 0ab7a3d..b73c6a2 100644 --- a/qicclient/client.hxx +++ b/qicclient/client.hxx @@ -1,15 +1,17 @@ #ifndef QICCLIENT_CLIENT_HXX #define QICCLIENT_CLIENT_HXX +#include <memory> #include <QObject> struct icclient_catalog; -struct icclient_product; struct icclient_ord_order; struct icclient_user; namespace ICClient { + class Product; + class Client : public QObject { Q_OBJECT @@ -69,7 +71,7 @@ namespace ICClient { signals: void gotResults(icclient_catalog* catalog); - void gotFlyPage(icclient_product* product); + void gotFlyPage(std::shared_ptr<Product> product); void ordered(icclient_ord_order* order); void loggedIn(icclient_user* user); void loggedOut(); |