lxqtscreensaver: Makes it a opaque pointer class
[lxde/liblxqt.git] / lxqtscreensaver.h
CommitLineData
4ef6cee9 1/* BEGIN_COMMON_COPYRIGHT_HEADER
c4af778e 2 * (c)LGPL2+
4ef6cee9 3 *
b9223fe7 4 * LXQt - a lightweight, Qt based, desktop toolset
4ef6cee9 5 * http://razor-qt.org
6 *
7 * Copyright: 2010-2011 Razor team
8 * Authors:
9 * Petr Vanek <petr@scribus.info>
10 *
11 * This program or library is free software; you can redistribute it
12 * and/or modify it under the terms of the GNU Lesser General Public
13 * License as published by the Free Software Foundation; either
c4af778e 14 * version 2.1 of the License, or (at your option) any later version.
4ef6cee9 15 *
16 * This library is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 * Lesser General Public License for more details.
20
21 * You should have received a copy of the GNU Lesser General
22 * Public License along with this library; if not, write to the
23 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
24 * Boston, MA 02110-1301 USA
25 *
26 * END_COMMON_COPYRIGHT_HEADER */
27
28#ifndef SCREENSAVER_H
29#define SCREENSAVER_H
30
f9cba1ba 31#include "lxqtglobals.h"
fe846f1b 32#include <QObject>
e6389bfc 33#include <QAction>
afd3b116 34
f05ba5af 35namespace LXQt
d9dcfbad 36{
4ef6cee9 37
fc185531
LP
38class ScreenSaverPrivate;
39
f9cba1ba 40class LXQT_API ScreenSaver : public QObject
4ef6cee9 41{
42 Q_OBJECT
fc185531
LP
43 Q_DECLARE_PRIVATE(ScreenSaver)
44 Q_DISABLE_COPY(ScreenSaver)
4ef6cee9 45
46public:
47 ScreenSaver(QObject * parent=0);
fc185531 48 ~ScreenSaver();
4ef6cee9 49
50 QList<QAction*> availableActions();
51
52signals:
53 void activated();
63cf48aa 54 void done();
4ef6cee9 55public slots:
56 void lockScreen();
57
58private:
fc185531 59 ScreenSaverPrivate* const d_ptr;
4ef6cee9 60
fc185531 61 Q_PRIVATE_SLOT(d_func(), void _l_xdgProcess_finished(int, QProcess::ExitStatus))
4ef6cee9 62};
63
f05ba5af 64} // namespace LXQt
4ef6cee9 65#endif
66