1/****************************************************************************
2**
3** Copyright (C) 2015 The Qt Company Ltd and/or its subsidiary(-ies).
4** Contact: http://www.qt-project.org/legal
5**
6** This file is part of the QtSystems module of the Qt Toolkit.
7**
8** $QT_BEGIN_LICENSE:LGPL21$
9** Commercial License Usage
10** Licensees holding valid commercial Qt licenses may use this file in
11** accordance with the commercial license agreement provided with the
12** Software or, alternatively, in accordance with the terms contained in
13** a written agreement between you and The Qt Company. For licensing terms
14** and conditions see http://www.qt.io/terms-conditions. For further
15** information use the contact form at http://www.qt.io/contact-us.
16**
17** GNU Lesser General Public License Usage
18** Alternatively, this file may be used under the terms of the GNU Lesser
19** General Public License version 2.1 or version 3 as published by the Free
20** Software Foundation and appearing in the file LICENSE.LGPLv21 and
21** LICENSE.LGPLv3 included in the packaging of this file. Please review the
22** following information to ensure the GNU Lesser General Public License
23** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
24** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
25**
26** As a special exception, The Qt Company gives you certain additional
27** rights. These rights are described in The Qt Company LGPL Exception
28** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
29**
30** $QT_END_LICENSE$
31**
32****************************************************************************/
33
34#include "qscreensaver.h"
35
36#if defined(Q_OS_LINUX)
37# if defined(QT_UNITY8)
38# include "linux/qscreensaver_mir_p.h"
39# else
40# include "linux/qscreensaver_linux_p.h"
41# endif
42#elif defined(Q_OS_WIN)
43# include "windows/qscreensaver_win_p.h"
44#elif defined(Q_OS_MAC)
45# include "mac/qscreensaver_mac_p.h"
46#else
47QT_BEGIN_NAMESPACE
48class QScreenSaverPrivate
49{
50public:
51 QScreenSaverPrivate(QScreenSaver *) {}
52
53 bool screenSaverEnabled() { return false; }
54 void setScreenSaverEnabled(bool) {}
55};
56QT_END_NAMESPACE
57#endif
58
59QT_BEGIN_NAMESPACE
60
61/*!
62 \class QScreenSaver
63 \inmodule QtSystemInfo
64 \brief The QScreenSaver class provides various information about the screen saver.
65
66 \ingroup systeminfo
67*/
68
69/*!
70 Constructs a QScreenSaver object with the given \a parent.
71*/
72QScreenSaver::QScreenSaver(QObject *parent)
73 : QObject(parent)
74 , d_ptr(new QScreenSaverPrivate(this))
75{
76}
77
78/*!
79 Destroys the object
80*/
81QScreenSaver::~QScreenSaver()
82{
83 delete d_ptr;
84}
85
86/*!
87 \property QScreenSaver::screenSaverEnabled
88 \brief The state of the screen saver.
89
90 Returns if the screen saver is enabled.
91*/
92bool QScreenSaver::screenSaverEnabled() const
93{
94 return d_ptr->screenSaverEnabled();
95}
96
97/*!
98 Sets the screen saver to be \a enabled.
99*/
100void QScreenSaver::setScreenSaverEnabled(bool enabled)
101{
102 d_ptr->setScreenSaverEnabled(enabled);
103}
104
105QT_END_NAMESPACE
106

source code of qtsystems/src/systeminfo/qscreensaver.cpp