1 /*
2  * This file is auto-generated.  DO NOT MODIFY.
3  * Using: out/host/linux-x86/bin/aidl --lang=cpp -Weverything -Wno-missing-permission-annotation -t --min_sdk_version 29 -pout/soong/.intermediates/system/hardware/interfaces/media/android.media.audio.common.types_interface/4/preprocessed.aidl -pout/soong/.intermediates/frameworks/av/media/libaudioclient/audioclient-types-aidl_interface/preprocessed.aidl -pout/soong/.intermediates/frameworks/native/libs/permission/framework-permission-aidl_interface/preprocessed.aidl --ninja -d out/soong/.intermediates/frameworks/av/media/libaudioclient/audiopolicy-types-aidl-cpp-source/gen/staging/android/media/AudioMix.cpp.d -h out/soong/.intermediates/frameworks/av/media/libaudioclient/audiopolicy-types-aidl-cpp-source/gen/include/staging -o out/soong/.intermediates/frameworks/av/media/libaudioclient/audiopolicy-types-aidl-cpp-source/gen/staging -Nframeworks/av/media/libaudioclient/aidl frameworks/av/media/libaudioclient/aidl/android/media/AudioMix.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 <android/binder_to_string.h>
12 #include <android/media/AudioMixMatchCriterion.h>
13 #include <android/media/AudioMixType.h>
14 #include <android/media/audio/common/AudioConfig.h>
15 #include <android/media/audio/common/AudioDevice.h>
16 #include <binder/IBinder.h>
17 #include <binder/Parcel.h>
18 #include <binder/Status.h>
19 #include <cstdint>
20 #include <tuple>
21 #include <utils/String16.h>
22 #include <vector>
23 
24 namespace android::media {
25 class AudioMixMatchCriterion;
26 }  // namespace android::media
27 namespace android::media::audio::common {
28 class AudioConfig;
29 class AudioDevice;
30 }  // namespace android::media::audio::common
31 namespace android {
32 namespace media {
33 class LIBBINDER_EXPORTED AudioMix : public ::android::Parcelable {
34 public:
35   ::std::vector<::android::media::AudioMixMatchCriterion> criteria;
36   ::android::media::AudioMixType mixType = ::android::media::AudioMixType(0);
37   ::android::media::audio::common::AudioConfig format;
38   int32_t routeFlags = 0;
39   ::android::media::audio::common::AudioDevice device;
40   int32_t cbFlags = 0;
41   bool allowPrivilegedMediaPlaybackCapture = false;
42   bool voiceCommunicationCaptureAllowed = false;
43   ::android::sp<::android::IBinder> mToken;
44   int32_t mVirtualDeviceId = 0;
45   inline bool operator==(const AudioMix& _rhs) const {
46     return std::tie(criteria, mixType, format, routeFlags, device, cbFlags, allowPrivilegedMediaPlaybackCapture, voiceCommunicationCaptureAllowed, mToken, mVirtualDeviceId) == std::tie(_rhs.criteria, _rhs.mixType, _rhs.format, _rhs.routeFlags, _rhs.device, _rhs.cbFlags, _rhs.allowPrivilegedMediaPlaybackCapture, _rhs.voiceCommunicationCaptureAllowed, _rhs.mToken, _rhs.mVirtualDeviceId);
47   }
48   inline bool operator<(const AudioMix& _rhs) const {
49     return std::tie(criteria, mixType, format, routeFlags, device, cbFlags, allowPrivilegedMediaPlaybackCapture, voiceCommunicationCaptureAllowed, mToken, mVirtualDeviceId) < std::tie(_rhs.criteria, _rhs.mixType, _rhs.format, _rhs.routeFlags, _rhs.device, _rhs.cbFlags, _rhs.allowPrivilegedMediaPlaybackCapture, _rhs.voiceCommunicationCaptureAllowed, _rhs.mToken, _rhs.mVirtualDeviceId);
50   }
51   inline bool operator!=(const AudioMix& _rhs) const {
52     return !(*this == _rhs);
53   }
54   inline bool operator>(const AudioMix& _rhs) const {
55     return _rhs < *this;
56   }
57   inline bool operator>=(const AudioMix& _rhs) const {
58     return !(*this < _rhs);
59   }
60   inline bool operator<=(const AudioMix& _rhs) const {
61     return !(_rhs < *this);
62   }
63 
64   ::android::status_t readFromParcel(const ::android::Parcel* _aidl_parcel) final;
65   ::android::status_t writeToParcel(::android::Parcel* _aidl_parcel) const final;
getParcelableDescriptor()66   static const ::android::String16& getParcelableDescriptor() {
67     static const ::android::StaticString16 DESCRIPTOR (u"android.media.AudioMix");
68     return DESCRIPTOR;
69   }
toString()70   inline std::string toString() const {
71     std::ostringstream _aidl_os;
72     _aidl_os << "AudioMix{";
73     _aidl_os << "criteria: " << ::android::internal::ToString(criteria);
74     _aidl_os << ", mixType: " << ::android::internal::ToString(mixType);
75     _aidl_os << ", format: " << ::android::internal::ToString(format);
76     _aidl_os << ", routeFlags: " << ::android::internal::ToString(routeFlags);
77     _aidl_os << ", device: " << ::android::internal::ToString(device);
78     _aidl_os << ", cbFlags: " << ::android::internal::ToString(cbFlags);
79     _aidl_os << ", allowPrivilegedMediaPlaybackCapture: " << ::android::internal::ToString(allowPrivilegedMediaPlaybackCapture);
80     _aidl_os << ", voiceCommunicationCaptureAllowed: " << ::android::internal::ToString(voiceCommunicationCaptureAllowed);
81     _aidl_os << ", mToken: " << ::android::internal::ToString(mToken);
82     _aidl_os << ", mVirtualDeviceId: " << ::android::internal::ToString(mVirtualDeviceId);
83     _aidl_os << "}";
84     return _aidl_os.str();
85   }
86 };  // class AudioMix
87 }  // namespace media
88 }  // namespace android
89