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/av/av-types-aidl_interface/preprocessed.aidl -pout/soong/.intermediates/frameworks/av/media/libaudioclient/effect-aidl_interface/preprocessed.aidl -pout/soong/.intermediates/frameworks/native/libs/permission/framework-permission-aidl_interface/preprocessed.aidl -pout/soong/.intermediates/frameworks/av/media/libshmem/shared-file-region-aidl_interface/preprocessed.aidl --ninja -d out/soong/.intermediates/frameworks/av/media/libaudioclient/audioflinger-aidl-cpp-source/gen/staging/android/media/CreateTrackRequest.cpp.d -h out/soong/.intermediates/frameworks/av/media/libaudioclient/audioflinger-aidl-cpp-source/gen/include/staging -o out/soong/.intermediates/frameworks/av/media/libaudioclient/audioflinger-aidl-cpp-source/gen/staging -Nframeworks/av/media/libaudioclient/aidl frameworks/av/media/libaudioclient/aidl/android/media/CreateTrackRequest.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/AudioClient.h>
13 #include <android/media/IAudioTrackCallback.h>
14 #include <android/media/SharedFileRegion.h>
15 #include <android/media/audio/common/AudioAttributes.h>
16 #include <android/media/audio/common/AudioConfig.h>
17 #include <binder/Parcel.h>
18 #include <binder/Status.h>
19 #include <cstdint>
20 #include <optional>
21 #include <string>
22 #include <tuple>
23 #include <utils/String16.h>
24 
25 namespace android::media {
26 class AudioClient;
27 class IAudioTrackCallback;
28 class SharedFileRegion;
29 }  // namespace android::media
30 namespace android::media::audio::common {
31 class AudioAttributes;
32 class AudioConfig;
33 }  // namespace android::media::audio::common
34 namespace android {
35 namespace media {
36 class LIBBINDER_EXPORTED CreateTrackRequest : public ::android::Parcelable {
37 public:
38   ::android::media::audio::common::AudioAttributes attr;
39   ::android::media::audio::common::AudioConfig config;
40   ::android::media::AudioClient clientInfo;
41   ::std::optional<::android::media::SharedFileRegion> sharedBuffer;
42   int32_t notificationsPerBuffer = 0;
43   float speed = 0.000000f;
44   ::android::sp<::android::media::IAudioTrackCallback> audioTrackCallback;
45   ::std::string opPackageName;
46   int32_t flags = 0;
47   int64_t frameCount = 0L;
48   int64_t notificationFrameCount = 0L;
49   int32_t selectedDeviceId = 0;
50   int32_t sessionId = 0;
51   inline bool operator==(const CreateTrackRequest& _rhs) const {
52     return std::tie(attr, config, clientInfo, sharedBuffer, notificationsPerBuffer, speed, audioTrackCallback, opPackageName, flags, frameCount, notificationFrameCount, selectedDeviceId, sessionId) == std::tie(_rhs.attr, _rhs.config, _rhs.clientInfo, _rhs.sharedBuffer, _rhs.notificationsPerBuffer, _rhs.speed, _rhs.audioTrackCallback, _rhs.opPackageName, _rhs.flags, _rhs.frameCount, _rhs.notificationFrameCount, _rhs.selectedDeviceId, _rhs.sessionId);
53   }
54   inline bool operator<(const CreateTrackRequest& _rhs) const {
55     return std::tie(attr, config, clientInfo, sharedBuffer, notificationsPerBuffer, speed, audioTrackCallback, opPackageName, flags, frameCount, notificationFrameCount, selectedDeviceId, sessionId) < std::tie(_rhs.attr, _rhs.config, _rhs.clientInfo, _rhs.sharedBuffer, _rhs.notificationsPerBuffer, _rhs.speed, _rhs.audioTrackCallback, _rhs.opPackageName, _rhs.flags, _rhs.frameCount, _rhs.notificationFrameCount, _rhs.selectedDeviceId, _rhs.sessionId);
56   }
57   inline bool operator!=(const CreateTrackRequest& _rhs) const {
58     return !(*this == _rhs);
59   }
60   inline bool operator>(const CreateTrackRequest& _rhs) const {
61     return _rhs < *this;
62   }
63   inline bool operator>=(const CreateTrackRequest& _rhs) const {
64     return !(*this < _rhs);
65   }
66   inline bool operator<=(const CreateTrackRequest& _rhs) const {
67     return !(_rhs < *this);
68   }
69 
70   ::android::status_t readFromParcel(const ::android::Parcel* _aidl_parcel) final;
71   ::android::status_t writeToParcel(::android::Parcel* _aidl_parcel) const final;
getParcelableDescriptor()72   static const ::android::String16& getParcelableDescriptor() {
73     static const ::android::StaticString16 DESCRIPTOR (u"android.media.CreateTrackRequest");
74     return DESCRIPTOR;
75   }
toString()76   inline std::string toString() const {
77     std::ostringstream _aidl_os;
78     _aidl_os << "CreateTrackRequest{";
79     _aidl_os << "attr: " << ::android::internal::ToString(attr);
80     _aidl_os << ", config: " << ::android::internal::ToString(config);
81     _aidl_os << ", clientInfo: " << ::android::internal::ToString(clientInfo);
82     _aidl_os << ", sharedBuffer: " << ::android::internal::ToString(sharedBuffer);
83     _aidl_os << ", notificationsPerBuffer: " << ::android::internal::ToString(notificationsPerBuffer);
84     _aidl_os << ", speed: " << ::android::internal::ToString(speed);
85     _aidl_os << ", audioTrackCallback: " << ::android::internal::ToString(audioTrackCallback);
86     _aidl_os << ", opPackageName: " << ::android::internal::ToString(opPackageName);
87     _aidl_os << ", flags: " << ::android::internal::ToString(flags);
88     _aidl_os << ", frameCount: " << ::android::internal::ToString(frameCount);
89     _aidl_os << ", notificationFrameCount: " << ::android::internal::ToString(notificationFrameCount);
90     _aidl_os << ", selectedDeviceId: " << ::android::internal::ToString(selectedDeviceId);
91     _aidl_os << ", sessionId: " << ::android::internal::ToString(sessionId);
92     _aidl_os << "}";
93     return _aidl_os.str();
94   }
95 };  // class CreateTrackRequest
96 }  // namespace media
97 }  // namespace android
98