#include "Query.hpp" #include #include #include using namespace db; Query::Query(Type type, QueryListener *listener) : type(type), listener(listener) {} QueryListener *Query::getQueryListener() const noexcept { return listener; } void Query::setQueryListener(QueryListener *queryListener) noexcept { listener = queryListener; } QueryResult::QueryResult(std::shared_ptr requestQuery) : requestQuery(std::move(requestQuery)) {} void QueryResult::setRequestQuery(std::shared_ptr requestQueryToSet) { requestQuery = requestQueryToSet; } std::shared_ptr QueryResult::getRequestQuery() const noexcept { return requestQuery; } bool QueryResult::handle() { if (requestQuery == nullptr || requestQuery->getQueryListener() == nullptr) { return false; throw std::runtime_error("No listener to handle query"); } return requestQuery->getQueryListener()->handleQueryResponse(this); }