1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
|
From 898b2bdd10edff5da7b3093cacbd2e5db46cd0ff Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fatih=20A=C5=9F=C4=B1c=C4=B1?= <fatih.asici@gmail.com>
Date: Thu, 22 Jan 2015 13:14:41 +0200
Subject: [PATCH] Fix build with -no-c++11
With -no-c++11,
- Enum type names cannot be used as namespaces. Use old style naming.
- For errno, errno.h must be included.
- stdint.h must be included to use uint*_t types. Use quint*
equivalents instead.
Change-Id: I992f531a46cfc997df0aa6fc7ff6bf75fb750fc6
Sent-Upstream: https://codereview.qt-project.org/104254
Signed-off-by: Fatih Aşıcı <fatih.asici@gmail.com>
---
src/bluetooth/bluez/bluez5_helper.cpp | 16 ++---
src/bluetooth/bluez/bluez_data_p.h | 94 ++++++++++++++--------------
src/bluetooth/bluez/hcimanager.cpp | 1 +
src/bluetooth/qlowenergycontroller_bluez.cpp | 2 +
4 files changed, 58 insertions(+), 55 deletions(-)
diff --git a/src/bluetooth/bluez/bluez5_helper.cpp b/src/bluetooth/bluez/bluez5_helper.cpp
index eebeae9..0e3c006 100644
--- a/src/bluetooth/bluez/bluez5_helper.cpp
+++ b/src/bluetooth/bluez/bluez5_helper.cpp
@@ -45,16 +45,16 @@ Q_DECLARE_LOGGING_CATEGORY(QT_BT_BLUEZ)
typedef enum Bluez5TestResultType
{
- Unknown,
- Bluez4,
- Bluez5
+ BluezVersionUnknown,
+ BluezVersion4,
+ BluezVersion5
} Bluez5TestResult;
-Q_GLOBAL_STATIC_WITH_ARGS(Bluez5TestResult, bluezVersion, (Bluez5TestResult::Unknown));
+Q_GLOBAL_STATIC_WITH_ARGS(Bluez5TestResult, bluezVersion, (BluezVersionUnknown));
bool isBluez5()
{
- if (*bluezVersion() == Bluez5TestResultType::Unknown) {
+ if (*bluezVersion() == BluezVersionUnknown) {
OrgFreedesktopDBusObjectManagerInterface manager(QStringLiteral("org.bluez"),
QStringLiteral("/"),
QDBusConnection::systemBus());
@@ -65,15 +65,15 @@ bool isBluez5()
QDBusPendingReply<ManagedObjectList> reply = manager.GetManagedObjects();
reply.waitForFinished();
if (reply.isError()) {
- *bluezVersion() = Bluez5TestResultType::Bluez4;
+ *bluezVersion() = BluezVersion4;
qCDebug(QT_BT_BLUEZ) << "Bluez 4 detected.";
} else {
- *bluezVersion() = Bluez5TestResultType::Bluez5;
+ *bluezVersion() = BluezVersion5;
qCDebug(QT_BT_BLUEZ) << "Bluez 5 detected.";
}
}
- return (*bluezVersion() == Bluez5TestResultType::Bluez5);
+ return (*bluezVersion() == BluezVersion5);
}
struct AdapterData
diff --git a/src/bluetooth/bluez/bluez_data_p.h b/src/bluetooth/bluez/bluez_data_p.h
index 7c79997..9d2d96b 100644
--- a/src/bluetooth/bluez/bluez_data_p.h
+++ b/src/bluetooth/bluez/bluez_data_p.h
@@ -75,8 +75,8 @@
#define BT_SECURITY 4
struct bt_security {
- uint8_t level;
- uint8_t key_size;
+ quint8 level;
+ quint8 key_size;
};
#define BT_SECURITY_SDP 0
#define BT_SECURITY_LOW 1
@@ -162,14 +162,14 @@ static inline void ntoh128(const quint128 *src, quint128 *dst)
dst->data[15 - i] = src->data[i];
}
-static inline uint16_t bt_get_le16(const void *ptr)
+static inline quint16 bt_get_le16(const void *ptr)
{
- return bt_get_unaligned((const uint16_t *) ptr);
+ return bt_get_unaligned((const quint16 *) ptr);
}
#elif __BYTE_ORDER == __BIG_ENDIAN
-static inline uint16_t bt_get_le16(const void *ptr)
+static inline quint16 bt_get_le16(const void *ptr)
{
- return bswap_16(bt_get_unaligned((const uint16_t *) ptr));
+ return bswap_16(bt_get_unaligned((const quint16 *) ptr));
}
static inline void btoh128(const quint128 *src, quint128 *dst)
@@ -213,79 +213,79 @@ struct sockaddr_hci {
};
struct hci_dev_req {
- uint16_t dev_id;
- uint32_t dev_opt;
+ quint16 dev_id;
+ quint32 dev_opt;
};
struct hci_dev_list_req {
- uint16_t dev_num;
+ quint16 dev_num;
struct hci_dev_req dev_req[0];
};
struct hci_dev_stats {
- uint32_t err_rx;
- uint32_t err_tx;
- uint32_t cmd_tx;
- uint32_t evt_rx;
- uint32_t acl_tx;
- uint32_t acl_rx;
- uint32_t sco_tx;
- uint32_t sco_rx;
- uint32_t byte_rx;
- uint32_t byte_tx;
+ quint32 err_rx;
+ quint32 err_tx;
+ quint32 cmd_tx;
+ quint32 evt_rx;
+ quint32 acl_tx;
+ quint32 acl_rx;
+ quint32 sco_tx;
+ quint32 sco_rx;
+ quint32 byte_rx;
+ quint32 byte_tx;
};
struct hci_dev_info {
- uint16_t dev_id;
+ quint16 dev_id;
char name[8];
bdaddr_t bdaddr;
- uint32_t flags;
- uint8_t type;
+ quint32 flags;
+ quint8 type;
- uint8_t features[8];
+ quint8 features[8];
- uint32_t pkt_type;
- uint32_t link_policy;
- uint32_t link_mode;
+ quint32 pkt_type;
+ quint32 link_policy;
+ quint32 link_mode;
- uint16_t acl_mtu;
- uint16_t acl_pkts;
- uint16_t sco_mtu;
- uint16_t sco_pkts;
+ quint16 acl_mtu;
+ quint16 acl_pkts;
+ quint16 sco_mtu;
+ quint16 sco_pkts;
struct hci_dev_stats stat;
};
struct hci_conn_info {
- uint16_t handle;
+ quint16 handle;
bdaddr_t bdaddr;
- uint8_t type;
- uint8_t out;
- uint16_t state;
- uint32_t link_mode;
+ quint8 type;
+ quint8 out;
+ quint16 state;
+ quint32 link_mode;
};
struct hci_conn_list_req {
- uint16_t dev_id;
- uint16_t conn_num;
+ quint16 dev_id;
+ quint16 conn_num;
struct hci_conn_info conn_info[0];
};
struct hci_filter {
- uint32_t type_mask;
- uint32_t event_mask[2];
- uint16_t opcode;
+ quint32 type_mask;
+ quint32 event_mask[2];
+ quint16 opcode;
};
static inline void hci_set_bit(int nr, void *addr)
{
- *((uint32_t *) addr + (nr >> 5)) |= (1 << (nr & 31));
+ *((quint32 *) addr + (nr >> 5)) |= (1 << (nr & 31));
}
static inline void hci_clear_bit(int nr, void *addr)
{
- *((uint32_t *) addr + (nr >> 5)) &= ~(1 << (nr & 31));
+ *((quint32 *) addr + (nr >> 5)) &= ~(1 << (nr & 31));
}
static inline void hci_filter_clear(struct hci_filter *f)
{
@@ -317,16 +317,16 @@ static inline void hci_filter_all_events(struct hci_filter *f)
}
typedef struct {
- uint8_t evt;
- uint8_t plen;
+ quint8 evt;
+ quint8 plen;
} __attribute__ ((packed)) hci_event_hdr;
#define HCI_EVENT_HDR_SIZE 2
#define EVT_ENCRYPT_CHANGE 0x08
typedef struct {
- uint8_t status;
- uint16_t handle;
- uint8_t encrypt;
+ quint8 status;
+ quint16 handle;
+ quint8 encrypt;
} __attribute__ ((packed)) evt_encrypt_change;
#define EVT_ENCRYPT_CHANGE_SIZE 4
diff --git a/src/bluetooth/bluez/hcimanager.cpp b/src/bluetooth/bluez/hcimanager.cpp
index 17d54a4..3245058 100644
--- a/src/bluetooth/bluez/hcimanager.cpp
+++ b/src/bluetooth/bluez/hcimanager.cpp
@@ -38,6 +38,7 @@
#include <QtCore/QLoggingCategory>
+#include <errno.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
diff --git a/src/bluetooth/qlowenergycontroller_bluez.cpp b/src/bluetooth/qlowenergycontroller_bluez.cpp
index 5629966..f22cea7 100644
--- a/src/bluetooth/qlowenergycontroller_bluez.cpp
+++ b/src/bluetooth/qlowenergycontroller_bluez.cpp
@@ -41,6 +41,8 @@
#include <QtBluetooth/QBluetoothSocket>
#include <QtBluetooth/QLowEnergyService>
+#include <errno.h>
+
#define ATTRIBUTE_CHANNEL_ID 4
#define ATT_DEFAULT_LE_MTU 23
--
1.9.1
|