1/****************************************************************************
2**
3** Copyright (C) 2015 The Qt Company Ltd.
4** Contact: http://www.qt.io/licensing/
5**
6** This file is part of the Qt Gamepad module
7**
8** $QT_BEGIN_LICENSE:LGPL3$
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 3 as published by the Free Software
20** Foundation and appearing in the file LICENSE.LGPLv3 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.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 later as published by the Free
28** Software Foundation and appearing in the file LICENSE.GPL included in
29** the packaging of this file. Please review the following information to
30** ensure the GNU General Public License version 2.0 requirements will be
31** met: http://www.gnu.org/licenses/gpl-2.0.html.
32**
33** $QT_END_LICENSE$
34**
35****************************************************************************/
36
37#include "qgamepadbackend_p.h"
38#include <QSettings>
39
40QT_BEGIN_NAMESPACE
41
42static const QLatin1String GAMEPAD_GROUP("___gamepad_saved_states_v2");
43
44QGamepadBackend::QGamepadBackend(QObject *parent) :
45 QObject(parent)
46{
47}
48
49bool QGamepadBackend::isConfigurationNeeded(int /*deviceId*/)
50{
51 return false;
52}
53
54void QGamepadBackend::resetConfiguration(int /*deviceId*/)
55{
56}
57
58bool QGamepadBackend::configureButton(int /*deviceId*/, QGamepadManager::GamepadButton /*button*/)
59{
60 return false;
61}
62
63bool QGamepadBackend::configureAxis(int /*deviceId*/, QGamepadManager::GamepadAxis /*axis*/)
64{
65 return false;
66}
67
68bool QGamepadBackend::setCancelConfigureButton(int /*deviceId*/, QGamepadManager::GamepadButton /*button*/)
69{
70 return false;
71}
72
73void QGamepadBackend::setSettingsFile(const QString &file)
74{
75 m_settingsFilePath = file;
76}
77
78void QGamepadBackend::saveSettings(int productId, const QVariant &value)
79{
80 QScopedPointer<QSettings> s;
81 if (m_settingsFilePath.isNull())
82 s.reset(other: new QSettings());
83 else
84 s.reset(other: new QSettings(m_settingsFilePath));
85 s->beginGroup(prefix: GAMEPAD_GROUP);
86 QString key = QString::fromLatin1(str: "id_%1").arg(a: productId);
87 if (value.isNull())
88 s->remove(key);
89 else
90 s->setValue(key, value);
91}
92
93QVariant QGamepadBackend::readSettings(int productId)
94{
95 QScopedPointer<QSettings> s;
96 if (m_settingsFilePath.isNull())
97 s.reset(other: new QSettings());
98 else
99 s.reset(other: new QSettings(m_settingsFilePath));
100 s->beginGroup(prefix: GAMEPAD_GROUP);
101 return s->value(key: QString::fromLatin1(str: "id_%1").arg(a: productId));
102}
103
104bool QGamepadBackend::start()
105{
106 return true;
107}
108
109void QGamepadBackend::stop()
110{
111
112}
113
114QT_END_NAMESPACE
115

source code of qtgamepad/src/gamepad/qgamepadbackend.cpp