remove includes from simulators header to source
This commit is contained in:
2026-02-14 14:31:25 +01:00
parent 8215718e7a
commit 34acefde6a
3 changed files with 23 additions and 10 deletions
+2
View File
@@ -1,5 +1,7 @@
#include "simulator_base.hpp"
#include "simulators.hpp" #include "simulators.hpp"
#include <magic_enum/magic_enum.hpp> #include <magic_enum/magic_enum.hpp>
#include <spdlog/spdlog.h>
QString Simulators::message_parser(QString message) QString Simulators::message_parser(QString message)
{ {
+9 -4
View File
@@ -1,13 +1,18 @@
#include "simulators.hpp" #include "simulators.hpp"
#include "CAN_wrapper.hpp"
#include "simulator_base.hpp"
#include "websocket.hpp"
#include <QDirIterator> #include <QDirIterator>
#include <QLibrary> #include <QLibrary>
#include <QThread>
#include <unordered_set> #include <unordered_set>
typedef Simulator_base *(*Get_Sim)(Communication *, QObject *); typedef Simulator_base *(*Get_Sim)(Communication *, QObject *);
Simulators::Simulators(uint16_t port, QString can_dev, QString uart_dev, QObject *parent) Simulators::Simulators(uint16_t port, QString can_dev, QString uart_dev, QObject *parent)
: QObject(parent), m_server_thread(new QThread), m_server(new Websocket(port, nullptr)), : QObject(parent), m_server_thread(new QThread), m_server(new Websocket(port, nullptr)),
m_can_wrapper(new CAN_Wrapper(new CAN_Interface(this), this)), m_serial(new QSerialPort(this)) m_can_wrapper(new CAN_Wrapper(new CAN_Interface(this), this)), m_serial(new QSerialPort(this)),
m_com(new Communication)
{ {
m_server->moveToThread(m_server_thread); m_server->moveToThread(m_server_thread);
m_server_thread->start(); m_server_thread->start();
@@ -29,8 +34,8 @@ Simulators::Simulators(uint16_t port, QString can_dev, QString uart_dev, QObject
SPDLOG_CRITICAL("Error {}", m_serial->errorString().toStdString()); SPDLOG_CRITICAL("Error {}", m_serial->errorString().toStdString());
} }
} }
m_com.c_if1 = m_can_wrapper; m_com->c_if1 = m_can_wrapper;
m_com.s_if1 = m_serial; m_com->s_if1 = m_serial;
QLibrary lib; QLibrary lib;
QDirIterator it(QCoreApplication::applicationDirPath(), QStringList() << "*.so" << "*.dll", QDir::Files, QDirIterator it(QCoreApplication::applicationDirPath(), QStringList() << "*.so" << "*.dll", QDir::Files,
@@ -46,7 +51,7 @@ Simulators::Simulators(uint16_t port, QString can_dev, QString uart_dev, QObject
lib.unload(); lib.unload();
continue; continue;
} }
auto widget = loaded_sim(&m_com, this); auto widget = loaded_sim(m_com, this);
m_simulators.insert(std::make_pair(widget->name(), widget)); m_simulators.insert(std::make_pair(widget->name(), widget));
lib.unload(); lib.unload();
} }
+12 -6
View File
@@ -1,16 +1,22 @@
#pragma once #pragma once
#include <QThread> #include <QObject>
#include <map> #include <map>
#include <memory> #include <memory>
#include <mutex> #include <mutex>
#include <nlohmann/json.hpp>
#include "CAN_wrapper.hpp"
#include "simulator_base.hpp"
#include "websocket.hpp"
#define INSERT_SIMULATOR(type) \ #define INSERT_SIMULATOR(type) \
m_simulators.insert(std::make_pair(type(&m_com).name(), std::make_unique<type>(&m_com, this))); m_simulators.insert(std::make_pair(type(&m_com).name(), std::make_unique<type>(&m_com, this)));
Q_FORWARD_DECLARE_OBJC_CLASS(QThread);
Q_FORWARD_DECLARE_OBJC_CLASS(Websocket);
Q_FORWARD_DECLARE_OBJC_CLASS(CAN_Wrapper);
Q_FORWARD_DECLARE_OBJC_CLASS(QSerialPort);
Q_FORWARD_DECLARE_OBJC_CLASS(Simulator_base);
Q_FORWARD_DECLARE_OBJC_CLASS(Communication);
using json = nlohmann::json;
class Simulators : public QObject class Simulators : public QObject
{ {
Q_OBJECT Q_OBJECT
@@ -59,7 +65,7 @@ class Simulators : public QObject
Websocket *m_server; Websocket *m_server;
CAN_Wrapper *m_can_wrapper; CAN_Wrapper *m_can_wrapper;
QSerialPort *m_serial; QSerialPort *m_serial;
Communication m_com; Communication *m_com;
std::map<std::string, std::unique_ptr<Simulator_base>> m_simulators; std::map<std::string, std::unique_ptr<Simulator_base>> m_simulators;
std::string m_current_simulator = ""; std::string m_current_simulator = "";
std::mutex m_mutex; std::mutex m_mutex;