1 /*
2  * Copyright (C) 2020 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #pragma once
18 #include <android/hardware/gnss/2.0/IGnssConfiguration.h>
19 
20 namespace goldfish {
21 namespace ahg = ::android::hardware::gnss;
22 namespace ahg20 = ahg::V2_0;
23 namespace ahg11 = ahg::V1_1;
24 namespace ahg10 = ahg::V1_0;
25 
26 using ::android::sp;
27 using ::android::hardware::hidl_bitfield;
28 using ::android::hardware::hidl_vec;
29 using ::android::hardware::Return;
30 
31 struct Gnss20;
32 
33 struct GnssConfiguration20 : public ahg20::IGnssConfiguration {
34     // Methods from ::android::hardware::gnss::V2_0::IGnssConfiguration follow.
35     Return<bool> setEsExtensionSec(uint32_t emergencyExtensionSeconds) override;
36 
37     // Methods from ::android::hardware::gnss::V1_1::IGnssConfiguration follow.
38     Return<bool> setBlacklist(const hidl_vec<ahg11::IGnssConfiguration::BlacklistedSource>& blacklist) override;
39 
40     // Methods from ::android::hardware::gnss::V1_0::IGnssConfiguration follow.
41     Return<bool> setSuplEs(bool enabled) override;
42     Return<bool> setSuplVersion(uint32_t version) override;
43     Return<bool> setSuplMode(hidl_bitfield<SuplMode> mode) override;
44     Return<bool> setGpsLock(hidl_bitfield<GpsLock> lock) override;
45     Return<bool> setLppProfile(hidl_bitfield<LppProfile> lppProfile) override;
46     Return<bool> setGlonassPositioningProtocol(hidl_bitfield<GlonassPosProtocol> protocol) override;
47     Return<bool> setEmergencySuplPdn(bool enable) override;
48 };
49 
50 }  // namespace goldfish
51