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_ */