summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorꦌ ꦫꦶ ꦏ꧀ꦦꦿ ꦧ ꦮ ꦑ ꦩ ꦭ꧀ <erik@darapsa.co.id>2019-09-29 07:40:23 +0800
committerꦌ ꦫꦶ ꦏ꧀ꦦꦿ ꦧ ꦮ ꦑ ꦩ ꦭ꧀ <erik@darapsa.co.id>2019-09-29 07:40:23 +0800
commit0640cec9e13edd30b85c50da9943f6fb56aec0df (patch)
treeec90c7813db12ecb1ed9885da9f01f718ba67db9
parent73851e44295b0a1e1963689036a0f60c4cbb8330 (diff)
Revert "Client triggers catalog to update directly"
This reverts commit 73851e44295b0a1e1963689036a0f60c4cbb8330.
-rw-r--r--client.cxx6
-rw-r--r--qicclient/client.hxx6
2 files changed, 5 insertions, 7 deletions
diff --git a/client.cxx b/client.cxx
index 168a0fc..4e832ce 100644
--- a/client.cxx
+++ b/client.cxx
@@ -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();