mirror of
https://github.com/Sani7/remote-ui.git
synced 2026-10-26 21:51:13 +01:00
server
remove includes from simulators header to source
This commit is contained in:
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user