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 4 --hash notfrozen -t --stability vintf --min_sdk_version 31 -pout/soong/.intermediates/system/hardware/interfaces/media/android.media.audio.common.types_interface/4/preprocessed.aidl --previous_api_dir=hardware/interfaces/audio/aidl/aidl_api/android.hardware.audio.common/3 --previous_hash 57ce9506b87e721f0d994b16d7cd16a494f699b9 --ninja -d out/soong/.intermediates/hardware/interfaces/audio/aidl/android.hardware.audio.common-V4-ndk-source/gen/staging/android/hardware/audio/common/AudioOffloadMetadata.cpp.d -h out/soong/.intermediates/hardware/interfaces/audio/aidl/android.hardware.audio.common-V4-ndk-source/gen/include/staging -o out/soong/.intermediates/hardware/interfaces/audio/aidl/android.hardware.audio.common-V4-ndk-source/gen/staging -Nhardware/interfaces/audio/aidl hardware/interfaces/audio/aidl/android/hardware/audio/common/AudioOffloadMetadata.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/media/audio/common/AudioChannelLayout.h>
20 #ifdef BINDER_STABILITY_SUPPORT
21 #include <android/binder_stability.h>
22 #endif  // BINDER_STABILITY_SUPPORT
23 
24 namespace aidl {
25 namespace android {
26 namespace hardware {
27 namespace audio {
28 namespace common {
29 class AudioOffloadMetadata {
30 public:
31   typedef std::false_type fixed_size;
32   static const char* descriptor;
33 
34   int32_t sampleRate = 0;
35   ::aidl::android::media::audio::common::AudioChannelLayout channelMask;
36   int32_t averageBitRatePerSecond = 0;
37   int32_t delayFrames = 0;
38   int32_t paddingFrames = 0;
39 
40   binder_status_t readFromParcel(const AParcel* parcel);
41   binder_status_t writeToParcel(AParcel* parcel) const;
42 
43   inline bool operator==(const AudioOffloadMetadata& _rhs) const {
44     return std::tie(sampleRate, channelMask, averageBitRatePerSecond, delayFrames, paddingFrames) == std::tie(_rhs.sampleRate, _rhs.channelMask, _rhs.averageBitRatePerSecond, _rhs.delayFrames, _rhs.paddingFrames);
45   }
46   inline bool operator<(const AudioOffloadMetadata& _rhs) const {
47     return std::tie(sampleRate, channelMask, averageBitRatePerSecond, delayFrames, paddingFrames) < std::tie(_rhs.sampleRate, _rhs.channelMask, _rhs.averageBitRatePerSecond, _rhs.delayFrames, _rhs.paddingFrames);
48   }
49   inline bool operator!=(const AudioOffloadMetadata& _rhs) const {
50     return !(*this == _rhs);
51   }
52   inline bool operator>(const AudioOffloadMetadata& _rhs) const {
53     return _rhs < *this;
54   }
55   inline bool operator>=(const AudioOffloadMetadata& _rhs) const {
56     return !(*this < _rhs);
57   }
58   inline bool operator<=(const AudioOffloadMetadata& _rhs) const {
59     return !(_rhs < *this);
60   }
61 
62   static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()63   inline std::string toString() const {
64     std::ostringstream _aidl_os;
65     _aidl_os << "AudioOffloadMetadata{";
66     _aidl_os << "sampleRate: " << ::android::internal::ToString(sampleRate);
67     _aidl_os << ", channelMask: " << ::android::internal::ToString(channelMask);
68     _aidl_os << ", averageBitRatePerSecond: " << ::android::internal::ToString(averageBitRatePerSecond);
69     _aidl_os << ", delayFrames: " << ::android::internal::ToString(delayFrames);
70     _aidl_os << ", paddingFrames: " << ::android::internal::ToString(paddingFrames);
71     _aidl_os << "}";
72     return _aidl_os.str();
73   }
74 };
75 }  // namespace common
76 }  // namespace audio
77 }  // namespace hardware
78 }  // namespace android
79 }  // namespace aidl
80