Add IGnssConfiguration AIDL HAL (hardware/interfaces)

In default implementation, both AIDL HAL and the v2.1 HIDL HAL services
are running in the same process. The HIDL HAL implementation is able to
interact with the AIDL HAL implementation.

Bug: 168111993
Bug: 150192654
Test: on cuttlefish
Change-Id: Ib2770780b62a939f6ca447dfb6a6ab888c526fec
diff --git a/gnss/aidl/default/Gnss.h b/gnss/aidl/default/Gnss.h
index 9864e9d..61d7cf7 100644
--- a/gnss/aidl/default/Gnss.h
+++ b/gnss/aidl/default/Gnss.h
@@ -17,12 +17,24 @@
 #pragma once
 
 #include <aidl/android/hardware/gnss/BnGnss.h>
+#include <aidl/android/hardware/gnss/BnGnssConfiguration.h>
 #include <aidl/android/hardware/gnss/BnGnssPsds.h>
+#include "GnssConfiguration.h"
 
 namespace aidl::android::hardware::gnss {
 
 class Gnss : public BnGnss {
+  public:
+    ndk::ScopedAStatus setCallback(const std::shared_ptr<IGnssCallback>& callback) override;
+    ndk::ScopedAStatus close() override;
     ndk::ScopedAStatus getExtensionPsds(std::shared_ptr<IGnssPsds>* iGnssPsds) override;
+    ndk::ScopedAStatus getExtensionGnssConfiguration(
+            std::shared_ptr<IGnssConfiguration>* iGnssConfiguration) override;
+
+    std::shared_ptr<GnssConfiguration> mGnssConfiguration;
+
+  private:
+    static std::shared_ptr<IGnssCallback> sGnssCallback;
 };
 
 }  // namespace aidl::android::hardware::gnss