platform_hardware_interfaces/gnss/aidl/vts/GnssCallbackAidl.h
Zhanghao d32f378405 GnssStatus for GnssMeasurement-only VTS test
Update VTS test case: GnssStatus should be reported when only
measurement is registered.

Test: atest VtsHalGnssTargetTest
Bug: 274653052
Change-Id: I53c741d2cee7a4c36ad0a2744ccb8b3e917b7996
2023-03-31 19:57:02 +00:00

72 lines
No EOL
3.4 KiB
C++

/*
* Copyright (C) 2020 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
#include <android/hardware/gnss/BnGnssCallback.h>
#include <utility>
#include "GnssCallbackEventQueue.h"
/* Callback class for data & Event. */
class GnssCallbackAidl : public android::hardware::gnss::BnGnssCallback {
public:
GnssCallbackAidl()
: capabilities_cbq_("capabilities"),
signal_type_capabilities_cbq_("signal_type_capabilities"),
info_cbq_("system_info"),
location_cbq_("location"),
sv_info_list_cbq_("sv_info"),
sv_info_list_timestamps_millis_cbq_("sv_info_timestamps"),
nmea_cbq_("nmea"){};
~GnssCallbackAidl(){};
android::binder::Status gnssSetCapabilitiesCb(const int capabilities) override;
android::binder::Status gnssSetSignalTypeCapabilitiesCb(
const std::vector<android::hardware::gnss::GnssSignalType>& signalTypes) override;
android::binder::Status gnssStatusCb(const GnssStatusValue status) override;
android::binder::Status gnssSvStatusCb(const std::vector<GnssSvInfo>& svInfoList) override;
android::binder::Status gnssLocationCb(
const android::hardware::gnss::GnssLocation& location) override;
android::binder::Status gnssNmeaCb(const int64_t timestamp, const std::string& nmea) override;
android::binder::Status gnssAcquireWakelockCb() override;
android::binder::Status gnssReleaseWakelockCb() override;
android::binder::Status gnssSetSystemInfoCb(const GnssSystemInfo& info) override;
android::binder::Status gnssRequestTimeCb() override;
android::binder::Status gnssRequestLocationCb(const bool independentFromGnss,
const bool isUserEmergency) override;
int last_capabilities_;
std::vector<android::hardware::gnss::GnssSignalType> last_signal_type_capabilities;
android::hardware::gnss::IGnssCallback::GnssSystemInfo last_info_;
android::hardware::gnss::GnssLocation last_location_;
android::hardware::gnss::common::GnssCallbackEventQueue<int> capabilities_cbq_;
android::hardware::gnss::common::GnssCallbackEventQueue<
std::vector<android::hardware::gnss::GnssSignalType>>
signal_type_capabilities_cbq_;
android::hardware::gnss::common::GnssCallbackEventQueue<
android::hardware::gnss::IGnssCallback::GnssSystemInfo>
info_cbq_;
android::hardware::gnss::common::GnssCallbackEventQueue<android::hardware::gnss::GnssLocation>
location_cbq_;
android::hardware::gnss::common::GnssCallbackEventQueue<
std::vector<android::hardware::gnss::IGnssCallback::GnssSvInfo>>
sv_info_list_cbq_;
android::hardware::gnss::common::GnssCallbackEventQueue<long>
sv_info_list_timestamps_millis_cbq_;
android::hardware::gnss::common::GnssCallbackEventQueue<std::pair<int64_t, std::string>>
nmea_cbq_;
};