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 current --ninja -d out/soong/.intermediates/frameworks/av/audio-permission-aidl-cpp-source/gen/staging/com/android/media/permission/INativePermissionController.cpp.d -h out/soong/.intermediates/frameworks/av/audio-permission-aidl-cpp-source/gen/include/staging -o out/soong/.intermediates/frameworks/av/audio-permission-aidl-cpp-source/gen/staging -Nframeworks/av/aidl frameworks/av/aidl/com/android/media/permission/INativePermissionController.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 #include <com/android/media/permission/INativePermissionController.h>
10 #include <com/android/media/permission/BpNativePermissionController.h>
11 namespace com {
12 namespace android {
13 namespace media {
14 namespace permission {
15 DO_NOT_DIRECTLY_USE_ME_IMPLEMENT_META_INTERFACE(NativePermissionController, "com.android.media.permission.INativePermissionController")
16 }  // namespace permission
17 }  // namespace media
18 }  // namespace android
19 }  // namespace com
20 #include <com/android/media/permission/BpNativePermissionController.h>
21 #include <com/android/media/permission/BnNativePermissionController.h>
22 #include <binder/Parcel.h>
23 
24 namespace com {
25 namespace android {
26 namespace media {
27 namespace permission {
28 
BpNativePermissionController(const::android::sp<::android::IBinder> & _aidl_impl)29 BpNativePermissionController::BpNativePermissionController(const ::android::sp<::android::IBinder>& _aidl_impl)
30     : BpInterface<INativePermissionController>(_aidl_impl){
31 }
32 
populatePackagesForUids(const::std::vector<::com::android::media::permission::UidPackageState> & initialPackageStates)33 ::android::binder::Status BpNativePermissionController::populatePackagesForUids(const ::std::vector<::com::android::media::permission::UidPackageState>& initialPackageStates) {
34   ::android::Parcel _aidl_data;
35   _aidl_data.markForBinder(remoteStrong());
36   ::android::Parcel _aidl_reply;
37   ::android::status_t _aidl_ret_status = ::android::OK;
38   ::android::binder::Status _aidl_status;
39   ::android::binder::ScopedTrace _aidl_trace(ATRACE_TAG_AIDL, "AIDL::cpp::INativePermissionController::populatePackagesForUids::cppClient");
40   _aidl_ret_status = _aidl_data.writeInterfaceToken(getInterfaceDescriptor());
41   if (((_aidl_ret_status) != (::android::OK))) {
42     goto _aidl_error;
43   }
44   _aidl_ret_status = _aidl_data.writeParcelableVector(initialPackageStates);
45   if (((_aidl_ret_status) != (::android::OK))) {
46     goto _aidl_error;
47   }
48   _aidl_ret_status = remote()->transact(BnNativePermissionController::TRANSACTION_populatePackagesForUids, _aidl_data, &_aidl_reply, 0);
49   if (_aidl_ret_status == ::android::UNKNOWN_TRANSACTION && INativePermissionController::getDefaultImpl()) [[unlikely]] {
50      return INativePermissionController::getDefaultImpl()->populatePackagesForUids(initialPackageStates);
51   }
52   if (((_aidl_ret_status) != (::android::OK))) {
53     goto _aidl_error;
54   }
55   _aidl_ret_status = _aidl_status.readFromParcel(_aidl_reply);
56   if (((_aidl_ret_status) != (::android::OK))) {
57     goto _aidl_error;
58   }
59   if (!_aidl_status.isOk()) {
60     return _aidl_status;
61   }
62   _aidl_error:
63   _aidl_status.setFromStatusT(_aidl_ret_status);
64   return _aidl_status;
65 }
66 
updatePackagesForUid(const::com::android::media::permission::UidPackageState & newPackageState)67 ::android::binder::Status BpNativePermissionController::updatePackagesForUid(const ::com::android::media::permission::UidPackageState& newPackageState) {
68   ::android::Parcel _aidl_data;
69   _aidl_data.markForBinder(remoteStrong());
70   ::android::Parcel _aidl_reply;
71   ::android::status_t _aidl_ret_status = ::android::OK;
72   ::android::binder::Status _aidl_status;
73   ::android::binder::ScopedTrace _aidl_trace(ATRACE_TAG_AIDL, "AIDL::cpp::INativePermissionController::updatePackagesForUid::cppClient");
74   _aidl_ret_status = _aidl_data.writeInterfaceToken(getInterfaceDescriptor());
75   if (((_aidl_ret_status) != (::android::OK))) {
76     goto _aidl_error;
77   }
78   _aidl_ret_status = _aidl_data.writeParcelable(newPackageState);
79   if (((_aidl_ret_status) != (::android::OK))) {
80     goto _aidl_error;
81   }
82   _aidl_ret_status = remote()->transact(BnNativePermissionController::TRANSACTION_updatePackagesForUid, _aidl_data, &_aidl_reply, 0);
83   if (_aidl_ret_status == ::android::UNKNOWN_TRANSACTION && INativePermissionController::getDefaultImpl()) [[unlikely]] {
84      return INativePermissionController::getDefaultImpl()->updatePackagesForUid(newPackageState);
85   }
86   if (((_aidl_ret_status) != (::android::OK))) {
87     goto _aidl_error;
88   }
89   _aidl_ret_status = _aidl_status.readFromParcel(_aidl_reply);
90   if (((_aidl_ret_status) != (::android::OK))) {
91     goto _aidl_error;
92   }
93   if (!_aidl_status.isOk()) {
94     return _aidl_status;
95   }
96   _aidl_error:
97   _aidl_status.setFromStatusT(_aidl_ret_status);
98   return _aidl_status;
99 }
100 
populatePermissionState(::com::android::media::permission::PermissionEnum perm,const::std::vector<int32_t> & uids)101 ::android::binder::Status BpNativePermissionController::populatePermissionState(::com::android::media::permission::PermissionEnum perm, const ::std::vector<int32_t>& uids) {
102   ::android::Parcel _aidl_data;
103   _aidl_data.markForBinder(remoteStrong());
104   ::android::Parcel _aidl_reply;
105   ::android::status_t _aidl_ret_status = ::android::OK;
106   ::android::binder::Status _aidl_status;
107   ::android::binder::ScopedTrace _aidl_trace(ATRACE_TAG_AIDL, "AIDL::cpp::INativePermissionController::populatePermissionState::cppClient");
108   _aidl_ret_status = _aidl_data.writeInterfaceToken(getInterfaceDescriptor());
109   if (((_aidl_ret_status) != (::android::OK))) {
110     goto _aidl_error;
111   }
112   _aidl_ret_status = _aidl_data.writeByte(static_cast<int8_t>(perm));
113   if (((_aidl_ret_status) != (::android::OK))) {
114     goto _aidl_error;
115   }
116   _aidl_ret_status = _aidl_data.writeInt32Vector(uids);
117   if (((_aidl_ret_status) != (::android::OK))) {
118     goto _aidl_error;
119   }
120   _aidl_ret_status = remote()->transact(BnNativePermissionController::TRANSACTION_populatePermissionState, _aidl_data, &_aidl_reply, 0);
121   if (_aidl_ret_status == ::android::UNKNOWN_TRANSACTION && INativePermissionController::getDefaultImpl()) [[unlikely]] {
122      return INativePermissionController::getDefaultImpl()->populatePermissionState(perm, uids);
123   }
124   if (((_aidl_ret_status) != (::android::OK))) {
125     goto _aidl_error;
126   }
127   _aidl_ret_status = _aidl_status.readFromParcel(_aidl_reply);
128   if (((_aidl_ret_status) != (::android::OK))) {
129     goto _aidl_error;
130   }
131   if (!_aidl_status.isOk()) {
132     return _aidl_status;
133   }
134   _aidl_error:
135   _aidl_status.setFromStatusT(_aidl_ret_status);
136   return _aidl_status;
137 }
138 
139 }  // namespace permission
140 }  // namespace media
141 }  // namespace android
142 }  // namespace com
143 #include <com/android/media/permission/BnNativePermissionController.h>
144 #include <binder/Parcel.h>
145 #include <binder/Stability.h>
146 
147 namespace com {
148 namespace android {
149 namespace media {
150 namespace permission {
151 
BnNativePermissionController()152 BnNativePermissionController::BnNativePermissionController()
153 {
154   ::android::internal::Stability::markCompilationUnit(this);
155 }
156 
onTransact(uint32_t _aidl_code,const::android::Parcel & _aidl_data,::android::Parcel * _aidl_reply,uint32_t _aidl_flags)157 ::android::status_t BnNativePermissionController::onTransact(uint32_t _aidl_code, const ::android::Parcel& _aidl_data, ::android::Parcel* _aidl_reply, uint32_t _aidl_flags) {
158   ::android::status_t _aidl_ret_status = ::android::OK;
159   switch (_aidl_code) {
160   case BnNativePermissionController::TRANSACTION_populatePackagesForUids:
161   {
162     ::std::vector<::com::android::media::permission::UidPackageState> in_initialPackageStates;
163     if (!(_aidl_data.checkInterface(this))) {
164       _aidl_ret_status = ::android::BAD_TYPE;
165       break;
166     }
167     ::android::binder::ScopedTrace _aidl_trace(ATRACE_TAG_AIDL, "AIDL::cpp::INativePermissionController::populatePackagesForUids::cppServer");
168     _aidl_ret_status = _aidl_data.readParcelableVector(&in_initialPackageStates);
169     if (((_aidl_ret_status) != (::android::OK))) {
170       break;
171     }
172     if (auto st = _aidl_data.enforceNoDataAvail(); !st.isOk()) {
173       _aidl_ret_status = st.writeToParcel(_aidl_reply);
174       break;
175     }
176     ::android::binder::Status _aidl_status(populatePackagesForUids(in_initialPackageStates));
177     _aidl_ret_status = _aidl_status.writeToParcel(_aidl_reply);
178     if (((_aidl_ret_status) != (::android::OK))) {
179       break;
180     }
181     if (!_aidl_status.isOk()) {
182       break;
183     }
184   }
185   break;
186   case BnNativePermissionController::TRANSACTION_updatePackagesForUid:
187   {
188     ::com::android::media::permission::UidPackageState in_newPackageState;
189     if (!(_aidl_data.checkInterface(this))) {
190       _aidl_ret_status = ::android::BAD_TYPE;
191       break;
192     }
193     ::android::binder::ScopedTrace _aidl_trace(ATRACE_TAG_AIDL, "AIDL::cpp::INativePermissionController::updatePackagesForUid::cppServer");
194     _aidl_ret_status = _aidl_data.readParcelable(&in_newPackageState);
195     if (((_aidl_ret_status) != (::android::OK))) {
196       break;
197     }
198     if (auto st = _aidl_data.enforceNoDataAvail(); !st.isOk()) {
199       _aidl_ret_status = st.writeToParcel(_aidl_reply);
200       break;
201     }
202     ::android::binder::Status _aidl_status(updatePackagesForUid(in_newPackageState));
203     _aidl_ret_status = _aidl_status.writeToParcel(_aidl_reply);
204     if (((_aidl_ret_status) != (::android::OK))) {
205       break;
206     }
207     if (!_aidl_status.isOk()) {
208       break;
209     }
210   }
211   break;
212   case BnNativePermissionController::TRANSACTION_populatePermissionState:
213   {
214     ::com::android::media::permission::PermissionEnum in_perm;
215     ::std::vector<int32_t> in_uids;
216     if (!(_aidl_data.checkInterface(this))) {
217       _aidl_ret_status = ::android::BAD_TYPE;
218       break;
219     }
220     ::android::binder::ScopedTrace _aidl_trace(ATRACE_TAG_AIDL, "AIDL::cpp::INativePermissionController::populatePermissionState::cppServer");
221     _aidl_ret_status = _aidl_data.readByte(reinterpret_cast<int8_t *>(&in_perm));
222     if (((_aidl_ret_status) != (::android::OK))) {
223       break;
224     }
225     _aidl_ret_status = _aidl_data.readInt32Vector(&in_uids);
226     if (((_aidl_ret_status) != (::android::OK))) {
227       break;
228     }
229     if (auto st = _aidl_data.enforceNoDataAvail(); !st.isOk()) {
230       _aidl_ret_status = st.writeToParcel(_aidl_reply);
231       break;
232     }
233     ::android::binder::Status _aidl_status(populatePermissionState(in_perm, in_uids));
234     _aidl_ret_status = _aidl_status.writeToParcel(_aidl_reply);
235     if (((_aidl_ret_status) != (::android::OK))) {
236       break;
237     }
238     if (!_aidl_status.isOk()) {
239       break;
240     }
241   }
242   break;
243   default:
244   {
245     _aidl_ret_status = ::android::BBinder::onTransact(_aidl_code, _aidl_data, _aidl_reply, _aidl_flags);
246   }
247   break;
248   }
249   if (_aidl_ret_status == ::android::UNEXPECTED_NULL) {
250     _aidl_ret_status = ::android::binder::Status::fromExceptionCode(::android::binder::Status::EX_NULL_POINTER).writeOverParcel(_aidl_reply);
251   }
252   return _aidl_ret_status;
253 }
254 
255 }  // namespace permission
256 }  // namespace media
257 }  // namespace android
258 }  // namespace com
259