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 -t --min_sdk_version current -pout/soong/.intermediates/hardware/interfaces/audio/aidl/android.hardware.audio.core_interface/3/preprocessed.aidl --ninja -d out/soong/.intermediates/frameworks/av/av-audio-types-aidl-ndk-source/gen/staging/android/media/audio/IHalAdapterVendorExtension.cpp.d -h out/soong/.intermediates/frameworks/av/av-audio-types-aidl-ndk-source/gen/include/staging -o out/soong/.intermediates/frameworks/av/av-audio-types-aidl-ndk-source/gen/staging -Nframeworks/av/aidl frameworks/av/aidl/android/media/audio/IHalAdapterVendorExtension.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 <array>
12 #include <cstdint>
13 #include <memory>
14 #include <optional>
15 #include <string>
16 #include <vector>
17 #include <android/binder_enums.h>
18 #include <android/binder_interface_utils.h>
19 #include <aidl/android/hardware/audio/core/VendorParameter.h>
20 #include <aidl/android/media/audio/IHalAdapterVendorExtension.h>
21 #ifdef BINDER_STABILITY_SUPPORT
22 #include <android/binder_stability.h>
23 #endif // BINDER_STABILITY_SUPPORT
24
25 namespace aidl::android::hardware::audio::core {
26 class VendorParameter;
27 } // namespace aidl::android::hardware::audio::core
28 namespace aidl {
29 namespace android {
30 namespace media {
31 namespace audio {
32 class IHalAdapterVendorExtensionDelegator;
33
34 class IHalAdapterVendorExtension : public ::ndk::ICInterface {
35 public:
36 typedef IHalAdapterVendorExtensionDelegator DefaultDelegator;
37 static const char* descriptor;
38 IHalAdapterVendorExtension();
39 virtual ~IHalAdapterVendorExtension();
40
41 enum class ParameterScope : int8_t {
42 MODULE = 0,
43 STREAM = 1,
44 };
45
46 static constexpr uint32_t TRANSACTION_parseVendorParameterIds = FIRST_CALL_TRANSACTION + 0;
47 static constexpr uint32_t TRANSACTION_parseVendorParameters = FIRST_CALL_TRANSACTION + 1;
48 static constexpr uint32_t TRANSACTION_parseBluetoothA2dpReconfigureOffload = FIRST_CALL_TRANSACTION + 2;
49 static constexpr uint32_t TRANSACTION_parseBluetoothLeReconfigureOffload = FIRST_CALL_TRANSACTION + 3;
50 static constexpr uint32_t TRANSACTION_processVendorParameters = FIRST_CALL_TRANSACTION + 4;
51
52 static std::shared_ptr<IHalAdapterVendorExtension> fromBinder(const ::ndk::SpAIBinder& binder);
53 static binder_status_t writeToParcel(AParcel* parcel, const std::shared_ptr<IHalAdapterVendorExtension>& instance);
54 static binder_status_t readFromParcel(const AParcel* parcel, std::shared_ptr<IHalAdapterVendorExtension>* instance);
55 static bool setDefaultImpl(const std::shared_ptr<IHalAdapterVendorExtension>& impl);
56 static const std::shared_ptr<IHalAdapterVendorExtension>& getDefaultImpl();
57 virtual ::ndk::ScopedAStatus parseVendorParameterIds(::aidl::android::media::audio::IHalAdapterVendorExtension::ParameterScope in_scope, const std::string& in_rawKeys, std::vector<std::string>* _aidl_return) = 0;
58 virtual ::ndk::ScopedAStatus parseVendorParameters(::aidl::android::media::audio::IHalAdapterVendorExtension::ParameterScope in_scope, const std::string& in_rawKeysAndValues, std::vector<::aidl::android::hardware::audio::core::VendorParameter>* out_syncParameters, std::vector<::aidl::android::hardware::audio::core::VendorParameter>* out_asyncParameters) = 0;
59 virtual ::ndk::ScopedAStatus parseBluetoothA2dpReconfigureOffload(const std::string& in_rawValue, std::vector<::aidl::android::hardware::audio::core::VendorParameter>* _aidl_return) = 0;
60 virtual ::ndk::ScopedAStatus parseBluetoothLeReconfigureOffload(const std::string& in_rawValue, std::vector<::aidl::android::hardware::audio::core::VendorParameter>* _aidl_return) = 0;
61 virtual ::ndk::ScopedAStatus processVendorParameters(::aidl::android::media::audio::IHalAdapterVendorExtension::ParameterScope in_scope, const std::vector<::aidl::android::hardware::audio::core::VendorParameter>& in_parameters, std::string* _aidl_return) = 0;
62 private:
63 static std::shared_ptr<IHalAdapterVendorExtension> default_impl;
64 };
65 class IHalAdapterVendorExtensionDefault : public IHalAdapterVendorExtension {
66 public:
67 ::ndk::ScopedAStatus parseVendorParameterIds(::aidl::android::media::audio::IHalAdapterVendorExtension::ParameterScope in_scope, const std::string& in_rawKeys, std::vector<std::string>* _aidl_return) override;
68 ::ndk::ScopedAStatus parseVendorParameters(::aidl::android::media::audio::IHalAdapterVendorExtension::ParameterScope in_scope, const std::string& in_rawKeysAndValues, std::vector<::aidl::android::hardware::audio::core::VendorParameter>* out_syncParameters, std::vector<::aidl::android::hardware::audio::core::VendorParameter>* out_asyncParameters) override;
69 ::ndk::ScopedAStatus parseBluetoothA2dpReconfigureOffload(const std::string& in_rawValue, std::vector<::aidl::android::hardware::audio::core::VendorParameter>* _aidl_return) override;
70 ::ndk::ScopedAStatus parseBluetoothLeReconfigureOffload(const std::string& in_rawValue, std::vector<::aidl::android::hardware::audio::core::VendorParameter>* _aidl_return) override;
71 ::ndk::ScopedAStatus processVendorParameters(::aidl::android::media::audio::IHalAdapterVendorExtension::ParameterScope in_scope, const std::vector<::aidl::android::hardware::audio::core::VendorParameter>& in_parameters, std::string* _aidl_return) override;
72 ::ndk::SpAIBinder asBinder() override;
73 bool isRemote() override;
74 };
75 } // namespace audio
76 } // namespace media
77 } // namespace android
78 } // namespace aidl
79 namespace aidl {
80 namespace android {
81 namespace media {
82 namespace audio {
toString(IHalAdapterVendorExtension::ParameterScope val)83 [[nodiscard]] static inline std::string toString(IHalAdapterVendorExtension::ParameterScope val) {
84 switch(val) {
85 case IHalAdapterVendorExtension::ParameterScope::MODULE:
86 return "MODULE";
87 case IHalAdapterVendorExtension::ParameterScope::STREAM:
88 return "STREAM";
89 default:
90 return std::to_string(static_cast<int8_t>(val));
91 }
92 }
93 } // namespace audio
94 } // namespace media
95 } // namespace android
96 } // namespace aidl
97 namespace ndk {
98 namespace internal {
99 #pragma clang diagnostic push
100 #pragma clang diagnostic ignored "-Wc++17-extensions"
101 template <>
102 constexpr inline std::array<aidl::android::media::audio::IHalAdapterVendorExtension::ParameterScope, 2> enum_values<aidl::android::media::audio::IHalAdapterVendorExtension::ParameterScope> = {
103 aidl::android::media::audio::IHalAdapterVendorExtension::ParameterScope::MODULE,
104 aidl::android::media::audio::IHalAdapterVendorExtension::ParameterScope::STREAM,
105 };
106 #pragma clang diagnostic pop
107 } // namespace internal
108 } // namespace ndk
109