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

