diff options
-rw-r--r-- | client.cxx | 6 | ||||
-rw-r--r-- | qicclient/client.hxx | 6 |
2 files changed, 5 insertions, 7 deletions
@@ -14,13 +14,11 @@ namespace ICClient { icclient_cleanup(); } - void Client::allProducts(Catalog* qCatalog, size_t (*handler)(void*, size_t - , size_t, void*)) + void Client::allProducts(size_t (*handler)(void*, size_t, size_t, void*)) { icclient_catalog* catalog = nullptr; icclient_allproducts(&catalog, handler); - if (catalog) qCatalog->update(catalog); - icclient_product_freecatalog(catalog); + emit gotAllProducts(catalog); } void Client::logIn(QString const& username, QString const& password) diff --git a/qicclient/client.hxx b/qicclient/client.hxx index 5531d53..bccd665 100644 --- a/qicclient/client.hxx +++ b/qicclient/client.hxx @@ -3,8 +3,8 @@ #include <QObject> #include <icclient/product.h> -#include "catalog.hxx" +struct icclient_catalog; struct icclient_order; namespace ICClient { @@ -17,8 +17,7 @@ namespace ICClient { Client(char const* url, char const* certificate = nullptr); ~Client(); - void allProducts(Catalog* catalog - , size_t (*handler)(void* contents + void allProducts(size_t (*handler)(void* contents , size_t size, size_t nmemb , void* userdata)); @@ -53,6 +52,7 @@ namespace ICClient { */ signals: + void gotAllProducts(icclient_catalog* catalog); void ordered(icclient_order* order); void loggedIn(QString const& userName); void loggedOut(); |