From 32573486befebc6a6030de295cf04b9df461a6b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=A6=8C=EA=A6=AB=EA=A6=B6=EA=A6=8F=EA=A7=80=EA=A6=A6?= =?UTF-8?q?=EA=A6=BF=EA=A6=A7=EA=A6=AE=EA=A6=91=EA=A6=A9=EA=A6=AD=EA=A7=80?= Date: Mon, 14 Jun 2021 17:41:23 +0800 Subject: Provide a way to use libicclient default Strap handler --- client.cxx | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'client.cxx') diff --git a/client.cxx b/client.cxx index ae6df8a..d4b2237 100644 --- a/client.cxx +++ b/client.cxx @@ -11,6 +11,12 @@ static void handleResults(icclient_fetch_t* fetch) client->emitResults(fetch); } +static void callback(icclient_catalog* catalog) +{ + client->emitCatalog(catalog); + icclient_free_catalog(catalog); +} + namespace QICClient { Client::Client(char const* sampleURL, char const* image_Dir, char const* certificate) @@ -31,6 +37,11 @@ namespace QICClient { }, handleResults); } + void Client::results(QString const& prodGroup, void (*handler)(icclient_fetch_t*)) + { + icclient_results(prodGroup.toLatin1().constData(), callback, handler); + } + void Client::allProducts() { icclient_allproducts([](icclient_catalog* catalog) { @@ -38,11 +49,21 @@ namespace QICClient { }, handleResults); } + void Client::allproducts(void (*handler)(icclient_fetch_t* fetch)) + { + icclient_allproducts(callback, handler); + } + void Client::emitResults(icclient_fetch_t* fetch) { emit gotResults(fetch); } + void Client::emitCatalog(icclient_catalog* catalog) + { + emit gotCatalog(new Catalog{catalog}); + } + void Client::flyPage(QString const& sku,void (*handler)(icclient_fetch_t*)) { icclient_product* product = nullptr; -- cgit v1.2.3