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