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 WINDOWSPOLLER_H
0008 #define WINDOWSPOLLER_H
0009 
0010 #include "widgetbasedpoller.h"
0011 
0012 class QTimer;
0013 
0014 class WindowsPoller : public WidgetBasedPoller
0015 {
0016     Q_OBJECT
0017     Q_PLUGIN_METADATA(IID "org.kde.kidletime.AbstractSystemPoller" FILE "windows.json")
0018     Q_INTERFACES(AbstractSystemPoller)
0019 
0020 public:
0021     WindowsPoller(QObject *parent = 0);
0022     virtual ~WindowsPoller();
0023 
0024 public Q_SLOTS:
0025     void simulateUserActivity();
0026     void catchIdleEvent();
0027     void stopCatchingIdleEvents();
0028 
0029 private:
0030     bool additionalSetUp();
0031 
0032 private Q_SLOTS:
0033     int getIdleTime();
0034     void checkForIdle();
0035 
0036 private:
0037     QTimer *m_idleTimer;
0038 };
0039 
0040 #endif /* WINDOWSPOLLER_H */