~albaguirre/qtubuntu/mir-0.26.1-compat

« back to all changes in this revision

Viewing changes to src/ubuntumirclient/qmirclientintegration.h

Class renaming and syntax changes to shrink delta with upstream mirclient QPA plugin (which is equivalent to rev 360)

Changes:
- Rename classes to prefix "QMirClient" instead of "Ubuntu"
- Update licence headers to match Qt's
- change logging categories spec to match Qt: qt.qpa.mirclient
- Enforce American English
- some minor syntax tweaks

Some differences still exist:
- QPA plugin remains "ubuntumirclient" and not "mirclient" as used upstream.
- some header paths differ between in-Qt code and externally built code
- I've not included build-type switches for things like accessibility support
- relaxed switch cases to allow older versions of Mir not break a build
- panel height hack removed from upstream
- platform-api env var setting removed from upstream

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * Copyright (C) 2014,2016 Canonical, Ltd.
3
 
 *
4
 
 * This program is free software: you can redistribute it and/or modify it under
5
 
 * the terms of the GNU Lesser General Public License version 3, as published by
6
 
 * the Free Software Foundation.
7
 
 *
8
 
 * This program is distributed in the hope that it will be useful, but WITHOUT
9
 
 * ANY WARRANTY; without even the implied warranties of MERCHANTABILITY,
10
 
 * SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11
 
 * Lesser General Public License for more details.
12
 
 *
13
 
 * You should have received a copy of the GNU Lesser General Public License
14
 
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
15
 
 */
16
 
 
17
 
#ifndef UBUNTU_CLIENT_INTEGRATION_H
18
 
#define UBUNTU_CLIENT_INTEGRATION_H
 
1
/****************************************************************************
 
2
**
 
3
** Copyright (C) 2016 Canonical, Ltd.
 
4
** Contact: https://www.qt.io/licensing/
 
5
**
 
6
** This file is part of the plugins 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
 
 
40
 
 
41
#ifndef QMIRCLIENTINTEGRATION_H
 
42
#define QMIRCLIENTINTEGRATION_H
19
43
 
20
44
#include <qpa/qplatformintegration.h>
21
45
#include <QSharedPointer>
22
46
 
23
 
#include "appstatecontroller.h"
24
 
#include "platformservices.h"
25
 
#include "screenobserver.h"
 
47
#include "qmirclientappstatecontroller.h"
 
48
#include "qmirclientplatformservices.h"
 
49
#include "qmirclientscreenobserver.h"
26
50
 
27
51
// platform-api
28
52
#include <ubuntu/application/description.h>
30
54
 
31
55
#include <EGL/egl.h>
32
56
 
33
 
class UbuntuDebugExtension;
34
 
class UbuntuInput;
35
 
class UbuntuNativeInterface;
36
 
class UbuntuScreen;
 
57
class QMirClientDebugExtension;
 
58
class QMirClientInput;
 
59
class QMirClientNativeInterface;
 
60
class QMirClientScreen;
37
61
class MirConnection;
38
62
 
39
 
class UbuntuClientIntegration : public QObject, public QPlatformIntegration
 
63
class QMirClientClientIntegration : public QObject, public QPlatformIntegration
40
64
{
41
65
    Q_OBJECT
42
66
 
43
67
public:
44
 
    UbuntuClientIntegration(int argc, char **argv);
45
 
    virtual ~UbuntuClientIntegration();
 
68
    QMirClientClientIntegration(int argc, char **argv);
 
69
    virtual ~QMirClientClientIntegration();
46
70
 
47
71
    // QPlatformIntegration methods.
48
72
    bool hasCapability(QPlatformIntegration::Capability cap) const override;
66
90
    MirConnection *mirConnection() const { return mMirConnection; }
67
91
    EGLDisplay eglDisplay() const { return mEglDisplay; }
68
92
    EGLNativeDisplayType eglNativeDisplay() const { return mEglNativeDisplay; }
69
 
    UbuntuAppStateController *appStateController() const { return mAppStateController.data(); }
70
 
    UbuntuScreenObserver *screenObserver() const { return mScreenObserver.data(); }
71
 
    UbuntuDebugExtension *debugExtension() const { return mDebugExtension.data(); }
 
93
    QMirClientAppStateController *appStateController() const { return mAppStateController.data(); }
 
94
    QMirClientScreenObserver *screenObserver() const { return mScreenObserver.data(); }
 
95
    QMirClientDebugExtension *debugExtension() const { return mDebugExtension.data(); }
72
96
 
73
97
private Q_SLOTS:
74
 
    void destroyScreen(UbuntuScreen *screen);
 
98
    void destroyScreen(QMirClientScreen *screen);
75
99
 
76
100
private:
77
101
    void setupOptions(QStringList &args);
79
103
    static QByteArray generateSessionName(QStringList &args);
80
104
    static QByteArray generateSessionNameFromQmlFile(QStringList &args);
81
105
 
82
 
    UbuntuNativeInterface* mNativeInterface;
 
106
    QMirClientNativeInterface* mNativeInterface;
83
107
    QPlatformFontDatabase* mFontDb;
84
108
 
85
 
    UbuntuPlatformServices* mServices;
 
109
    QMirClientPlatformServices* mServices;
86
110
 
87
 
    UbuntuInput* mInput;
 
111
    QMirClientInput* mInput;
88
112
    QPlatformInputContext* mInputContext;
89
113
    mutable QScopedPointer<QPlatformAccessibility> mAccessibility;
90
 
    QScopedPointer<UbuntuDebugExtension> mDebugExtension;
91
 
    QScopedPointer<UbuntuScreenObserver> mScreenObserver;
92
 
    QScopedPointer<UbuntuAppStateController> mAppStateController;
 
114
    QScopedPointer<QMirClientDebugExtension> mDebugExtension;
 
115
    QScopedPointer<QMirClientScreenObserver> mScreenObserver;
 
116
    QScopedPointer<QMirClientAppStateController> mAppStateController;
93
117
    qreal mScaleFactor;
94
118
 
95
119
    MirConnection *mMirConnection;
104
128
    EGLNativeDisplayType mEglNativeDisplay;
105
129
};
106
130
 
107
 
#endif // UBUNTU_CLIENT_INTEGRATION_H
 
131
#endif // QMIRCLIENTINTEGRATION_H