0001-Fix-build-with-no-c-11.patch 7.2 KB

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