#pragma once #include #include #include #include // 轻量级设备树模型:从 daemon_config.json 的 device_tree 字段加载 struct DeviceTreeNode { QString id; QString name; QString type; QString endpoint; QString driver; QString capabilitiesRef; QJsonObject params; QVector childrenIds; bool enabled{true}; }; class DeviceTreeModel { public: // 从给定的 JSON 根对象(包含 device_tree 字段)加载 bool loadFromDaemonConfig(const QJsonObject& root, QString* errorMessage = nullptr); const QVector& nodes() const { return m_nodes; } const DeviceTreeNode* findById(const QString& id) const; private: QVector m_nodes; QHash m_indexById; };