File indexing completed on 2024-04-28 15:25:35
0001 /* This file is part of the KDE libraries 0002 * SPDX-FileCopyrightText: 2009 Dario Freddi <drf at kde.org> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.1-or-later 0005 */ 0006 0007 #ifndef XSCREENSAVERBASEDPOLLER_H 0008 #define XSCREENSAVERBASEDPOLLER_H 0009 0010 #include "widgetbasedpoller.h" 0011 0012 #include "screensaver_interface.h" 0013 0014 class XScreensaverBasedPoller : public WidgetBasedPoller 0015 { 0016 Q_OBJECT 0017 Q_PLUGIN_METADATA(IID "org.kde.kidletime.AbstractSystemPoller" FILE "xcb.json") 0018 Q_INTERFACES(AbstractSystemPoller) 0019 0020 public: 0021 explicit XScreensaverBasedPoller(QObject *parent = nullptr); 0022 ~XScreensaverBasedPoller() override; 0023 0024 public Q_SLOTS: 0025 void simulateUserActivity() override; 0026 0027 private: 0028 bool additionalSetUp() override; 0029 0030 private Q_SLOTS: 0031 void screensaverActivated(bool activated); 0032 int getIdleTime() override; 0033 0034 private: 0035 OrgFreedesktopScreenSaverInterface *m_screenSaverIface; 0036 }; 0037 0038 #endif /* XSCREENSAVERBASEDPOLLER_H_ */