~ci-train-bot/webbrowser-app/webbrowser-app-ubuntu-zesty-2396

« back to all changes in this revision

Viewing changes to src/app/unity8/plugins/Unity/InputInfo/linux/qinputdeviceinfo_linux_p.h

* Include only webbrowser-app data in the snap (no webapp-container)
* Use the upstream QtSystemInfo instead of embedding an old copy of
  its source code
* Stop using deprecated WebView APIs (LP: #1651173)
* Stop using a deprecated API in the webapp container (LP: #1567656)
* Escape all HTML entities in search queries (LP: #1652292)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/****************************************************************************
2
 
**
3
 
** Copyright (C) 2014 Canonical, 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: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 Digia.  For licensing terms and
14
 
** conditions see http://qt.digia.com/licensing.  For further information
15
 
** use the contact form at http://qt.digia.com/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 as published by the Free Software
20
 
** Foundation and appearing in the file LICENSE.LGPL included in the
21
 
** packaging of this file.  Please review the following information to
22
 
** ensure the GNU Lesser General Public License version 2.1 requirements
23
 
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
24
 
**
25
 
** In addition, as a special exception, Digia gives you certain additional
26
 
** rights.  These rights are described in the Digia Qt LGPL Exception
27
 
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
28
 
**
29
 
** GNU General Public License Usage
30
 
** Alternatively, this file may be used under the terms of the GNU
31
 
** General Public License version 3.0 as published by the Free Software
32
 
** Foundation and appearing in the file LICENSE.GPL included in the
33
 
** packaging of this file.  Please review the following information to
34
 
** ensure the GNU General Public License version 3.0 requirements will be
35
 
** met: http://www.gnu.org/copyleft/gpl.html.
36
 
**
37
 
**
38
 
** $QT_END_LICENSE$
39
 
**
40
 
****************************************************************************/
41
 
 
42
 
#ifndef QINPUTDEVICEINFO_LINUX_P_H
43
 
#define QINPUTDEVICEINFO_LINUX_P_H
44
 
 
45
 
#include <QObject>
46
 
#include "qinputinfo.h"
47
 
#include <libudev.h>
48
 
 
49
 
class QInputDevicePrivate : public QObject
50
 
{
51
 
    Q_OBJECT
52
 
public:
53
 
    explicit QInputDevicePrivate(QObject *parent = 0);
54
 
 
55
 
    QString name;
56
 
    QString devicePath;
57
 
    QList <int> buttons; //keys
58
 
    QList <int> switches;
59
 
    QList <int> relativeAxis;
60
 
    QList <int> absoluteAxis;
61
 
    QInputDevice::InputTypeFlags type;
62
 
};
63
 
 
64
 
class QInputDeviceManagerPrivate : public QObject
65
 
{
66
 
    Q_OBJECT
67
 
public:
68
 
    explicit QInputDeviceManagerPrivate(QObject *parent = 0);
69
 
    ~QInputDeviceManagerPrivate();
70
 
    QVector <QInputDevice *> deviceList;
71
 
    QMap <QString, QInputDevice *> deviceMap;
72
 
    static QInputDeviceManagerPrivate * instance();
73
 
    QInputDevice::InputType currentFilter;
74
 
 
75
 
Q_SIGNALS:
76
 
    void deviceAdded(const QString &);
77
 
    void deviceRemoved(const QString &);
78
 
    void ready();
79
 
 
80
 
private:
81
 
    QInputDevice *addDevice(struct udev_device *udev);
82
 
    QInputDevice *addUdevDevice(struct udev_device *);
83
 
 
84
 
    QInputDevice *addDevice(const QString &path);
85
 
    void removeDevice(const QString &path);
86
 
    QSocketNotifier *notifier;
87
 
    int notifierFd;
88
 
    struct udev_monitor *udevMonitor;
89
 
    QInputDevice::InputTypeFlags getInputTypeFlags(struct udev_device *);
90
 
    struct udev *udevice;
91
 
    void addDetails(struct udev_device *);
92
 
 
93
 
private Q_SLOTS:
94
 
    void onUDevChanges();
95
 
    void init();
96
 
};
97
 
 
98
 
#endif // QINPUTDEVICEINFO_LINUX_P_H