diff options
-rw-r--r-- | client.cxx | 10 | ||||
m--------- | libicclient | 0 | ||||
-rw-r--r-- | qicclient/client.hxx | 45 |
3 files changed, 38 insertions, 17 deletions
@@ -19,9 +19,8 @@ namespace ICClient { icclient_cleanup(); } - void Client::results(size_t (*handler)(void* contents, size_t size, - size_t nmemb, void* userdata), - QString const& prodGroup) + void Client::results(QString const& prodGroup, + size_t (*handler)(void*, size_t, size_t, void*)) { icclient_catalog* catalog = nullptr; icclient_results(prodGroup.toLatin1().constData(), handler, &catalog); @@ -35,9 +34,8 @@ namespace ICClient { if (catalog) emit gotResults(new Catalog{catalog}); } - void Client::flyPage(size_t (*handler)(void* contents, size_t size, - size_t nmemb, void* userdata), - QString const& sku) + void Client::flyPage(QString const& sku, + size_t (*handler)(void*, size_t, size_t, void*)) { icclient_product* product = nullptr; icclient_flypage(sku.toLatin1().constData(), handler, &product); diff --git a/libicclient b/libicclient -Subproject e13c106e8b28111feb0f71e5c04cab8637fcadb +Subproject 3074a867e052af594f1c7252c9cb967ff0747f4 diff --git a/qicclient/client.hxx b/qicclient/client.hxx index 056b3f8..d05d101 100644 --- a/qicclient/client.hxx +++ b/qicclient/client.hxx @@ -17,22 +17,45 @@ namespace ICClient { Q_OBJECT public: + /*! + * \brief Constructor. + * \param url Server root URL. + * \param certificate Path to the CA certificate file. + */ Client(char const* url, char const* certificate = nullptr); ~Client(); - void results(size_t (*handler)(void* contents, - size_t size, size_t nmemb, - void* userdata), - QString const& prodGroup); - void allProducts(size_t (*handler)(void* contents, - size_t size, size_t nmemb, - void* userdata)); - void flyPage(size_t (*handler)(void* contents, - size_t size, size_t nmemb, - void* userdata), - QString const& sku); + /*! + * \brief For fetching products that belong a specific group. + * \param prodGroup The name of the product group. + * \param handler A pointer to a cURL write function callback. + */ + void results(QString const& prodGroup, + size_t (*handler)(void*, size_t, size_t, void*)); + + /*! + * \brief For fetching data about all active products. + * \param handler A pointer to a cURL write function callback. + */ + void allProducts(size_t (*handler)(void*, size_t, size_t, void*)); + + /*! + * \brief For fetching data about a specific product. + * \param sku The SKU of the item to order. + * \param handler A pointer to a cURL write function callback. + */ + void flyPage(QString const& sku, + size_t (*handler)(void*, size_t, size_t, void*)); + + /*! + * \brief For putting an item to a cart. + * \param sku The SKU of the item to order. + * \param catalog The catalog from which the item is. + * \param order The order. + */ void order(QString const& sku, Catalog const& catalog, Basket& order); + void logIn(size_t (*handler)(void*, size_t, size_t, void*), icclient_user* user, QString const& username, |