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 5 --hash notfrozen -t --stability vintf --min_sdk_version 31 -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/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4 --previous_hash ac25616dda1c45dc2915d3f5ac82687a1a6f6e46 --ninja -d out/soong/.intermediates/hardware/interfaces/bluetooth/audio/aidl/android.hardware.bluetooth.audio-V5-ndk-source/gen/staging/android/hardware/bluetooth/audio/IBluetoothAudioProviderFactory.cpp.d -h out/soong/.intermediates/hardware/interfaces/bluetooth/audio/aidl/android.hardware.bluetooth.audio-V5-ndk-source/gen/include/staging -o out/soong/.intermediates/hardware/interfaces/bluetooth/audio/aidl/android.hardware.bluetooth.audio-V5-ndk-source/gen/staging -Nhardware/interfaces/bluetooth/audio/aidl hardware/interfaces/bluetooth/audio/aidl/android/hardware/bluetooth/audio/IBluetoothAudioProviderFactory.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 <android/binder_parcelable_utils.h> 18 #include <android/binder_to_string.h> 19 #include <aidl/android/hardware/bluetooth/audio/AudioCapabilities.h> 20 #include <aidl/android/hardware/bluetooth/audio/CodecInfo.h> 21 #include <aidl/android/hardware/bluetooth/audio/IBluetoothAudioProvider.h> 22 #include <aidl/android/hardware/bluetooth/audio/IBluetoothAudioProviderFactory.h> 23 #include <aidl/android/hardware/bluetooth/audio/SessionType.h> 24 #ifdef BINDER_STABILITY_SUPPORT 25 #include <android/binder_stability.h> 26 #endif // BINDER_STABILITY_SUPPORT 27 28 namespace aidl::android::hardware::bluetooth::audio { 29 class CodecInfo; 30 class IBluetoothAudioProvider; 31 } // namespace aidl::android::hardware::bluetooth::audio 32 namespace aidl { 33 namespace android { 34 namespace hardware { 35 namespace bluetooth { 36 namespace audio { 37 class IBluetoothAudioProviderFactoryDelegator; 38 39 class IBluetoothAudioProviderFactory : public ::ndk::ICInterface { 40 public: 41 typedef IBluetoothAudioProviderFactoryDelegator DefaultDelegator; 42 static const char* descriptor; 43 IBluetoothAudioProviderFactory(); 44 virtual ~IBluetoothAudioProviderFactory(); 45 46 class ProviderInfo { 47 public: 48 typedef std::false_type fixed_size; 49 static const char* descriptor; 50 51 std::string name; 52 std::vector<::aidl::android::hardware::bluetooth::audio::CodecInfo> codecInfos; 53 bool supportsMultidirectionalCapabilities = false; 54 55 binder_status_t readFromParcel(const AParcel* parcel); 56 binder_status_t writeToParcel(AParcel* parcel) const; 57 58 inline bool operator==(const ProviderInfo& _rhs) const { 59 return std::tie(name, codecInfos, supportsMultidirectionalCapabilities) == std::tie(_rhs.name, _rhs.codecInfos, _rhs.supportsMultidirectionalCapabilities); 60 } 61 inline bool operator<(const ProviderInfo& _rhs) const { 62 return std::tie(name, codecInfos, supportsMultidirectionalCapabilities) < std::tie(_rhs.name, _rhs.codecInfos, _rhs.supportsMultidirectionalCapabilities); 63 } 64 inline bool operator!=(const ProviderInfo& _rhs) const { 65 return !(*this == _rhs); 66 } 67 inline bool operator>(const ProviderInfo& _rhs) const { 68 return _rhs < *this; 69 } 70 inline bool operator>=(const ProviderInfo& _rhs) const { 71 return !(*this < _rhs); 72 } 73 inline bool operator<=(const ProviderInfo& _rhs) const { 74 return !(_rhs < *this); 75 } 76 77 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF; toString()78 inline std::string toString() const { 79 std::ostringstream _aidl_os; 80 _aidl_os << "ProviderInfo{"; 81 _aidl_os << "name: " << ::android::internal::ToString(name); 82 _aidl_os << ", codecInfos: " << ::android::internal::ToString(codecInfos); 83 _aidl_os << ", supportsMultidirectionalCapabilities: " << ::android::internal::ToString(supportsMultidirectionalCapabilities); 84 _aidl_os << "}"; 85 return _aidl_os.str(); 86 } 87 }; 88 static inline const int32_t version = true ? 4 : 5; 89 static inline const std::string hash = true ? "ac25616dda1c45dc2915d3f5ac82687a1a6f6e46" : "notfrozen"; 90 static constexpr uint32_t TRANSACTION_getProviderCapabilities = FIRST_CALL_TRANSACTION + 0; 91 static constexpr uint32_t TRANSACTION_openProvider = FIRST_CALL_TRANSACTION + 1; 92 static constexpr uint32_t TRANSACTION_getProviderInfo = FIRST_CALL_TRANSACTION + 2; 93 94 static std::shared_ptr<IBluetoothAudioProviderFactory> fromBinder(const ::ndk::SpAIBinder& binder); 95 static binder_status_t writeToParcel(AParcel* parcel, const std::shared_ptr<IBluetoothAudioProviderFactory>& instance); 96 static binder_status_t readFromParcel(const AParcel* parcel, std::shared_ptr<IBluetoothAudioProviderFactory>* instance); 97 static bool setDefaultImpl(const std::shared_ptr<IBluetoothAudioProviderFactory>& impl); 98 static const std::shared_ptr<IBluetoothAudioProviderFactory>& getDefaultImpl(); 99 virtual ::ndk::ScopedAStatus getProviderCapabilities(::aidl::android::hardware::bluetooth::audio::SessionType in_sessionType, std::vector<::aidl::android::hardware::bluetooth::audio::AudioCapabilities>* _aidl_return) = 0; 100 virtual ::ndk::ScopedAStatus openProvider(::aidl::android::hardware::bluetooth::audio::SessionType in_sessionType, std::shared_ptr<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider>* _aidl_return) = 0; 101 virtual ::ndk::ScopedAStatus getProviderInfo(::aidl::android::hardware::bluetooth::audio::SessionType in_sessionType, std::optional<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProviderFactory::ProviderInfo>* _aidl_return) = 0; 102 virtual ::ndk::ScopedAStatus getInterfaceVersion(int32_t* _aidl_return) = 0; 103 virtual ::ndk::ScopedAStatus getInterfaceHash(std::string* _aidl_return) = 0; 104 private: 105 static std::shared_ptr<IBluetoothAudioProviderFactory> default_impl; 106 }; 107 class IBluetoothAudioProviderFactoryDefault : public IBluetoothAudioProviderFactory { 108 public: 109 ::ndk::ScopedAStatus getProviderCapabilities(::aidl::android::hardware::bluetooth::audio::SessionType in_sessionType, std::vector<::aidl::android::hardware::bluetooth::audio::AudioCapabilities>* _aidl_return) override; 110 ::ndk::ScopedAStatus openProvider(::aidl::android::hardware::bluetooth::audio::SessionType in_sessionType, std::shared_ptr<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider>* _aidl_return) override; 111 ::ndk::ScopedAStatus getProviderInfo(::aidl::android::hardware::bluetooth::audio::SessionType in_sessionType, std::optional<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProviderFactory::ProviderInfo>* _aidl_return) override; 112 ::ndk::ScopedAStatus getInterfaceVersion(int32_t* _aidl_return) override; 113 ::ndk::ScopedAStatus getInterfaceHash(std::string* _aidl_return) override; 114 ::ndk::SpAIBinder asBinder() override; 115 bool isRemote() override; 116 }; 117 } // namespace audio 118 } // namespace bluetooth 119 } // namespace hardware 120 } // namespace android 121 } // namespace aidl 122