summaryrefslogtreecommitdiff
path: root/src/protocols/httpserver.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/protocols/httpserver.cpp')
-rw-r--r--src/protocols/httpserver.cpp23
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()