From b3bd2a24af0047e4e21cde4400cf12b68840b726 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=A6=8C=20=EA=A6=AB=EA=A6=B6=20=EA=A6=8F=EA=A7=80?= =?UTF-8?q?=EA=A6=A6=EA=A6=BF=20=EA=A6=A7=20=EA=A6=AE=20=EA=A6=91=20?= =?UTF-8?q?=EA=A6=A9=20=EA=A6=AD=EA=A7=80?= Date: Fri, 26 Jun 2020 18:31:07 +0800 Subject: gotFlyPage emits C++ version of product --- client.cxx | 4 +++- qicclient/client.hxx | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/client.cxx b/client.cxx index c7950a8..f5c2734 100644 --- a/client.cxx +++ b/client.cxx @@ -1,6 +1,8 @@ #include +#include #include #include +#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{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 #include 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); void ordered(icclient_ord_order* order); void loggedIn(icclient_user* user); void loggedOut(); -- cgit v1.2.3