/* * This file is auto-generated. DO NOT MODIFY. * Using: /home/iscle/Android/Sdk/build-tools/35.0.1/aidl --lang=ndk -o generated -h generated/include --structured --stability=vintf --min_sdk_version=31 -I hardware_interfaces/common/aidl/aidl_api/android.hardware.common/current/ -I hardware_interfaces/common/fmq/aidl/aidl_api/android.hardware.common.fmq/current/ -I hardware_interfaces/audio/aidl/aidl_api/android.hardware.audio.common/current/ -I hardware_interfaces/audio/aidl/aidl_api/android.hardware.audio.effect/current/ -I system_hardware_interfaces/media/aidl_api/android.media.audio.common.types/current/ -I system_hardware_interfaces/media/aidl_api/android.media.audio.eraser.types/current/ hardware_interfaces/audio/aidl/aidl_api/android.hardware.audio.effect/current/android/hardware/audio/effect/Parameter.aidl */ #include "aidl/android/hardware/audio/effect/Parameter.h" #include #include #include #include namespace aidl { namespace android { namespace hardware { namespace audio { namespace effect { const char* Parameter::descriptor = "android.hardware.audio.effect.Parameter"; binder_status_t Parameter::readFromParcel(const AParcel* _parcel) { binder_status_t _aidl_ret_status; int32_t _aidl_tag; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_tag)) != STATUS_OK) return _aidl_ret_status; switch (static_cast(_aidl_tag)) { case common: { ::aidl::android::hardware::audio::effect::Parameter::Common _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::Parameter::Common>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case deviceDescription: { std::vector<::aidl::android::media::audio::common::AudioDeviceDescription> _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case mode: { ::aidl::android::media::audio::common::AudioMode _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::media::audio::common::AudioMode>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case source: { ::aidl::android::media::audio::common::AudioSource _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::media::audio::common::AudioSource>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case offload: { bool _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case volumeStereo: { ::aidl::android::hardware::audio::effect::Parameter::VolumeStereo _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::Parameter::VolumeStereo>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case specific: { ::aidl::android::hardware::audio::effect::Parameter::Specific _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::Parameter::Specific>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case sinkMetadata: { ::aidl::android::hardware::audio::common::SinkMetadata _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::common::SinkMetadata>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case sourceMetadata: { ::aidl::android::hardware::audio::common::SourceMetadata _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::common::SourceMetadata>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } } return STATUS_BAD_VALUE; } binder_status_t Parameter::writeToParcel(AParcel* _parcel) const { binder_status_t _aidl_ret_status = ::ndk::AParcel_writeData(_parcel, static_cast(getTag())); if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; switch (getTag()) { case common: return ::ndk::AParcel_writeData(_parcel, get()); case deviceDescription: return ::ndk::AParcel_writeData(_parcel, get()); case mode: return ::ndk::AParcel_writeData(_parcel, get()); case source: return ::ndk::AParcel_writeData(_parcel, get()); case offload: return ::ndk::AParcel_writeData(_parcel, get()); case volumeStereo: return ::ndk::AParcel_writeData(_parcel, get()); case specific: return ::ndk::AParcel_writeData(_parcel, get()); case sinkMetadata: return ::ndk::AParcel_writeData(_parcel, get()); case sourceMetadata: return ::ndk::AParcel_writeData(_parcel, get()); } __assert2(__FILE__, __LINE__, __PRETTY_FUNCTION__, "can't reach here"); } } // namespace effect } // namespace audio } // namespace hardware } // namespace android } // namespace aidl namespace aidl { namespace android { namespace hardware { namespace audio { namespace effect { const char* Parameter::Id::descriptor = "android.hardware.audio.effect.Parameter.Id"; binder_status_t Parameter::Id::readFromParcel(const AParcel* _parcel) { binder_status_t _aidl_ret_status; int32_t _aidl_tag; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_tag)) != STATUS_OK) return _aidl_ret_status; switch (static_cast(_aidl_tag)) { case vendorEffectTag: { ::aidl::android::hardware::audio::effect::VendorExtension _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::VendorExtension>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case acousticEchoCancelerTag: { ::aidl::android::hardware::audio::effect::AcousticEchoCanceler::Id _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::AcousticEchoCanceler::Id>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case automaticGainControlV1Tag: { ::aidl::android::hardware::audio::effect::AutomaticGainControlV1::Id _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::AutomaticGainControlV1::Id>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case automaticGainControlV2Tag: { ::aidl::android::hardware::audio::effect::AutomaticGainControlV2::Id _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::AutomaticGainControlV2::Id>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case bassBoostTag: { ::aidl::android::hardware::audio::effect::BassBoost::Id _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::BassBoost::Id>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case downmixTag: { ::aidl::android::hardware::audio::effect::Downmix::Id _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::Downmix::Id>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case dynamicsProcessingTag: { ::aidl::android::hardware::audio::effect::DynamicsProcessing::Id _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::DynamicsProcessing::Id>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case environmentalReverbTag: { ::aidl::android::hardware::audio::effect::EnvironmentalReverb::Id _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::EnvironmentalReverb::Id>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case equalizerTag: { ::aidl::android::hardware::audio::effect::Equalizer::Id _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::Equalizer::Id>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case hapticGeneratorTag: { ::aidl::android::hardware::audio::effect::HapticGenerator::Id _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::HapticGenerator::Id>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case loudnessEnhancerTag: { ::aidl::android::hardware::audio::effect::LoudnessEnhancer::Id _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::LoudnessEnhancer::Id>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case noiseSuppressionTag: { ::aidl::android::hardware::audio::effect::NoiseSuppression::Id _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::NoiseSuppression::Id>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case presetReverbTag: { ::aidl::android::hardware::audio::effect::PresetReverb::Id _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::PresetReverb::Id>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case virtualizerTag: { ::aidl::android::hardware::audio::effect::Virtualizer::Id _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::Virtualizer::Id>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case visualizerTag: { ::aidl::android::hardware::audio::effect::Visualizer::Id _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::Visualizer::Id>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case volumeTag: { ::aidl::android::hardware::audio::effect::Volume::Id _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::Volume::Id>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case commonTag: { ::aidl::android::hardware::audio::effect::Parameter::Tag _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::Parameter::Tag>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case spatializerTag: { ::aidl::android::hardware::audio::effect::Spatializer::Id _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::Spatializer::Id>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case eraserTag: { ::aidl::android::hardware::audio::effect::Eraser::Id _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::Eraser::Id>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } } return STATUS_BAD_VALUE; } binder_status_t Parameter::Id::writeToParcel(AParcel* _parcel) const { binder_status_t _aidl_ret_status = ::ndk::AParcel_writeData(_parcel, static_cast(getTag())); if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; switch (getTag()) { case vendorEffectTag: return ::ndk::AParcel_writeData(_parcel, get()); case acousticEchoCancelerTag: return ::ndk::AParcel_writeData(_parcel, get()); case automaticGainControlV1Tag: return ::ndk::AParcel_writeData(_parcel, get()); case automaticGainControlV2Tag: return ::ndk::AParcel_writeData(_parcel, get()); case bassBoostTag: return ::ndk::AParcel_writeData(_parcel, get()); case downmixTag: return ::ndk::AParcel_writeData(_parcel, get()); case dynamicsProcessingTag: return ::ndk::AParcel_writeData(_parcel, get()); case environmentalReverbTag: return ::ndk::AParcel_writeData(_parcel, get()); case equalizerTag: return ::ndk::AParcel_writeData(_parcel, get()); case hapticGeneratorTag: return ::ndk::AParcel_writeData(_parcel, get()); case loudnessEnhancerTag: return ::ndk::AParcel_writeData(_parcel, get()); case noiseSuppressionTag: return ::ndk::AParcel_writeData(_parcel, get()); case presetReverbTag: return ::ndk::AParcel_writeData(_parcel, get()); case virtualizerTag: return ::ndk::AParcel_writeData(_parcel, get()); case visualizerTag: return ::ndk::AParcel_writeData(_parcel, get()); case volumeTag: return ::ndk::AParcel_writeData(_parcel, get()); case commonTag: return ::ndk::AParcel_writeData(_parcel, get()); case spatializerTag: return ::ndk::AParcel_writeData(_parcel, get()); case eraserTag: return ::ndk::AParcel_writeData(_parcel, get()); } __assert2(__FILE__, __LINE__, __PRETTY_FUNCTION__, "can't reach here"); } } // namespace effect } // namespace audio } // namespace hardware } // namespace android } // namespace aidl namespace aidl { namespace android { namespace hardware { namespace audio { namespace effect { const char* Parameter::Common::descriptor = "android.hardware.audio.effect.Parameter.Common"; binder_status_t Parameter::Common::readFromParcel(const AParcel* _aidl_parcel) { binder_status_t _aidl_ret_status = STATUS_OK; int32_t _aidl_start_pos = AParcel_getDataPosition(_aidl_parcel); int32_t _aidl_parcelable_size = 0; _aidl_ret_status = AParcel_readInt32(_aidl_parcel, &_aidl_parcelable_size); if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; if (_aidl_parcelable_size < 4) return STATUS_BAD_VALUE; if (_aidl_start_pos > INT32_MAX - _aidl_parcelable_size) return STATUS_BAD_VALUE; if (AParcel_getDataPosition(_aidl_parcel) - _aidl_start_pos >= _aidl_parcelable_size) { AParcel_setDataPosition(_aidl_parcel, _aidl_start_pos + _aidl_parcelable_size); return _aidl_ret_status; } _aidl_ret_status = ::ndk::AParcel_readData(_aidl_parcel, &session); if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; if (AParcel_getDataPosition(_aidl_parcel) - _aidl_start_pos >= _aidl_parcelable_size) { AParcel_setDataPosition(_aidl_parcel, _aidl_start_pos + _aidl_parcelable_size); return _aidl_ret_status; } _aidl_ret_status = ::ndk::AParcel_readData(_aidl_parcel, &ioHandle); if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; if (AParcel_getDataPosition(_aidl_parcel) - _aidl_start_pos >= _aidl_parcelable_size) { AParcel_setDataPosition(_aidl_parcel, _aidl_start_pos + _aidl_parcelable_size); return _aidl_ret_status; } _aidl_ret_status = ::ndk::AParcel_readData(_aidl_parcel, &input); if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; if (AParcel_getDataPosition(_aidl_parcel) - _aidl_start_pos >= _aidl_parcelable_size) { AParcel_setDataPosition(_aidl_parcel, _aidl_start_pos + _aidl_parcelable_size); return _aidl_ret_status; } _aidl_ret_status = ::ndk::AParcel_readData(_aidl_parcel, &output); if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; AParcel_setDataPosition(_aidl_parcel, _aidl_start_pos + _aidl_parcelable_size); return _aidl_ret_status; } binder_status_t Parameter::Common::writeToParcel(AParcel* _aidl_parcel) const { binder_status_t _aidl_ret_status; size_t _aidl_start_pos = AParcel_getDataPosition(_aidl_parcel); _aidl_ret_status = AParcel_writeInt32(_aidl_parcel, 0); if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_parcel, session); if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_parcel, ioHandle); if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_parcel, input); if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_parcel, output); if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; size_t _aidl_end_pos = AParcel_getDataPosition(_aidl_parcel); AParcel_setDataPosition(_aidl_parcel, _aidl_start_pos); AParcel_writeInt32(_aidl_parcel, _aidl_end_pos - _aidl_start_pos); AParcel_setDataPosition(_aidl_parcel, _aidl_end_pos); return _aidl_ret_status; } } // namespace effect } // namespace audio } // namespace hardware } // namespace android } // namespace aidl namespace aidl { namespace android { namespace hardware { namespace audio { namespace effect { const char* Parameter::VolumeStereo::descriptor = "android.hardware.audio.effect.Parameter.VolumeStereo"; binder_status_t Parameter::VolumeStereo::readFromParcel(const AParcel* _aidl_parcel) { binder_status_t _aidl_ret_status = STATUS_OK; int32_t _aidl_start_pos = AParcel_getDataPosition(_aidl_parcel); int32_t _aidl_parcelable_size = 0; _aidl_ret_status = AParcel_readInt32(_aidl_parcel, &_aidl_parcelable_size); if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; if (_aidl_parcelable_size < 4) return STATUS_BAD_VALUE; if (_aidl_start_pos > INT32_MAX - _aidl_parcelable_size) return STATUS_BAD_VALUE; if (AParcel_getDataPosition(_aidl_parcel) - _aidl_start_pos >= _aidl_parcelable_size) { AParcel_setDataPosition(_aidl_parcel, _aidl_start_pos + _aidl_parcelable_size); return _aidl_ret_status; } _aidl_ret_status = ::ndk::AParcel_readData(_aidl_parcel, &left); if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; if (AParcel_getDataPosition(_aidl_parcel) - _aidl_start_pos >= _aidl_parcelable_size) { AParcel_setDataPosition(_aidl_parcel, _aidl_start_pos + _aidl_parcelable_size); return _aidl_ret_status; } _aidl_ret_status = ::ndk::AParcel_readData(_aidl_parcel, &right); if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; AParcel_setDataPosition(_aidl_parcel, _aidl_start_pos + _aidl_parcelable_size); return _aidl_ret_status; } binder_status_t Parameter::VolumeStereo::writeToParcel(AParcel* _aidl_parcel) const { binder_status_t _aidl_ret_status; size_t _aidl_start_pos = AParcel_getDataPosition(_aidl_parcel); _aidl_ret_status = AParcel_writeInt32(_aidl_parcel, 0); if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_parcel, left); if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_parcel, right); if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; size_t _aidl_end_pos = AParcel_getDataPosition(_aidl_parcel); AParcel_setDataPosition(_aidl_parcel, _aidl_start_pos); AParcel_writeInt32(_aidl_parcel, _aidl_end_pos - _aidl_start_pos); AParcel_setDataPosition(_aidl_parcel, _aidl_end_pos); return _aidl_ret_status; } } // namespace effect } // namespace audio } // namespace hardware } // namespace android } // namespace aidl namespace aidl { namespace android { namespace hardware { namespace audio { namespace effect { const char* Parameter::Specific::descriptor = "android.hardware.audio.effect.Parameter.Specific"; binder_status_t Parameter::Specific::readFromParcel(const AParcel* _parcel) { binder_status_t _aidl_ret_status; int32_t _aidl_tag; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_tag)) != STATUS_OK) return _aidl_ret_status; switch (static_cast(_aidl_tag)) { case vendorEffect: { ::aidl::android::hardware::audio::effect::VendorExtension _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::VendorExtension>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case acousticEchoCanceler: { ::aidl::android::hardware::audio::effect::AcousticEchoCanceler _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::AcousticEchoCanceler>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case automaticGainControlV1: { ::aidl::android::hardware::audio::effect::AutomaticGainControlV1 _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::AutomaticGainControlV1>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case automaticGainControlV2: { ::aidl::android::hardware::audio::effect::AutomaticGainControlV2 _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::AutomaticGainControlV2>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case bassBoost: { ::aidl::android::hardware::audio::effect::BassBoost _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::BassBoost>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case downmix: { ::aidl::android::hardware::audio::effect::Downmix _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::Downmix>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case dynamicsProcessing: { ::aidl::android::hardware::audio::effect::DynamicsProcessing _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::DynamicsProcessing>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case environmentalReverb: { ::aidl::android::hardware::audio::effect::EnvironmentalReverb _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::EnvironmentalReverb>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case equalizer: { ::aidl::android::hardware::audio::effect::Equalizer _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::Equalizer>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case hapticGenerator: { ::aidl::android::hardware::audio::effect::HapticGenerator _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::HapticGenerator>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case loudnessEnhancer: { ::aidl::android::hardware::audio::effect::LoudnessEnhancer _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::LoudnessEnhancer>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case noiseSuppression: { ::aidl::android::hardware::audio::effect::NoiseSuppression _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::NoiseSuppression>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case presetReverb: { ::aidl::android::hardware::audio::effect::PresetReverb _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::PresetReverb>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case virtualizer: { ::aidl::android::hardware::audio::effect::Virtualizer _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::Virtualizer>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case visualizer: { ::aidl::android::hardware::audio::effect::Visualizer _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::Visualizer>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case volume: { ::aidl::android::hardware::audio::effect::Volume _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::Volume>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case spatializer: { ::aidl::android::hardware::audio::effect::Spatializer _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::Spatializer>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case eraser: { ::aidl::android::hardware::audio::effect::Eraser _aidl_value; if ((_aidl_ret_status = ::ndk::AParcel_readData(_parcel, &_aidl_value)) != STATUS_OK) return _aidl_ret_status; if constexpr (std::is_trivially_copyable_v<::aidl::android::hardware::audio::effect::Eraser>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } } return STATUS_BAD_VALUE; } binder_status_t Parameter::Specific::writeToParcel(AParcel* _parcel) const { binder_status_t _aidl_ret_status = ::ndk::AParcel_writeData(_parcel, static_cast(getTag())); if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; switch (getTag()) { case vendorEffect: return ::ndk::AParcel_writeData(_parcel, get()); case acousticEchoCanceler: return ::ndk::AParcel_writeData(_parcel, get()); case automaticGainControlV1: return ::ndk::AParcel_writeData(_parcel, get()); case automaticGainControlV2: return ::ndk::AParcel_writeData(_parcel, get()); case bassBoost: return ::ndk::AParcel_writeData(_parcel, get()); case downmix: return ::ndk::AParcel_writeData(_parcel, get()); case dynamicsProcessing: return ::ndk::AParcel_writeData(_parcel, get()); case environmentalReverb: return ::ndk::AParcel_writeData(_parcel, get()); case equalizer: return ::ndk::AParcel_writeData(_parcel, get()); case hapticGenerator: return ::ndk::AParcel_writeData(_parcel, get()); case loudnessEnhancer: return ::ndk::AParcel_writeData(_parcel, get()); case noiseSuppression: return ::ndk::AParcel_writeData(_parcel, get()); case presetReverb: return ::ndk::AParcel_writeData(_parcel, get()); case virtualizer: return ::ndk::AParcel_writeData(_parcel, get()); case visualizer: return ::ndk::AParcel_writeData(_parcel, get()); case volume: return ::ndk::AParcel_writeData(_parcel, get()); case spatializer: return ::ndk::AParcel_writeData(_parcel, get()); case eraser: return ::ndk::AParcel_writeData(_parcel, get()); } __assert2(__FILE__, __LINE__, __PRETTY_FUNCTION__, "can't reach here"); } } // namespace effect } // namespace audio } // namespace hardware } // namespace android } // namespace aidl