43 lines
1.2 KiB
C
43 lines
1.2 KiB
C
|
|
#pragma once
|
||
|
|
|
||
|
|
#include <QByteArray>
|
||
|
|
#include <QJsonObject>
|
||
|
|
#include <QMap>
|
||
|
|
#include <QList>
|
||
|
|
#include <functional>
|
||
|
|
|
||
|
|
#include "device_bus/tree/DeviceTreeModel.h"
|
||
|
|
#include "hardware/drivers/serial/SerialQtDriver.h"
|
||
|
|
|
||
|
|
class DeviceBusManager
|
||
|
|
{
|
||
|
|
public:
|
||
|
|
bool initialize(const QJsonObject& rootConfig);
|
||
|
|
void shutdown();
|
||
|
|
|
||
|
|
private:
|
||
|
|
void initializeSerialDriver(const QString& endpoint, const QJsonObject& params);
|
||
|
|
void shutdownSerialDriver(const QString& endpoint);
|
||
|
|
// void initializeCanDriver();
|
||
|
|
// void shutdownCanDriver();
|
||
|
|
// void initializeTcpDriver();
|
||
|
|
// void shutdownTcpDriver();
|
||
|
|
// void initializeUdpDriver();
|
||
|
|
// void shutdownUdpDriver();
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
private:
|
||
|
|
DeviceTreeModel m_treeModel;
|
||
|
|
// 添加map来记住所有设备的endpoint和type的映射
|
||
|
|
QMap<QString, QString> m_deviceEndpointsMap;
|
||
|
|
|
||
|
|
QMap<QString, softbus::hardware::drivers::serial::SerialQtDriver*> m_serialDriversMap;
|
||
|
|
QList<softbus::hardware::drivers::serial::SerialQtDriver*> m_serialDriversList;
|
||
|
|
|
||
|
|
// std::vector<softbus::hardware::drivers::can::CanQtDriver*> m_canDrivers;
|
||
|
|
// std::vector<softbus::hardware::drivers::tcp::TcpQtDriver*> m_tcpDrivers;
|
||
|
|
// std::vector<softbus::hardware::drivers::udp::UdpQtDriver*> m_udpDrivers;
|
||
|
|
};
|
||
|
|
|