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/MicrophoneInfo.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/MicrophoneInfo.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 <android/binder_parcelable_utils.h>
20 #include <android/binder_to_string.h>
21 #include <aidl/android/media/audio/common/AudioDevice.h>
22 #include <aidl/android/media/audio/common/MicrophoneInfo.h>
23 #ifdef BINDER_STABILITY_SUPPORT
24 #include <android/binder_stability.h>
25 #endif // BINDER_STABILITY_SUPPORT
26
27 namespace aidl::android::media::audio::common {
28 class AudioDevice;
29 } // namespace aidl::android::media::audio::common
30 namespace aidl {
31 namespace android {
32 namespace media {
33 namespace audio {
34 namespace common {
35 class MicrophoneInfo {
36 public:
37 typedef std::false_type fixed_size;
38 static const char* descriptor;
39
40 enum class Location : int32_t {
41 UNKNOWN = 0,
42 MAINBODY = 1,
43 MAINBODY_MOVABLE = 2,
44 PERIPHERAL = 3,
45 };
46
47 class Sensitivity {
48 public:
49 typedef std::false_type fixed_size;
50 static const char* descriptor;
51
52 float leveldBFS = 0.000000f;
53 float maxSpldB = 0.000000f;
54 float minSpldB = 0.000000f;
55
56 binder_status_t readFromParcel(const AParcel* parcel);
57 binder_status_t writeToParcel(AParcel* parcel) const;
58
59 inline bool operator==(const Sensitivity& _rhs) const {
60 return std::tie(leveldBFS, maxSpldB, minSpldB) == std::tie(_rhs.leveldBFS, _rhs.maxSpldB, _rhs.minSpldB);
61 }
62 inline bool operator<(const Sensitivity& _rhs) const {
63 return std::tie(leveldBFS, maxSpldB, minSpldB) < std::tie(_rhs.leveldBFS, _rhs.maxSpldB, _rhs.minSpldB);
64 }
65 inline bool operator!=(const Sensitivity& _rhs) const {
66 return !(*this == _rhs);
67 }
68 inline bool operator>(const Sensitivity& _rhs) const {
69 return _rhs < *this;
70 }
71 inline bool operator>=(const Sensitivity& _rhs) const {
72 return !(*this < _rhs);
73 }
74 inline bool operator<=(const Sensitivity& _rhs) const {
75 return !(_rhs < *this);
76 }
77
78 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()79 inline std::string toString() const {
80 std::ostringstream _aidl_os;
81 _aidl_os << "Sensitivity{";
82 _aidl_os << "leveldBFS: " << ::android::internal::ToString(leveldBFS);
83 _aidl_os << ", maxSpldB: " << ::android::internal::ToString(maxSpldB);
84 _aidl_os << ", minSpldB: " << ::android::internal::ToString(minSpldB);
85 _aidl_os << "}";
86 return _aidl_os.str();
87 }
88 };
89 enum class Directionality : int32_t {
90 UNKNOWN = 0,
91 OMNI = 1,
92 BI_DIRECTIONAL = 2,
93 CARDIOID = 3,
94 HYPER_CARDIOID = 4,
95 SUPER_CARDIOID = 5,
96 };
97
98 class FrequencyResponsePoint {
99 public:
100 typedef std::false_type fixed_size;
101 static const char* descriptor;
102
103 float frequencyHz = 0.000000f;
104 float leveldB = 0.000000f;
105
106 binder_status_t readFromParcel(const AParcel* parcel);
107 binder_status_t writeToParcel(AParcel* parcel) const;
108
109 inline bool operator==(const FrequencyResponsePoint& _rhs) const {
110 return std::tie(frequencyHz, leveldB) == std::tie(_rhs.frequencyHz, _rhs.leveldB);
111 }
112 inline bool operator<(const FrequencyResponsePoint& _rhs) const {
113 return std::tie(frequencyHz, leveldB) < std::tie(_rhs.frequencyHz, _rhs.leveldB);
114 }
115 inline bool operator!=(const FrequencyResponsePoint& _rhs) const {
116 return !(*this == _rhs);
117 }
118 inline bool operator>(const FrequencyResponsePoint& _rhs) const {
119 return _rhs < *this;
120 }
121 inline bool operator>=(const FrequencyResponsePoint& _rhs) const {
122 return !(*this < _rhs);
123 }
124 inline bool operator<=(const FrequencyResponsePoint& _rhs) const {
125 return !(_rhs < *this);
126 }
127
128 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()129 inline std::string toString() const {
130 std::ostringstream _aidl_os;
131 _aidl_os << "FrequencyResponsePoint{";
132 _aidl_os << "frequencyHz: " << ::android::internal::ToString(frequencyHz);
133 _aidl_os << ", leveldB: " << ::android::internal::ToString(leveldB);
134 _aidl_os << "}";
135 return _aidl_os.str();
136 }
137 };
138 class Coordinate {
139 public:
140 typedef std::false_type fixed_size;
141 static const char* descriptor;
142
143 float x = 0.000000f;
144 float y = 0.000000f;
145 float z = 0.000000f;
146
147 binder_status_t readFromParcel(const AParcel* parcel);
148 binder_status_t writeToParcel(AParcel* parcel) const;
149
150 inline bool operator==(const Coordinate& _rhs) const {
151 return std::tie(x, y, z) == std::tie(_rhs.x, _rhs.y, _rhs.z);
152 }
153 inline bool operator<(const Coordinate& _rhs) const {
154 return std::tie(x, y, z) < std::tie(_rhs.x, _rhs.y, _rhs.z);
155 }
156 inline bool operator!=(const Coordinate& _rhs) const {
157 return !(*this == _rhs);
158 }
159 inline bool operator>(const Coordinate& _rhs) const {
160 return _rhs < *this;
161 }
162 inline bool operator>=(const Coordinate& _rhs) const {
163 return !(*this < _rhs);
164 }
165 inline bool operator<=(const Coordinate& _rhs) const {
166 return !(_rhs < *this);
167 }
168
169 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()170 inline std::string toString() const {
171 std::ostringstream _aidl_os;
172 _aidl_os << "Coordinate{";
173 _aidl_os << "x: " << ::android::internal::ToString(x);
174 _aidl_os << ", y: " << ::android::internal::ToString(y);
175 _aidl_os << ", z: " << ::android::internal::ToString(z);
176 _aidl_os << "}";
177 return _aidl_os.str();
178 }
179 };
180 std::string id;
181 ::aidl::android::media::audio::common::AudioDevice device;
182 ::aidl::android::media::audio::common::MicrophoneInfo::Location location = ::aidl::android::media::audio::common::MicrophoneInfo::Location::UNKNOWN;
183 int32_t group = -1;
184 int32_t indexInTheGroup = -1;
185 std::optional<::aidl::android::media::audio::common::MicrophoneInfo::Sensitivity> sensitivity;
186 ::aidl::android::media::audio::common::MicrophoneInfo::Directionality directionality = ::aidl::android::media::audio::common::MicrophoneInfo::Directionality::UNKNOWN;
187 std::vector<::aidl::android::media::audio::common::MicrophoneInfo::FrequencyResponsePoint> frequencyResponse;
188 std::optional<::aidl::android::media::audio::common::MicrophoneInfo::Coordinate> position;
189 std::optional<::aidl::android::media::audio::common::MicrophoneInfo::Coordinate> orientation;
190
191 binder_status_t readFromParcel(const AParcel* parcel);
192 binder_status_t writeToParcel(AParcel* parcel) const;
193
194 inline bool operator==(const MicrophoneInfo& _rhs) const {
195 return std::tie(id, device, location, group, indexInTheGroup, sensitivity, directionality, frequencyResponse, position, orientation) == std::tie(_rhs.id, _rhs.device, _rhs.location, _rhs.group, _rhs.indexInTheGroup, _rhs.sensitivity, _rhs.directionality, _rhs.frequencyResponse, _rhs.position, _rhs.orientation);
196 }
197 inline bool operator<(const MicrophoneInfo& _rhs) const {
198 return std::tie(id, device, location, group, indexInTheGroup, sensitivity, directionality, frequencyResponse, position, orientation) < std::tie(_rhs.id, _rhs.device, _rhs.location, _rhs.group, _rhs.indexInTheGroup, _rhs.sensitivity, _rhs.directionality, _rhs.frequencyResponse, _rhs.position, _rhs.orientation);
199 }
200 inline bool operator!=(const MicrophoneInfo& _rhs) const {
201 return !(*this == _rhs);
202 }
203 inline bool operator>(const MicrophoneInfo& _rhs) const {
204 return _rhs < *this;
205 }
206 inline bool operator>=(const MicrophoneInfo& _rhs) const {
207 return !(*this < _rhs);
208 }
209 inline bool operator<=(const MicrophoneInfo& _rhs) const {
210 return !(_rhs < *this);
211 }
212
213 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
214 enum : int32_t { GROUP_UNKNOWN = -1 };
215 enum : int32_t { INDEX_IN_THE_GROUP_UNKNOWN = -1 };
toString()216 inline std::string toString() const {
217 std::ostringstream _aidl_os;
218 _aidl_os << "MicrophoneInfo{";
219 _aidl_os << "id: " << ::android::internal::ToString(id);
220 _aidl_os << ", device: " << ::android::internal::ToString(device);
221 _aidl_os << ", location: " << ::android::internal::ToString(location);
222 _aidl_os << ", group: " << ::android::internal::ToString(group);
223 _aidl_os << ", indexInTheGroup: " << ::android::internal::ToString(indexInTheGroup);
224 _aidl_os << ", sensitivity: " << ::android::internal::ToString(sensitivity);
225 _aidl_os << ", directionality: " << ::android::internal::ToString(directionality);
226 _aidl_os << ", frequencyResponse: " << ::android::internal::ToString(frequencyResponse);
227 _aidl_os << ", position: " << ::android::internal::ToString(position);
228 _aidl_os << ", orientation: " << ::android::internal::ToString(orientation);
229 _aidl_os << "}";
230 return _aidl_os.str();
231 }
232 };
233 } // namespace common
234 } // namespace audio
235 } // namespace media
236 } // namespace android
237 } // namespace aidl
238 namespace aidl {
239 namespace android {
240 namespace media {
241 namespace audio {
242 namespace common {
toString(MicrophoneInfo::Location val)243 [[nodiscard]] static inline std::string toString(MicrophoneInfo::Location val) {
244 switch(val) {
245 case MicrophoneInfo::Location::UNKNOWN:
246 return "UNKNOWN";
247 case MicrophoneInfo::Location::MAINBODY:
248 return "MAINBODY";
249 case MicrophoneInfo::Location::MAINBODY_MOVABLE:
250 return "MAINBODY_MOVABLE";
251 case MicrophoneInfo::Location::PERIPHERAL:
252 return "PERIPHERAL";
253 default:
254 return std::to_string(static_cast<int32_t>(val));
255 }
256 }
257 } // namespace common
258 } // namespace audio
259 } // namespace media
260 } // namespace android
261 } // namespace aidl
262 namespace ndk {
263 namespace internal {
264 #pragma clang diagnostic push
265 #pragma clang diagnostic ignored "-Wc++17-extensions"
266 template <>
267 constexpr inline std::array<aidl::android::media::audio::common::MicrophoneInfo::Location, 4> enum_values<aidl::android::media::audio::common::MicrophoneInfo::Location> = {
268 aidl::android::media::audio::common::MicrophoneInfo::Location::UNKNOWN,
269 aidl::android::media::audio::common::MicrophoneInfo::Location::MAINBODY,
270 aidl::android::media::audio::common::MicrophoneInfo::Location::MAINBODY_MOVABLE,
271 aidl::android::media::audio::common::MicrophoneInfo::Location::PERIPHERAL,
272 };
273 #pragma clang diagnostic pop
274 } // namespace internal
275 } // namespace ndk
276 namespace aidl {
277 namespace android {
278 namespace media {
279 namespace audio {
280 namespace common {
toString(MicrophoneInfo::Directionality val)281 [[nodiscard]] static inline std::string toString(MicrophoneInfo::Directionality val) {
282 switch(val) {
283 case MicrophoneInfo::Directionality::UNKNOWN:
284 return "UNKNOWN";
285 case MicrophoneInfo::Directionality::OMNI:
286 return "OMNI";
287 case MicrophoneInfo::Directionality::BI_DIRECTIONAL:
288 return "BI_DIRECTIONAL";
289 case MicrophoneInfo::Directionality::CARDIOID:
290 return "CARDIOID";
291 case MicrophoneInfo::Directionality::HYPER_CARDIOID:
292 return "HYPER_CARDIOID";
293 case MicrophoneInfo::Directionality::SUPER_CARDIOID:
294 return "SUPER_CARDIOID";
295 default:
296 return std::to_string(static_cast<int32_t>(val));
297 }
298 }
299 } // namespace common
300 } // namespace audio
301 } // namespace media
302 } // namespace android
303 } // namespace aidl
304 namespace ndk {
305 namespace internal {
306 #pragma clang diagnostic push
307 #pragma clang diagnostic ignored "-Wc++17-extensions"
308 template <>
309 constexpr inline std::array<aidl::android::media::audio::common::MicrophoneInfo::Directionality, 6> enum_values<aidl::android::media::audio::common::MicrophoneInfo::Directionality> = {
310 aidl::android::media::audio::common::MicrophoneInfo::Directionality::UNKNOWN,
311 aidl::android::media::audio::common::MicrophoneInfo::Directionality::OMNI,
312 aidl::android::media::audio::common::MicrophoneInfo::Directionality::BI_DIRECTIONAL,
313 aidl::android::media::audio::common::MicrophoneInfo::Directionality::CARDIOID,
314 aidl::android::media::audio::common::MicrophoneInfo::Directionality::HYPER_CARDIOID,
315 aidl::android::media::audio::common::MicrophoneInfo::Directionality::SUPER_CARDIOID,
316 };
317 #pragma clang diagnostic pop
318 } // namespace internal
319 } // namespace ndk
320