summaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp32
1 files changed, 8 insertions, 24 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 99ad57b..6986751 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -32,6 +32,7 @@
#include "imagealgos.h"
#include "profile.h"
#include "protocols/httpserver.h"
+#include "scanner.h"
//
#include "rapidjson/document.h"
@@ -181,7 +182,7 @@ int main(int argc, char *argv[])
// FIXME: don't use one var for everything
int ret;
- const auto cameras = VeyeIMX287m::search();
+ auto cameras = VeyeIMX287m::search();
if (cameras.empty()) {
std::cerr << "No cameras were identified on the system." << std::endl;
@@ -201,31 +202,14 @@ int main(int argc, char *argv[])
return EXIT_FAILURE;
}
- QHttpServer qHttpServer;
- auto httpGetImage = [&]() -> QHttpServerResponse {
- auto cam = dynamic_cast<VeyeIMX287m *>(camera.get());
-
- if (!cam) {
- qDebug() << "NO CAM";
- return QHttpServerResponse::StatusCode::ServiceUnavailable;
- }
+ auto httpServer = std::make_shared<HttpServer>(camera);
- static Image img;
+ const auto scanner
+ = std::make_shared<Scanner>(camera,
+ std::vector<std::shared_ptr<IProtocol>>{
+ httpServer});
- if (!cam->getImage(img)) {
- qDebug() << "cannot get image";
- return QHttpServerResponse::StatusCode::ServiceUnavailable;
- }
-
- pgm_save(&img);
- std::lock_guard<std::mutex> lg(pgm_image_mtx);
-
- return QHttpServerResponse{QByteArray((const char *) pgm_image,
- pgm_image_size),
- QHttpServerResponse::StatusCode::Ok};
- };
- qHttpServer.route("/v1/sensor/image", httpGetImage);
- qHttpServer.route("/v1/sensor/image2", httpGetImage);
+ QHttpServer qHttpServer;
qHttpServer.route("/v1/profile", [&]() -> QHttpServerResponse {
// std::cout << "http: profile" << std::endl;