#pragma once

#include "device_bus/monitor/IDeviceMonitor.h"

namespace softbus::device_bus::monitor
{

// Windows 实现：仅在 _WIN32 下启用；在其他平台上会是一个空实现以保证可编译。
class WindowsDeviceMonitor : public IDeviceMonitor
{
    Q_OBJECT
public:
    explicit WindowsDeviceMonitor(QObject* parent = nullptr);
    ~WindowsDeviceMonitor() override;

    bool start() override;
    void stop() override;
    std::vector<DeviceEvent> snapshotExisting() override;

private:
#if defined(_WIN32)
    struct Impl;
    Impl* d{nullptr};
#endif
};

} // namespace softbus::device_bus::monitor

