Separate LE scanner and GATT client BTIF interfaces (2/3)

In order to properly separate low level structures associated with LE
scanner and GATT client, their interfaces must be separated first.

Test: sl4a BleScanApiTest
Bug: 30622771
Change-Id: Idf8c5b7285b68e59f18f5216380488bfe8404b22
diff --git a/include/hardware/bt_gatt.h b/include/hardware/bt_gatt.h
index 5d59f96..414d3e4 100644
--- a/include/hardware/bt_gatt.h
+++ b/include/hardware/bt_gatt.h
@@ -20,6 +20,7 @@
 
 #include <stdint.h>
 #include "ble_advertiser.h"
+#include "ble_scanner.h"
 #include "bt_gatt_client.h"
 #include "bt_gatt_server.h"
 
@@ -35,6 +36,9 @@
 
     /** GATT Server callbacks */
     const btgatt_server_callbacks_t* server;
+
+    /** LE scanner callbacks */
+    const btgatt_scanner_callbacks_t* scanner;
 } btgatt_callbacks_t;
 
 /** Represents the standard Bluetooth GATT interface. */
@@ -56,6 +60,9 @@
     /** Pointer to the GATT server interface methods.*/
     const btgatt_server_interface_t* server;
 
+    /** Pointer to the LE scanner interface methods.*/
+    const btgatt_scanner_interface_t* scanner;
+
     /** Pointer to the advertiser interface methods.*/
     BleAdvertiserInterface* advertiser;
 } btgatt_interface_t;