diff options
Diffstat (limited to 'src/protocols/httpserver.cpp')
| -rw-r--r-- | src/protocols/httpserver.cpp | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/src/protocols/httpserver.cpp b/src/protocols/httpserver.cpp index f1b562e..d10518b 100644 --- a/src/protocols/httpserver.cpp +++ b/src/protocols/httpserver.cpp @@ -28,8 +28,14 @@ HttpServer::HttpServer(std::shared_ptr<ICamera> camera, : IProtocol{camera} , INIT_FIELD(address) , INIT_FIELD(port) - , m_server{std::make_shared<QHttpServer>()} +// , m_server{std::make_shared<QHttpServer>()} { +} + +bool HttpServer::start() +{ + m_server = std::make_shared<QHttpServer>(); + // TODO: move these vars outside const auto apiPrefix = QStringLiteral("/v1"); const auto pixelsPath = apiPrefix + "/pixels"; @@ -52,7 +58,20 @@ HttpServer::HttpServer(std::shared_ptr<ICamera> camera, QHttpServerRequest::Method::Get, [this]() { return GET_image(); }); - qDebug().noquote() << Q_FUNC_INFO << ": listen: " << m_server->listen(m_address, m_port); + const auto result = m_server->listen(m_address, m_port); + + qDebug().noquote() << Q_FUNC_INFO << ": listen: " << result; + + if (!result) { + m_server.reset(); + } + + return result; +} + +void HttpServer::stop() +{ + m_server.reset(); } QHttpServerResponse HttpServer::GET_image() |
