1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- #ifndef ANDROID_HARDWARE_GNSS_V2_1_GNSSMEASUREMENT_H
- #define ANDROID_HARDWARE_GNSS_V2_1_GNSSMEASUREMENT_H
- #include <android/hardware/gnss/2.1/IGnssMeasurement.h>
- #include <hidl/MQDescriptor.h>
- #include <hidl/Status.h>
- namespace android {
- namespace hardware {
- namespace gnss {
- namespace V2_1 {
- namespace implementation {
- using ::android::hardware::Return;
- using ::android::hardware::Void;
- using ::android::hardware::hidl_vec;
- using ::android::hardware::hidl_string;
- using ::android::sp;
- class MeasurementAPIClient;
- struct GnssMeasurement : public V2_1::IGnssMeasurement {
- GnssMeasurement(const sp<GnssMeasurement>& self);
- ~GnssMeasurement();
-
- Return<V1_0::IGnssMeasurement::GnssMeasurementStatus> setCallback(
- const sp<V1_0::IGnssMeasurementCallback>& callback) override;
- Return<void> close() override;
-
- Return<V1_0::IGnssMeasurement::GnssMeasurementStatus> setCallback_1_1(
- const sp<V1_1::IGnssMeasurementCallback>& callback,
- bool enableFullTracking) override;
-
- Return<V1_0::IGnssMeasurement::GnssMeasurementStatus> setCallback_2_0(
- const sp<V2_0::IGnssMeasurementCallback>& callback,
- bool enableFullTracking) override;
-
- Return<V1_0::IGnssMeasurement::GnssMeasurementStatus> setCallback_2_1(
- const sp<::android::hardware::gnss::V2_1::IGnssMeasurementCallback>& callback,
- bool enableFullTracking) override;
- private:
- struct GnssMeasurementDeathRecipient : hidl_death_recipient {
- GnssMeasurementDeathRecipient(const sp<GnssMeasurement>& gnssMeasurement) :
- mGnssMeasurement(gnssMeasurement) {
- }
- ~GnssMeasurementDeathRecipient() = default;
- virtual void serviceDied(uint64_t cookie, const wp<IBase>& who) override;
- const wp<GnssMeasurement> mGnssMeasurement;
- };
- void handleClientDeath();
- private:
-
-
- const sp<GnssMeasurement>& mSelf;
- sp<GnssMeasurementDeathRecipient> mGnssMeasurementDeathRecipient = nullptr;
- sp<V1_0::IGnssMeasurementCallback> mGnssMeasurementCbIface = nullptr;
- sp<V1_1::IGnssMeasurementCallback> mGnssMeasurementCbIface_1_1 = nullptr;
- sp<V2_0::IGnssMeasurementCallback> mGnssMeasurementCbIface_2_0 = nullptr;
- sp<V2_1::IGnssMeasurementCallback> mGnssMeasurementCbIface_2_1 = nullptr;
- MeasurementAPIClient* mApi;
- void clearInterfaces();
- };
- }
- }
- }
- }
- }
- #endif
|