/* * 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/Visualizer.aidl */ #include "aidl/android/hardware/audio/effect/Visualizer.h" #include namespace aidl { namespace android { namespace hardware { namespace audio { namespace effect { const char* Visualizer::descriptor = "android.hardware.audio.effect.Visualizer"; binder_status_t Visualizer::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 id: { ::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 vendor: { ::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 measurement: { ::aidl::android::hardware::audio::effect::Visualizer::Measurement _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::Measurement>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case captureSampleBuffer: { std::vector _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 latencyMs: { int32_t _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 captureSamples: { int32_t _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 scalingMode: { ::aidl::android::hardware::audio::effect::Visualizer::ScalingMode _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::ScalingMode>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } case measurementMode: { ::aidl::android::hardware::audio::effect::Visualizer::MeasurementMode _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::MeasurementMode>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } } return STATUS_BAD_VALUE; } binder_status_t Visualizer::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 id: return ::ndk::AParcel_writeData(_parcel, get()); case vendor: return ::ndk::AParcel_writeData(_parcel, get()); case measurement: return ::ndk::AParcel_writeData(_parcel, get()); case captureSampleBuffer: return ::ndk::AParcel_writeData(_parcel, get()); case latencyMs: return ::ndk::AParcel_writeData(_parcel, get()); case captureSamples: return ::ndk::AParcel_writeData(_parcel, get()); case scalingMode: return ::ndk::AParcel_writeData(_parcel, get()); case measurementMode: 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* Visualizer::Id::descriptor = "android.hardware.audio.effect.Visualizer.Id"; binder_status_t Visualizer::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 vendorExtensionTag: { ::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 commonTag: { ::aidl::android::hardware::audio::effect::Visualizer::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::Visualizer::Tag>) { set(_aidl_value); } else { // NOLINTNEXTLINE(performance-move-const-arg) set(std::move(_aidl_value)); } return STATUS_OK; } } return STATUS_BAD_VALUE; } binder_status_t Visualizer::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 vendorExtensionTag: return ::ndk::AParcel_writeData(_parcel, get()); case commonTag: 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* Visualizer::Measurement::descriptor = "android.hardware.audio.effect.Visualizer.Measurement"; binder_status_t Visualizer::Measurement::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, &rms); 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, &peak); 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 Visualizer::Measurement::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, rms); if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status; _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_parcel, peak); 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