1/****************************************************************************
2**
3** Copyright (C) 2016 Research In Motion
4** Contact: https://www.qt.io/licensing/
5**
6** This file is part of the QtSensors module of the Qt Toolkit.
7**
8** $QT_BEGIN_LICENSE:LGPL$
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 https://www.qt.io/terms-conditions. For further
15** information use the contact form at https://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 3 as published by the Free Software
20** Foundation and appearing in the file LICENSE.LGPL3 included in the
21** packaging of this file. Please review the following information to
22** ensure the GNU Lesser General Public License version 3 requirements
23** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
24**
25** GNU General Public License Usage
26** Alternatively, this file may be used under the terms of the GNU
27** General Public License version 2.0 or (at your option) the GNU General
28** Public license version 3 or any later version approved by the KDE Free
29** Qt Foundation. The licenses are as published by the Free Software
30** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
31** included in the packaging of this file. Please review the following
32** information to ensure the GNU General Public License requirements will
33** be met: https://www.gnu.org/licenses/gpl-2.0.html and
34** https://www.gnu.org/licenses/gpl-3.0.html.
35**
36** $QT_END_LICENSE$
37**
38****************************************************************************/
39#include <qholstersensor.h>
40#include "qholstersensor_p.h"
41
42QT_BEGIN_NAMESPACE
43
44IMPLEMENT_READING(QHolsterReading)
45
46/*!
47 \class QHolsterReading
48 \ingroup sensors_reading
49 \inmodule QtSensors
50 \since 5.1
51
52 \brief The QHolsterReading class holds readings from the holster sensor.
53
54 \section2 QHolsterReading Units
55 The holster sensor can detect if a device is holstered or not. A holster is a pocket,
56 similar to a gun holster, specifically made for the device. If the device is inside of this
57 pocket, it is holstered. The holster supports the device in detecting whether the device is
58 holstered or not.
59*/
60
61/*!
62 \property QHolsterReading::holstered
63 \brief A value indicating whether the device is holstered.
64
65 \sa {QHolsterReading Units}
66*/
67
68bool QHolsterReading::holstered() const
69{
70 return d->holstered;
71}
72
73/*!
74 Sets the holstered value to \a holstered.
75*/
76void QHolsterReading::setHolstered(bool holstered)
77{
78 d->holstered = holstered;
79}
80
81// =====================================================================
82
83/*!
84 \class QHolsterFilter
85 \ingroup sensors_filter
86 \inmodule QtSensors
87 \since 5.1
88
89 \brief The QHolsterFilter class is a convenience wrapper around QSensorFilter.
90
91 The only difference is that the filter() method features a pointer to QHolsterReading
92 instead of QSensorReading.
93*/
94
95/*!
96 \fn QHolsterFilter::filter(QHolsterReading *reading)
97
98 Called when \a reading changes. Returns false to prevent the reading from propagating.
99
100 \sa QSensorFilter::filter()
101*/
102
103bool QHolsterFilter::filter(QSensorReading *reading)
104{
105 return filter(reading: static_cast<QHolsterReading*>(reading));
106}
107
108char const * const QHolsterSensor::type("QHolsterSensor");
109
110/*!
111 \class QHolsterSensor
112 \ingroup sensors_type
113 \inmodule QtSensors
114 \since 5.1
115
116 \brief The QHolsterSensor class is a convenience wrapper around QSensor.
117
118 The only behavioural difference is that this class sets the type properly.
119
120 This class also features a reading() function that returns a QHolsterReading instead of a QSensorReading.
121
122 For details about how the sensor works, see \l QHolsterReading.
123
124 \sa QHolsterReading
125*/
126
127/*!
128 Construct the sensor as a child of \a parent.
129*/
130QHolsterSensor::QHolsterSensor(QObject *parent)
131 : QSensor(QHolsterSensor::type, parent)
132{
133}
134
135/*!
136 Destroy the sensor. Stops the sensor if it has not already been stopped.
137*/
138QHolsterSensor::~QHolsterSensor()
139{
140}
141
142/*!
143 \fn QHolsterSensor::reading() const
144
145 Returns the reading class for this sensor.
146
147 \sa QSensor::reading()
148*/
149
150QHolsterReading *QHolsterSensor::reading() const
151{
152 return static_cast<QHolsterReading*>(QSensor::reading());
153}
154
155QT_END_NAMESPACE
156
157#include "moc_qholstersensor.cpp"
158

source code of qtsensors/src/sensors/qholstersensor.cpp