GCC Code Coverage Report


Directory: ./
File: server/keyboard.h
Date: 2024-01-22 17:25:27
Exec Total Coverage
Lines: 1 1 100.0%
Branches: 3 6 50.0%

Line Branch Exec Source
1 /********************************************************************
2 Copyright © 2020 Roman Gilg <subdiff@gmail.com>
3
4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) version 3, or any
8 later version accepted by the membership of KDE e.V. (or its
9 successor approved by the membership of KDE e.V.), which shall
10 act as a proxy defined in Section 6 of version 3 of the license.
11
12 This library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Lesser General Public License for more details.
16
17 You should have received a copy of the GNU Lesser General Public
18 License along with this library. If not, see <http://www.gnu.org/licenses/>.
19 *********************************************************************/
20 #pragma once
21
22 #include "keyboard_pool.h"
23
24 #include <QObject>
25
26 #include <Wrapland/Server/wraplandserver_export.h>
27
28 #include <string>
29
30 namespace Wrapland::Server
31 {
32 class Client;
33 class Seat;
34
35 class Surface;
36
37 class WRAPLANDSERVER_EXPORT Keyboard : public QObject
38 {
39 Q_OBJECT
40 public:
41 Client* client() const;
42 Surface* focusedSurface() const;
43
44 Q_SIGNALS:
45 void resourceDestroyed();
46
47 private:
48 void setFocusedSurface(quint32 serial, Surface* surface);
49 void setKeymap(char const* content);
50 void updateModifiers(quint32 serial,
51 quint32 depressed,
52 quint32 latched,
53 quint32 locked,
54 quint32 group);
55 void key(uint32_t serial, uint32_t key, key_state state);
56 void repeatInfo(qint32 charactersPerSecond, qint32 delay);
57
58 friend class Seat;
59 friend class keyboard_pool;
60 Keyboard(Client* client, uint32_t version, uint32_t id, Seat* seat);
61
62 class Private;
63 Private* d_ptr;
64 };
65
66 }
67
68
3/6
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
1 Q_DECLARE_METATYPE(Wrapland::Server::Keyboard*)
69