#pragma once #include #include #include #include #include #include #include #include "device_bus/tree/DeviceTreeModel.h" #include "device_bus/registry/IDeviceRegistry.h" #include "devices/DeviceTypes.h" #include "devices/physical/SerialDevice.h" class DeviceBusManager { public: void setDeviceTreeModel(std::shared_ptr model); bool initialize(const QJsonObject& rootConfig); void shutdown(); private: void initializeSerialDevice(const QString& endpoint, const QJsonObject& params); void shutdownSerialDevice(const QString& endpoint); // void initializeCanDriver(); // void shutdownCanDriver(); // void initializeTcpDriver(); // void shutdownTcpDriver(); // void initializeUdpDriver(); // void shutdownUdpDriver(); private: std::shared_ptr m_treeModel; // 添加map来记住所有设备的endpoint和type的映射 QMap m_deviceEndpointsMap; QHash> m_serialDevicesByEndpoint; softbus::device_bus::registry::IDeviceRegistry* m_registry = nullptr; // std::vector m_canDrivers; // std::vector m_tcpDrivers; // std::vector m_udpDrivers; };