diff options
-rw-r--r-- | client.cxx | 13 | ||||
-rw-r--r-- | qicclient.hxx | 7 |
2 files changed, 20 insertions, 0 deletions
@@ -37,6 +37,14 @@ namespace QICClient { }, nullptr); } + void Client::path(QString const& path) + { + icclient_path(path.toLatin1().constData(), [](icclient_response* response) { + client->emitPath(QString{response->data}); + icclient_free_response(response); + }); + } + void Client::defaultCatalog(QString const& prodGroup) { icclient_catalog(prodGroup.toLatin1().constData(), nullptr, [](struct icclient_catalog* catalog) { @@ -59,6 +67,11 @@ namespace QICClient { emit gotProduct(product); } + void Client::emitPath(QString const& path) + { + emit gotPath(path); + } + void Client::order(QString const& sku, Catalog const& catalog, Ord& order) { auto c_order = order.data(); diff --git a/qicclient.hxx b/qicclient.hxx index 664b566..88f07d8 100644 --- a/qicclient.hxx +++ b/qicclient.hxx @@ -48,6 +48,11 @@ namespace QICClient { */ void product(QString const& sku); /*! + * \brief For fetching data from a specific path. + * \param path The path. + */ + void path(QString const& path); + /*! * \brief For fetching products that belong a specific group. * \param prodGroup The name of the product group. */ @@ -60,10 +65,12 @@ namespace QICClient { signals: void gotCatalog(QString const& response); void gotProduct(QString const& response); + void gotPath(QString const& response); protected: void emitCatalog(QString const& response); void emitProduct(QString const& response); + void emitPath(QString const& response); }; } |