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);  	};  }  |