#ifndef POWERMONITOR_H #define POWERMONITOR_H #include "platform/powermonitor_base.h" /** * @brief 跨平台电源监视器工厂类 * * 根据编译平台自动选择合适的电源监视器实现 * 提供统一的接口用于监听系统睡眠/唤醒事件 */ class PowerMonitor : public PowerMonitorBase { Q_OBJECT public: /** * @brief 创建平台特定的电源监视器实例 * @param parent 父对象 * * 根据编译时的平台宏自动创建对应的实现: * - Linux: PowerMonitorLinux (使用 DBus login1) * - macOS: PowerMonitorMacOS (使用 NSWorkspace 通知) */ explicit PowerMonitor(QObject *parent = nullptr); ~PowerMonitor() override; /** * @brief 初始化电源监视器 * @return true 如果初始化成功,否则返回 false */ bool initialize() override; private: PowerMonitorBase *m_impl; // 平台特定的实现 }; #endif // POWERMONITOR_H