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 -Werror -Weverything --structured --version 4 --hash notfrozen -t --stability vintf --min_sdk_version 29 --previous_api_dir=system/hardware/interfaces/media/aidl_api/android.media.audio.common.types/3 --previous_hash 0c86a38729dd5d560fe3a0eca6aa9d8cf83efb00 --ninja -d out/soong/.intermediates/system/hardware/interfaces/media/android.media.audio.common.types-V4-ndk-source/gen/staging/android/media/audio/common/AudioHalEngineConfig.cpp.d -h out/soong/.intermediates/system/hardware/interfaces/media/android.media.audio.common.types-V4-ndk-source/gen/include/staging -o out/soong/.intermediates/system/hardware/interfaces/media/android.media.audio.common.types-V4-ndk-source/gen/staging -Nsystem/hardware/interfaces/media/aidl system/hardware/interfaces/media/aidl/android/media/audio/common/AudioHalEngineConfig.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/AudioHalCapCriterion.h>
20 #include <aidl/android/media/audio/common/AudioHalCapCriterionType.h>
21 #include <aidl/android/media/audio/common/AudioHalCapCriterionV2.h>
22 #include <aidl/android/media/audio/common/AudioHalCapDomain.h>
23 #include <aidl/android/media/audio/common/AudioHalEngineConfig.h>
24 #include <aidl/android/media/audio/common/AudioHalProductStrategy.h>
25 #include <aidl/android/media/audio/common/AudioHalVolumeGroup.h>
26 #include <aidl/android/media/audio/common/AudioProductStrategyType.h>
27 #ifdef BINDER_STABILITY_SUPPORT
28 #include <android/binder_stability.h>
29 #endif  // BINDER_STABILITY_SUPPORT
30 
31 namespace aidl::android::media::audio::common {
32 class AudioHalCapCriterion;
33 class AudioHalCapCriterionType;
34 class AudioHalCapDomain;
35 class AudioHalProductStrategy;
36 class AudioHalVolumeGroup;
37 }  // namespace aidl::android::media::audio::common
38 namespace aidl {
39 namespace android {
40 namespace media {
41 namespace audio {
42 namespace common {
43 class AudioHalEngineConfig {
44 public:
45   typedef std::false_type fixed_size;
46   static const char* descriptor;
47 
48   class CapSpecificConfig {
49   public:
50     typedef std::false_type fixed_size;
51     static const char* descriptor;
52 
53     std::vector<::aidl::android::media::audio::common::AudioHalCapCriterion> criteria;
54     std::vector<::aidl::android::media::audio::common::AudioHalCapCriterionType> criterionTypes;
55     std::optional<std::vector<std::optional<::aidl::android::media::audio::common::AudioHalCapCriterionV2>>> criteriaV2;
56     std::optional<std::vector<std::optional<::aidl::android::media::audio::common::AudioHalCapDomain>>> domains;
57 
58     binder_status_t readFromParcel(const AParcel* parcel);
59     binder_status_t writeToParcel(AParcel* parcel) const;
60 
61     inline bool operator==(const CapSpecificConfig& _rhs) const {
62       return std::tie(criteria, criterionTypes, criteriaV2, domains) == std::tie(_rhs.criteria, _rhs.criterionTypes, _rhs.criteriaV2, _rhs.domains);
63     }
64     inline bool operator<(const CapSpecificConfig& _rhs) const {
65       return std::tie(criteria, criterionTypes, criteriaV2, domains) < std::tie(_rhs.criteria, _rhs.criterionTypes, _rhs.criteriaV2, _rhs.domains);
66     }
67     inline bool operator!=(const CapSpecificConfig& _rhs) const {
68       return !(*this == _rhs);
69     }
70     inline bool operator>(const CapSpecificConfig& _rhs) const {
71       return _rhs < *this;
72     }
73     inline bool operator>=(const CapSpecificConfig& _rhs) const {
74       return !(*this < _rhs);
75     }
76     inline bool operator<=(const CapSpecificConfig& _rhs) const {
77       return !(_rhs < *this);
78     }
79 
80     static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()81     inline std::string toString() const {
82       std::ostringstream _aidl_os;
83       _aidl_os << "CapSpecificConfig{";
84       _aidl_os << "criteria: " << ::android::internal::ToString(criteria);
85       _aidl_os << ", criterionTypes: " << ::android::internal::ToString(criterionTypes);
86       _aidl_os << ", criteriaV2: " << ::android::internal::ToString(criteriaV2);
87       _aidl_os << ", domains: " << ::android::internal::ToString(domains);
88       _aidl_os << "}";
89       return _aidl_os.str();
90     }
91   };
92   int32_t defaultProductStrategyId = -1;
93   std::vector<::aidl::android::media::audio::common::AudioHalProductStrategy> productStrategies;
94   std::vector<::aidl::android::media::audio::common::AudioHalVolumeGroup> volumeGroups;
95   std::optional<::aidl::android::media::audio::common::AudioHalEngineConfig::CapSpecificConfig> capSpecificConfig;
96 
97   binder_status_t readFromParcel(const AParcel* parcel);
98   binder_status_t writeToParcel(AParcel* parcel) const;
99 
100   inline bool operator==(const AudioHalEngineConfig& _rhs) const {
101     return std::tie(defaultProductStrategyId, productStrategies, volumeGroups, capSpecificConfig) == std::tie(_rhs.defaultProductStrategyId, _rhs.productStrategies, _rhs.volumeGroups, _rhs.capSpecificConfig);
102   }
103   inline bool operator<(const AudioHalEngineConfig& _rhs) const {
104     return std::tie(defaultProductStrategyId, productStrategies, volumeGroups, capSpecificConfig) < std::tie(_rhs.defaultProductStrategyId, _rhs.productStrategies, _rhs.volumeGroups, _rhs.capSpecificConfig);
105   }
106   inline bool operator!=(const AudioHalEngineConfig& _rhs) const {
107     return !(*this == _rhs);
108   }
109   inline bool operator>(const AudioHalEngineConfig& _rhs) const {
110     return _rhs < *this;
111   }
112   inline bool operator>=(const AudioHalEngineConfig& _rhs) const {
113     return !(*this < _rhs);
114   }
115   inline bool operator<=(const AudioHalEngineConfig& _rhs) const {
116     return !(_rhs < *this);
117   }
118 
119   static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()120   inline std::string toString() const {
121     std::ostringstream _aidl_os;
122     _aidl_os << "AudioHalEngineConfig{";
123     _aidl_os << "defaultProductStrategyId: " << ::android::internal::ToString(defaultProductStrategyId);
124     _aidl_os << ", productStrategies: " << ::android::internal::ToString(productStrategies);
125     _aidl_os << ", volumeGroups: " << ::android::internal::ToString(volumeGroups);
126     _aidl_os << ", capSpecificConfig: " << ::android::internal::ToString(capSpecificConfig);
127     _aidl_os << "}";
128     return _aidl_os.str();
129   }
130 };
131 }  // namespace common
132 }  // namespace audio
133 }  // namespace media
134 }  // namespace android
135 }  // namespace aidl
136