1 /* 2 * This file is auto-generated. DO NOT MODIFY. 3 * Using: out/host/linux-x86/bin/aidl --lang=ndk -Weverything -Wno-missing-permission-annotation --structured --version 3 --hash notfrozen -t --stability vintf --min_sdk_version current -pout/soong/.intermediates/system/hardware/interfaces/media/android.media.audio.eraser.types_interface/1/preprocessed.aidl -pout/soong/.intermediates/system/hardware/interfaces/media/android.media.audio.common.types_interface/4/preprocessed.aidl -pout/soong/.intermediates/hardware/interfaces/audio/aidl/android.hardware.audio.common_interface/4/preprocessed.aidl -pout/soong/.intermediates/hardware/interfaces/common/aidl/android.hardware.common_interface/2/preprocessed.aidl -pout/soong/.intermediates/hardware/interfaces/common/fmq/aidl/android.hardware.common.fmq_interface/1/preprocessed.aidl --previous_api_dir=hardware/interfaces/audio/aidl/aidl_api/android.hardware.audio.effect/2 --previous_hash 54d5a2e1d59066b57e35eb7bcb5ebc72a1259c1c --ninja -d out/soong/.intermediates/hardware/interfaces/audio/aidl/android.hardware.audio.effect-V3-ndk-source/gen/staging/android/hardware/audio/effect/IFactory.cpp.d -h out/soong/.intermediates/hardware/interfaces/audio/aidl/android.hardware.audio.effect-V3-ndk-source/gen/include/staging -o out/soong/.intermediates/hardware/interfaces/audio/aidl/android.hardware.audio.effect-V3-ndk-source/gen/staging -Nhardware/interfaces/audio/aidl hardware/interfaces/audio/aidl/android/hardware/audio/effect/IFactory.aidl 4 * 5 * DO NOT CHECK THIS FILE INTO A CODE TREE (e.g. git, etc..). 6 * ALWAYS GENERATE THIS FILE FROM UPDATED AIDL COMPILER 7 * AS A BUILD INTERMEDIATE ONLY. THIS IS NOT SOURCE CODE. 8 */ 9 #pragma once 10 11 #include <cstdint> 12 #include <memory> 13 #include <optional> 14 #include <string> 15 #include <vector> 16 #include <android/binder_interface_utils.h> 17 #include <aidl/android/hardware/audio/effect/Descriptor.h> 18 #include <aidl/android/hardware/audio/effect/IEffect.h> 19 #include <aidl/android/hardware/audio/effect/Processing.h> 20 #include <aidl/android/media/audio/common/AudioUuid.h> 21 #ifdef BINDER_STABILITY_SUPPORT 22 #include <android/binder_stability.h> 23 #endif // BINDER_STABILITY_SUPPORT 24 25 namespace aidl::android::hardware::audio::effect { 26 class Descriptor; 27 class IEffect; 28 class Processing; 29 } // namespace aidl::android::hardware::audio::effect 30 namespace aidl::android::media::audio::common { 31 class AudioUuid; 32 } // namespace aidl::android::media::audio::common 33 namespace aidl { 34 namespace android { 35 namespace hardware { 36 namespace audio { 37 namespace effect { 38 class IFactoryDelegator; 39 40 class IFactory : public ::ndk::ICInterface { 41 public: 42 typedef IFactoryDelegator DefaultDelegator; 43 static const char* descriptor; 44 IFactory(); 45 virtual ~IFactory(); 46 47 static inline const int32_t version = true ? 2 : 3; 48 static inline const std::string hash = true ? "54d5a2e1d59066b57e35eb7bcb5ebc72a1259c1c" : "notfrozen"; 49 static constexpr uint32_t TRANSACTION_queryEffects = FIRST_CALL_TRANSACTION + 0; 50 static constexpr uint32_t TRANSACTION_queryProcessing = FIRST_CALL_TRANSACTION + 1; 51 static constexpr uint32_t TRANSACTION_createEffect = FIRST_CALL_TRANSACTION + 2; 52 static constexpr uint32_t TRANSACTION_destroyEffect = FIRST_CALL_TRANSACTION + 3; 53 54 static std::shared_ptr<IFactory> fromBinder(const ::ndk::SpAIBinder& binder); 55 static binder_status_t writeToParcel(AParcel* parcel, const std::shared_ptr<IFactory>& instance); 56 static binder_status_t readFromParcel(const AParcel* parcel, std::shared_ptr<IFactory>* instance); 57 static bool setDefaultImpl(const std::shared_ptr<IFactory>& impl); 58 static const std::shared_ptr<IFactory>& getDefaultImpl(); 59 virtual ::ndk::ScopedAStatus queryEffects(const std::optional<::aidl::android::media::audio::common::AudioUuid>& in_type, const std::optional<::aidl::android::media::audio::common::AudioUuid>& in_implementation, const std::optional<::aidl::android::media::audio::common::AudioUuid>& in_proxy, std::vector<::aidl::android::hardware::audio::effect::Descriptor>* _aidl_return) = 0; 60 virtual ::ndk::ScopedAStatus queryProcessing(const std::optional<::aidl::android::hardware::audio::effect::Processing::Type>& in_type, std::vector<::aidl::android::hardware::audio::effect::Processing>* _aidl_return) = 0; 61 virtual ::ndk::ScopedAStatus createEffect(const ::aidl::android::media::audio::common::AudioUuid& in_implUuid, std::shared_ptr<::aidl::android::hardware::audio::effect::IEffect>* _aidl_return) = 0; 62 virtual ::ndk::ScopedAStatus destroyEffect(const std::shared_ptr<::aidl::android::hardware::audio::effect::IEffect>& in_handle) = 0; 63 virtual ::ndk::ScopedAStatus getInterfaceVersion(int32_t* _aidl_return) = 0; 64 virtual ::ndk::ScopedAStatus getInterfaceHash(std::string* _aidl_return) = 0; 65 private: 66 static std::shared_ptr<IFactory> default_impl; 67 }; 68 class IFactoryDefault : public IFactory { 69 public: 70 ::ndk::ScopedAStatus queryEffects(const std::optional<::aidl::android::media::audio::common::AudioUuid>& in_type, const std::optional<::aidl::android::media::audio::common::AudioUuid>& in_implementation, const std::optional<::aidl::android::media::audio::common::AudioUuid>& in_proxy, std::vector<::aidl::android::hardware::audio::effect::Descriptor>* _aidl_return) override; 71 ::ndk::ScopedAStatus queryProcessing(const std::optional<::aidl::android::hardware::audio::effect::Processing::Type>& in_type, std::vector<::aidl::android::hardware::audio::effect::Processing>* _aidl_return) override; 72 ::ndk::ScopedAStatus createEffect(const ::aidl::android::media::audio::common::AudioUuid& in_implUuid, std::shared_ptr<::aidl::android::hardware::audio::effect::IEffect>* _aidl_return) override; 73 ::ndk::ScopedAStatus destroyEffect(const std::shared_ptr<::aidl::android::hardware::audio::effect::IEffect>& in_handle) override; 74 ::ndk::ScopedAStatus getInterfaceVersion(int32_t* _aidl_return) override; 75 ::ndk::ScopedAStatus getInterfaceHash(std::string* _aidl_return) override; 76 ::ndk::SpAIBinder asBinder() override; 77 bool isRemote() override; 78 }; 79 } // namespace effect 80 } // namespace audio 81 } // namespace hardware 82 } // namespace android 83 } // namespace aidl 84