devicesbus read data
This commit is contained in:
@@ -6,18 +6,29 @@
|
||||
#include <QList>
|
||||
#include <QHash>
|
||||
#include <QSharedPointer>
|
||||
#include <atomic>
|
||||
#include <memory>
|
||||
#include <thread>
|
||||
#include <functional>
|
||||
|
||||
#include "core/memory/MemoryPool.h"
|
||||
#include "core/plugin_system/PluginManager.h"
|
||||
#include "device_bus/tree/DeviceTreeModel.h"
|
||||
#include "device_bus/registry/IDeviceRegistry.h"
|
||||
#include "devices/DeviceTypes.h"
|
||||
#include "devices/physical/SerialDevice.h"
|
||||
#include "message_bus/egress/EgressRouter.h"
|
||||
#include "message_bus/ingress/DriverIngressAdapter.h"
|
||||
#include "message_bus/pipeline/PipelineEngine.h"
|
||||
|
||||
class DeviceBusManager
|
||||
{
|
||||
public:
|
||||
~DeviceBusManager();
|
||||
|
||||
void setDeviceTreeModel(std::shared_ptr<DeviceTreeModel> model);
|
||||
void setRegistry(softbus::device_bus::registry::IDeviceRegistry* registry);
|
||||
void setDirtyCallback(std::function<void()> cb);
|
||||
|
||||
bool initialize(const QJsonObject& rootConfig);
|
||||
bool reconcileFromTreeModel();
|
||||
@@ -26,6 +37,7 @@ public:
|
||||
private:
|
||||
void initializeSerialDevice(const QString& endpoint, const QJsonObject& params);
|
||||
void shutdownSerialDevice(const QString& endpoint);
|
||||
void processEgressLoop();
|
||||
// void initializeCanDriver();
|
||||
// void shutdownCanDriver();
|
||||
// void initializeTcpDriver();
|
||||
@@ -40,12 +52,18 @@ private:
|
||||
// 添加map来记住所有设备的endpoint和type的映射
|
||||
QMap<QString, softbus::devices::DeviceKind> m_deviceEndpointsMap;
|
||||
|
||||
QHash<QString, QSharedPointer<softbus::devices::physical::SerialDevice>> m_serialDevicesByEndpoint;
|
||||
QHash<QString, QSharedPointer<softbus::devices::physical::SerialDevice>> m_serialDevicesByEndpointSharedPtr;
|
||||
|
||||
softbus::device_bus::registry::IDeviceRegistry* m_registry = nullptr;
|
||||
std::shared_ptr<softbus::core::memory::MemoryPool> m_memoryPool;
|
||||
std::shared_ptr<softbus::core::plugin_system::PluginManager> m_pluginManager;
|
||||
std::unique_ptr<softbus::message_bus::pipeline::PipelineEngine> m_pipelineEngine;
|
||||
std::unique_ptr<softbus::message_bus::ingress::DriverIngressAdapter> m_ingressAdapter;
|
||||
std::unique_ptr<softbus::message_bus::egress::EgressRouter> m_egressRouter;
|
||||
std::atomic<bool> m_egressRunning{false};
|
||||
std::thread m_egressThread;
|
||||
std::function<void()> m_dirtyCb;
|
||||
|
||||
|
||||
// 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;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user