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