| #include "aidl/android/hardware/gnss/GnssMeasurement.h" |
| |
| #include <android/binder_parcel_utils.h> |
| |
| namespace aidl { |
| namespace android { |
| namespace hardware { |
| namespace gnss { |
| const char* GnssMeasurement::descriptor = "android.hardware.gnss.GnssMeasurement"; |
| |
| binder_status_t GnssMeasurement::readFromParcel(const AParcel* parcel) { |
| int32_t _aidl_parcelable_size; |
| int32_t _aidl_start_pos = AParcel_getDataPosition(parcel); |
| binder_status_t _aidl_ret_status = AParcel_readInt32(parcel, &_aidl_parcelable_size); |
| if (_aidl_start_pos > INT32_MAX - _aidl_parcelable_size) return STATUS_BAD_VALUE; |
| if (_aidl_parcelable_size < 0) return STATUS_BAD_VALUE; |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| if (AParcel_getDataPosition(parcel) - _aidl_start_pos >= _aidl_parcelable_size) { |
| AParcel_setDataPosition(parcel, _aidl_start_pos + _aidl_parcelable_size); |
| return _aidl_ret_status; |
| } |
| _aidl_ret_status = AParcel_readInt32(parcel, &flags); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| if (AParcel_getDataPosition(parcel) - _aidl_start_pos >= _aidl_parcelable_size) { |
| AParcel_setDataPosition(parcel, _aidl_start_pos + _aidl_parcelable_size); |
| return _aidl_ret_status; |
| } |
| _aidl_ret_status = AParcel_readInt32(parcel, &svid); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| if (AParcel_getDataPosition(parcel) - _aidl_start_pos >= _aidl_parcelable_size) { |
| AParcel_setDataPosition(parcel, _aidl_start_pos + _aidl_parcelable_size); |
| return _aidl_ret_status; |
| } |
| _aidl_ret_status = ::ndk::AParcel_readParcelable(parcel, &signalType); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| if (AParcel_getDataPosition(parcel) - _aidl_start_pos >= _aidl_parcelable_size) { |
| AParcel_setDataPosition(parcel, _aidl_start_pos + _aidl_parcelable_size); |
| return _aidl_ret_status; |
| } |
| _aidl_ret_status = AParcel_readDouble(parcel, &timeOffsetNs); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| if (AParcel_getDataPosition(parcel) - _aidl_start_pos >= _aidl_parcelable_size) { |
| AParcel_setDataPosition(parcel, _aidl_start_pos + _aidl_parcelable_size); |
| return _aidl_ret_status; |
| } |
| _aidl_ret_status = AParcel_readInt32(parcel, &state); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| if (AParcel_getDataPosition(parcel) - _aidl_start_pos >= _aidl_parcelable_size) { |
| AParcel_setDataPosition(parcel, _aidl_start_pos + _aidl_parcelable_size); |
| return _aidl_ret_status; |
| } |
| _aidl_ret_status = AParcel_readInt64(parcel, &receivedSvTimeInNs); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| if (AParcel_getDataPosition(parcel) - _aidl_start_pos >= _aidl_parcelable_size) { |
| AParcel_setDataPosition(parcel, _aidl_start_pos + _aidl_parcelable_size); |
| return _aidl_ret_status; |
| } |
| _aidl_ret_status = AParcel_readInt64(parcel, &receivedSvTimeUncertaintyInNs); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| if (AParcel_getDataPosition(parcel) - _aidl_start_pos >= _aidl_parcelable_size) { |
| AParcel_setDataPosition(parcel, _aidl_start_pos + _aidl_parcelable_size); |
| return _aidl_ret_status; |
| } |
| _aidl_ret_status = AParcel_readDouble(parcel, &antennaCN0DbHz); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| if (AParcel_getDataPosition(parcel) - _aidl_start_pos >= _aidl_parcelable_size) { |
| AParcel_setDataPosition(parcel, _aidl_start_pos + _aidl_parcelable_size); |
| return _aidl_ret_status; |
| } |
| _aidl_ret_status = AParcel_readDouble(parcel, &basebandCN0DbHz); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| if (AParcel_getDataPosition(parcel) - _aidl_start_pos >= _aidl_parcelable_size) { |
| AParcel_setDataPosition(parcel, _aidl_start_pos + _aidl_parcelable_size); |
| return _aidl_ret_status; |
| } |
| _aidl_ret_status = AParcel_readDouble(parcel, &pseudorangeRateMps); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| if (AParcel_getDataPosition(parcel) - _aidl_start_pos >= _aidl_parcelable_size) { |
| AParcel_setDataPosition(parcel, _aidl_start_pos + _aidl_parcelable_size); |
| return _aidl_ret_status; |
| } |
| _aidl_ret_status = AParcel_readDouble(parcel, &pseudorangeRateUncertaintyMps); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| if (AParcel_getDataPosition(parcel) - _aidl_start_pos >= _aidl_parcelable_size) { |
| AParcel_setDataPosition(parcel, _aidl_start_pos + _aidl_parcelable_size); |
| return _aidl_ret_status; |
| } |
| _aidl_ret_status = AParcel_readInt32(parcel, &accumulatedDeltaRangeState); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| if (AParcel_getDataPosition(parcel) - _aidl_start_pos >= _aidl_parcelable_size) { |
| AParcel_setDataPosition(parcel, _aidl_start_pos + _aidl_parcelable_size); |
| return _aidl_ret_status; |
| } |
| _aidl_ret_status = AParcel_readDouble(parcel, &accumulatedDeltaRangeM); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| if (AParcel_getDataPosition(parcel) - _aidl_start_pos >= _aidl_parcelable_size) { |
| AParcel_setDataPosition(parcel, _aidl_start_pos + _aidl_parcelable_size); |
| return _aidl_ret_status; |
| } |
| _aidl_ret_status = AParcel_readDouble(parcel, &accumulatedDeltaRangeUncertaintyM); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| if (AParcel_getDataPosition(parcel) - _aidl_start_pos >= _aidl_parcelable_size) { |
| AParcel_setDataPosition(parcel, _aidl_start_pos + _aidl_parcelable_size); |
| return _aidl_ret_status; |
| } |
| _aidl_ret_status = AParcel_readInt64(parcel, &carrierCycles); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| if (AParcel_getDataPosition(parcel) - _aidl_start_pos >= _aidl_parcelable_size) { |
| AParcel_setDataPosition(parcel, _aidl_start_pos + _aidl_parcelable_size); |
| return _aidl_ret_status; |
| } |
| _aidl_ret_status = AParcel_readDouble(parcel, &carrierPhase); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| if (AParcel_getDataPosition(parcel) - _aidl_start_pos >= _aidl_parcelable_size) { |
| AParcel_setDataPosition(parcel, _aidl_start_pos + _aidl_parcelable_size); |
| return _aidl_ret_status; |
| } |
| _aidl_ret_status = AParcel_readDouble(parcel, &carrierPhaseUncertainty); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| if (AParcel_getDataPosition(parcel) - _aidl_start_pos >= _aidl_parcelable_size) { |
| AParcel_setDataPosition(parcel, _aidl_start_pos + _aidl_parcelable_size); |
| return _aidl_ret_status; |
| } |
| _aidl_ret_status = AParcel_readInt32(parcel, reinterpret_cast<int32_t*>(&multipathIndicator)); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| if (AParcel_getDataPosition(parcel) - _aidl_start_pos >= _aidl_parcelable_size) { |
| AParcel_setDataPosition(parcel, _aidl_start_pos + _aidl_parcelable_size); |
| return _aidl_ret_status; |
| } |
| _aidl_ret_status = AParcel_readDouble(parcel, &snrDb); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| if (AParcel_getDataPosition(parcel) - _aidl_start_pos >= _aidl_parcelable_size) { |
| AParcel_setDataPosition(parcel, _aidl_start_pos + _aidl_parcelable_size); |
| return _aidl_ret_status; |
| } |
| _aidl_ret_status = AParcel_readDouble(parcel, &agcLevelDb); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| if (AParcel_getDataPosition(parcel) - _aidl_start_pos >= _aidl_parcelable_size) { |
| AParcel_setDataPosition(parcel, _aidl_start_pos + _aidl_parcelable_size); |
| return _aidl_ret_status; |
| } |
| _aidl_ret_status = AParcel_readDouble(parcel, &fullInterSignalBiasNs); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| if (AParcel_getDataPosition(parcel) - _aidl_start_pos >= _aidl_parcelable_size) { |
| AParcel_setDataPosition(parcel, _aidl_start_pos + _aidl_parcelable_size); |
| return _aidl_ret_status; |
| } |
| _aidl_ret_status = AParcel_readDouble(parcel, &fullInterSignalBiasUncertaintyNs); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| if (AParcel_getDataPosition(parcel) - _aidl_start_pos >= _aidl_parcelable_size) { |
| AParcel_setDataPosition(parcel, _aidl_start_pos + _aidl_parcelable_size); |
| return _aidl_ret_status; |
| } |
| _aidl_ret_status = AParcel_readDouble(parcel, &satelliteInterSignalBiasNs); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| if (AParcel_getDataPosition(parcel) - _aidl_start_pos >= _aidl_parcelable_size) { |
| AParcel_setDataPosition(parcel, _aidl_start_pos + _aidl_parcelable_size); |
| return _aidl_ret_status; |
| } |
| _aidl_ret_status = AParcel_readDouble(parcel, &satelliteInterSignalBiasUncertaintyNs); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| if (AParcel_getDataPosition(parcel) - _aidl_start_pos >= _aidl_parcelable_size) { |
| AParcel_setDataPosition(parcel, _aidl_start_pos + _aidl_parcelable_size); |
| return _aidl_ret_status; |
| } |
| _aidl_ret_status = ::ndk::AParcel_readParcelable(parcel, &satellitePvt); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| if (AParcel_getDataPosition(parcel) - _aidl_start_pos >= _aidl_parcelable_size) { |
| AParcel_setDataPosition(parcel, _aidl_start_pos + _aidl_parcelable_size); |
| return _aidl_ret_status; |
| } |
| _aidl_ret_status = ::ndk::AParcel_readVector(parcel, &correlationVectors); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| AParcel_setDataPosition(parcel, _aidl_start_pos + _aidl_parcelable_size); |
| return _aidl_ret_status; |
| } |
| binder_status_t GnssMeasurement::writeToParcel(AParcel* parcel) const { |
| binder_status_t _aidl_ret_status; |
| size_t _aidl_start_pos = AParcel_getDataPosition(parcel); |
| _aidl_ret_status = AParcel_writeInt32(parcel, 0); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| _aidl_ret_status = AParcel_writeInt32(parcel, flags); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| _aidl_ret_status = AParcel_writeInt32(parcel, svid); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| _aidl_ret_status = ::ndk::AParcel_writeParcelable(parcel, signalType); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| _aidl_ret_status = AParcel_writeDouble(parcel, timeOffsetNs); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| _aidl_ret_status = AParcel_writeInt32(parcel, state); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| _aidl_ret_status = AParcel_writeInt64(parcel, receivedSvTimeInNs); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| _aidl_ret_status = AParcel_writeInt64(parcel, receivedSvTimeUncertaintyInNs); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| _aidl_ret_status = AParcel_writeDouble(parcel, antennaCN0DbHz); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| _aidl_ret_status = AParcel_writeDouble(parcel, basebandCN0DbHz); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| _aidl_ret_status = AParcel_writeDouble(parcel, pseudorangeRateMps); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| _aidl_ret_status = AParcel_writeDouble(parcel, pseudorangeRateUncertaintyMps); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| _aidl_ret_status = AParcel_writeInt32(parcel, accumulatedDeltaRangeState); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| _aidl_ret_status = AParcel_writeDouble(parcel, accumulatedDeltaRangeM); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| _aidl_ret_status = AParcel_writeDouble(parcel, accumulatedDeltaRangeUncertaintyM); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| _aidl_ret_status = AParcel_writeInt64(parcel, carrierCycles); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| _aidl_ret_status = AParcel_writeDouble(parcel, carrierPhase); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| _aidl_ret_status = AParcel_writeDouble(parcel, carrierPhaseUncertainty); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| _aidl_ret_status = AParcel_writeInt32(parcel, static_cast<int32_t>(multipathIndicator)); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| _aidl_ret_status = AParcel_writeDouble(parcel, snrDb); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| _aidl_ret_status = AParcel_writeDouble(parcel, agcLevelDb); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| _aidl_ret_status = AParcel_writeDouble(parcel, fullInterSignalBiasNs); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| _aidl_ret_status = AParcel_writeDouble(parcel, fullInterSignalBiasUncertaintyNs); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| _aidl_ret_status = AParcel_writeDouble(parcel, satelliteInterSignalBiasNs); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| _aidl_ret_status = AParcel_writeDouble(parcel, satelliteInterSignalBiasUncertaintyNs); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| _aidl_ret_status = ::ndk::AParcel_writeParcelable(parcel, satellitePvt); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| _aidl_ret_status = ::ndk::AParcel_writeVector(parcel, correlationVectors); |
| if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; |
| |
| size_t _aidl_end_pos = AParcel_getDataPosition(parcel); |
| AParcel_setDataPosition(parcel, _aidl_start_pos); |
| AParcel_writeInt32(parcel, _aidl_end_pos - _aidl_start_pos); |
| AParcel_setDataPosition(parcel, _aidl_end_pos); |
| return _aidl_ret_status; |
| } |
| |
| } // namespace gnss |
| } // namespace hardware |
| } // namespace android |
| } // namespace aidl |