/* SPDX-License-Identifier: GPL-3.0-or-later */ /* Copyright 2022 Ivan Polyakov */ #ifndef RAPIDA_QUERY_HXX_ENTRY #define RAPIDA_QUERY_HXX_ENTRY #include "KeyVal.hxx" #include "query.h" namespace rpd { /*! * \brief Query storage in key-value format. */ class Query : public KeyVal { public: /*! * \brief Default constructor. * * Just calls parent default costructor. */ Query() : KeyVal() { } /*! * \brief Constructor. * * \param keyval Key-value storage to base on it. * * Just calls parent constructor with base key-value storage. */ Query(rpd_keyval *keyval) : KeyVal(keyval) { } /*! * \brief Parse query string into the key-val pairs. * * \param query Query string. * * \return Status code. 0 is success. */ int parse(const char *query) { return rpd_query_parse(keyval(), query); } /*! * \brief Convert key-val pairs to query string. * * \return Query string. */ char *c_str() const { return rpd_query_str(keyval()); } /*! * \brief Destructor. */ virtual ~Query() { } }; } #endif // RAPIDA_QUERY_HXX_ENTRY