OSDN Git Service

BTIF: Fix return types of interface getters
authorJack He <siyuanh@google.com>
Mon, 4 Dec 2017 22:30:42 +0000 (14:30 -0800)
committerJack He <siyuanh@google.com>
Thu, 7 Dec 2017 01:19:45 +0000 (17:19 -0800)
* They should return const pointer to interface structs
* Fixed return type for btif_rc_ctrl_get_interface, it should be
  "const btrc_ctrl_interface_t*" but was "btrc_interface_t*". Later
  casting masked this error, but it may hurt us in the future if not
  fixed

Test: make
Change-Id: I41b2366cce68b1338761d84cef9ab986fd3334df

btif/include/btif_sock.h
btif/src/bluetooth.cc
btif/src/btif_pan.cc
btif/src/btif_sock.cc

index 8f1851b..cb0378e 100644 (file)
@@ -22,7 +22,7 @@
 
 #include <hardware/bt_sock.h>
 
-btsock_interface_t* btif_sock_get_interface(void);
+const btsock_interface_t* btif_sock_get_interface(void);
 
 bt_status_t btif_sock_init(uid_set_t* uid_set);
 void btif_sock_cleanup(void);
index ac261ed..6be0c47 100644 (file)
@@ -83,35 +83,35 @@ bool restricted_mode = false;
 /* list all extended interfaces here */
 
 /* handsfree profile */
-extern bthf_interface_t* btif_hf_get_interface();
+extern const bthf_interface_t* btif_hf_get_interface();
 /* handsfree profile - client */
-extern bthf_client_interface_t* btif_hf_client_get_interface();
+extern const bthf_client_interface_t* btif_hf_client_get_interface();
 /* advanced audio profile */
-extern btav_source_interface_t* btif_av_get_src_interface();
-extern btav_sink_interface_t* btif_av_get_sink_interface();
+extern const btav_source_interface_t* btif_av_get_src_interface();
+extern const btav_sink_interface_t* btif_av_get_sink_interface();
 /*rfc l2cap*/
-extern btsock_interface_t* btif_sock_get_interface();
+extern const btsock_interface_t* btif_sock_get_interface();
 /* hid host profile */
-extern bthh_interface_t* btif_hh_get_interface();
+extern const bthh_interface_t* btif_hh_get_interface();
 /* hid device profile */
-extern bthd_interface_t* btif_hd_get_interface();
+extern const bthd_interface_t* btif_hd_get_interface();
 /* health device profile */
-extern bthl_interface_t* btif_hl_get_interface();
+extern const bthl_interface_t* btif_hl_get_interface();
 /*pan*/
-extern btpan_interface_t* btif_pan_get_interface();
+extern const btpan_interface_t* btif_pan_get_interface();
 /*map client*/
-extern btmce_interface_t* btif_mce_get_interface();
+extern const btmce_interface_t* btif_mce_get_interface();
 /* gatt */
 extern const btgatt_interface_t* btif_gatt_get_interface();
 /* avrc target */
-extern btrc_interface_t* btif_rc_get_interface();
+extern const btrc_interface_t* btif_rc_get_interface();
 /* avrc controller */
-extern btrc_interface_t* btif_rc_ctrl_get_interface();
+extern const btrc_ctrl_interface_t* btif_rc_ctrl_get_interface();
 /*SDP search client*/
-extern btsdp_interface_t* btif_sdp_get_interface();
+extern const btsdp_interface_t* btif_sdp_get_interface();
 
 /* List all test interface here */
-extern btmcap_test_interface_t* stack_mcap_get_interface();
+extern const btmcap_test_interface_t* stack_mcap_get_interface();
 
 /*******************************************************************************
  *  Functions
index e1e6b18..af188fb 100644 (file)
@@ -111,7 +111,7 @@ static btpan_interface_t pan_if = {
     sizeof(pan_if), btpan_jni_init,   btpan_enable,     btpan_get_local_role,
     btpan_connect,  btpan_disconnect, btpan_jni_cleanup};
 
-btpan_interface_t* btif_pan_get_interface() { return &pan_if; }
+const btpan_interface_t* btif_pan_get_interface() { return &pan_if; }
 
 /*******************************************************************************
  **
index 2d5f5c2..46bf7ec 100644 (file)
@@ -50,7 +50,7 @@ static void btsock_signaled(int fd, int type, int flags, uint32_t user_id);
 static std::atomic_int thread_handle{-1};
 static thread_t* thread;
 
-btsock_interface_t* btif_sock_get_interface(void) {
+const btsock_interface_t* btif_sock_get_interface(void) {
   static btsock_interface_t interface = {sizeof(interface), btsock_listen,
                                          btsock_connect};