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 <magic_enum/magic_enum.hpp>
#include <spdlog/spdlog.h>
QString Simulators::message_parser(QString message)
{
+9 -4
View File
@@ -1,13 +1,18 @@
#include "simulators.hpp"
#include "CAN_wrapper.hpp"
#include "simulator_base.hpp"
#include "websocket.hpp"
#include <QDirIterator>
#include <QLibrary>
#include <QThread>
#include <unordered_set>
typedef Simulator_base *(*Get_Sim)(Communication *, QObject *);
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)),
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_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());
}
}
m_com.c_if1 = m_can_wrapper;
m_com.s_if1 = m_serial;
m_com->c_if1 = m_can_wrapper;
m_com->s_if1 = m_serial;
QLibrary lib;
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();
continue;
}
auto widget = loaded_sim(&m_com, this);
auto widget = loaded_sim(m_com, this);
m_simulators.insert(std::make_pair(widget->name(), widget));
lib.unload();
}
+12 -6
View File
@@ -1,16 +1,22 @@
#pragma once
#include <QThread>
#include <QObject>
#include <map>
#include <memory>
#include <mutex>
#include "CAN_wrapper.hpp"
#include "simulator_base.hpp"
#include "websocket.hpp"
#include <nlohmann/json.hpp>
#define INSERT_SIMULATOR(type) \
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
{
Q_OBJECT
@@ -59,7 +65,7 @@ class Simulators : public QObject
Websocket *m_server;
CAN_Wrapper *m_can_wrapper;
QSerialPort *m_serial;
Communication m_com;
Communication *m_com;
std::map<std::string, std::unique_ptr<Simulator_base>> m_simulators;
std::string m_current_simulator = "";
std::mutex m_mutex;