diff --git a/qswiki.cpp b/qswiki.cpp index ca72557..c83c5af 100644 --- a/qswiki.cpp +++ b/qswiki.cpp @@ -137,7 +137,7 @@ int main(int argc, char **argv) cache->clear(); HandlerFactory handlerFactory{config.handlersConfig, siteTemplate, *database.get(), urlProvider, *cache.get()}; - RequestWorker requestWorker{handlerFactory, *database->createSessionDao().get(), siteTemplate}; + RequestWorker requestWorker{handlerFactory, database->createSessionDao(), siteTemplate}; auto interface = createGateway(config); diff --git a/requestworker.h b/requestworker.h index 7022dbe..ae37feb 100644 --- a/requestworker.h +++ b/requestworker.h @@ -17,17 +17,17 @@ class RequestWorker UrlProvider *urlProvider; ICache *cache; HandlerFactory *handlerFactory; - SessionDao *sessionDao; + std::unique_ptr sessionDao; private: Session retrieveSession(std::string token) const; public: - RequestWorker(HandlerFactory &handlerFactory, SessionDao &sessionDao, Template &templ) + RequestWorker(HandlerFactory &handlerFactory, std::unique_ptr sessionDao, Template &templ) { this->handlerFactory = &handlerFactory; this->templ = &templ; - this->sessionDao = &sessionDao; + this->sessionDao = std::move(sessionDao); } Response processRequest(const Request &r);