| #include <android/aidl/tests/nested/INestedService.h> |
| #include <android/aidl/tests/nested/BpNestedService.h> |
| namespace android { |
| namespace aidl { |
| namespace tests { |
| namespace nested { |
| DO_NOT_DIRECTLY_USE_ME_IMPLEMENT_META_INTERFACE(NestedService, "android.aidl.tests.nested.INestedService") |
| } // namespace nested |
| } // namespace tests |
| } // namespace aidl |
| } // namespace android |
| #include <android/aidl/tests/nested/BpNestedService.h> |
| #include <android/aidl/tests/nested/BnNestedService.h> |
| #include <binder/Parcel.h> |
| #include <android-base/macros.h> |
| |
| namespace android { |
| namespace aidl { |
| namespace tests { |
| namespace nested { |
| |
| BpNestedService::BpNestedService(const ::android::sp<::android::IBinder>& _aidl_impl) |
| : BpInterface<INestedService>(_aidl_impl){ |
| } |
| |
| ::android::binder::Status BpNestedService::flipStatus(const ::android::aidl::tests::nested::ParcelableWithNested& p, ::android::aidl::tests::nested::INestedService::Result* _aidl_return) { |
| ::android::Parcel _aidl_data; |
| _aidl_data.markForBinder(remoteStrong()); |
| ::android::Parcel _aidl_reply; |
| ::android::status_t _aidl_ret_status = ::android::OK; |
| ::android::binder::Status _aidl_status; |
| _aidl_ret_status = _aidl_data.writeInterfaceToken(getInterfaceDescriptor()); |
| if (((_aidl_ret_status) != (::android::OK))) { |
| goto _aidl_error; |
| } |
| _aidl_ret_status = _aidl_data.writeParcelable(p); |
| if (((_aidl_ret_status) != (::android::OK))) { |
| goto _aidl_error; |
| } |
| _aidl_ret_status = remote()->transact(BnNestedService::TRANSACTION_flipStatus, _aidl_data, &_aidl_reply, 0); |
| if (UNLIKELY(_aidl_ret_status == ::android::UNKNOWN_TRANSACTION && INestedService::getDefaultImpl())) { |
| return INestedService::getDefaultImpl()->flipStatus(p, _aidl_return); |
| } |
| if (((_aidl_ret_status) != (::android::OK))) { |
| goto _aidl_error; |
| } |
| _aidl_ret_status = _aidl_status.readFromParcel(_aidl_reply); |
| if (((_aidl_ret_status) != (::android::OK))) { |
| goto _aidl_error; |
| } |
| if (!_aidl_status.isOk()) { |
| return _aidl_status; |
| } |
| _aidl_ret_status = _aidl_reply.readParcelable(_aidl_return); |
| if (((_aidl_ret_status) != (::android::OK))) { |
| goto _aidl_error; |
| } |
| _aidl_error: |
| _aidl_status.setFromStatusT(_aidl_ret_status); |
| return _aidl_status; |
| } |
| |
| ::android::binder::Status BpNestedService::flipStatusWithCallback(::android::aidl::tests::nested::ParcelableWithNested::Status status, const ::android::sp<::android::aidl::tests::nested::INestedService::ICallback>& cb) { |
| ::android::Parcel _aidl_data; |
| _aidl_data.markForBinder(remoteStrong()); |
| ::android::Parcel _aidl_reply; |
| ::android::status_t _aidl_ret_status = ::android::OK; |
| ::android::binder::Status _aidl_status; |
| _aidl_ret_status = _aidl_data.writeInterfaceToken(getInterfaceDescriptor()); |
| if (((_aidl_ret_status) != (::android::OK))) { |
| goto _aidl_error; |
| } |
| _aidl_ret_status = _aidl_data.writeByte(static_cast<int8_t>(status)); |
| if (((_aidl_ret_status) != (::android::OK))) { |
| goto _aidl_error; |
| } |
| _aidl_ret_status = _aidl_data.writeStrongBinder(cb); |
| if (((_aidl_ret_status) != (::android::OK))) { |
| goto _aidl_error; |
| } |
| _aidl_ret_status = remote()->transact(BnNestedService::TRANSACTION_flipStatusWithCallback, _aidl_data, &_aidl_reply, 0); |
| if (UNLIKELY(_aidl_ret_status == ::android::UNKNOWN_TRANSACTION && INestedService::getDefaultImpl())) { |
| return INestedService::getDefaultImpl()->flipStatusWithCallback(status, cb); |
| } |
| if (((_aidl_ret_status) != (::android::OK))) { |
| goto _aidl_error; |
| } |
| _aidl_ret_status = _aidl_status.readFromParcel(_aidl_reply); |
| if (((_aidl_ret_status) != (::android::OK))) { |
| goto _aidl_error; |
| } |
| if (!_aidl_status.isOk()) { |
| return _aidl_status; |
| } |
| _aidl_error: |
| _aidl_status.setFromStatusT(_aidl_ret_status); |
| return _aidl_status; |
| } |
| |
| } // namespace nested |
| } // namespace tests |
| } // namespace aidl |
| } // namespace android |
| #include <android/aidl/tests/nested/BnNestedService.h> |
| #include <binder/Parcel.h> |
| #include <binder/Stability.h> |
| |
| namespace android { |
| namespace aidl { |
| namespace tests { |
| namespace nested { |
| |
| BnNestedService::BnNestedService() |
| { |
| ::android::internal::Stability::markCompilationUnit(this); |
| } |
| |
| ::android::status_t BnNestedService::onTransact(uint32_t _aidl_code, const ::android::Parcel& _aidl_data, ::android::Parcel* _aidl_reply, uint32_t _aidl_flags) { |
| ::android::status_t _aidl_ret_status = ::android::OK; |
| switch (_aidl_code) { |
| case BnNestedService::TRANSACTION_flipStatus: |
| { |
| ::android::aidl::tests::nested::ParcelableWithNested in_p; |
| ::android::aidl::tests::nested::INestedService::Result _aidl_return; |
| if (!(_aidl_data.checkInterface(this))) { |
| _aidl_ret_status = ::android::BAD_TYPE; |
| break; |
| } |
| _aidl_ret_status = _aidl_data.readParcelable(&in_p); |
| if (((_aidl_ret_status) != (::android::OK))) { |
| break; |
| } |
| if (auto st = _aidl_data.enforceNoDataAvail(); !st.isOk()) { |
| _aidl_ret_status = st.writeToParcel(_aidl_reply); |
| break; |
| } |
| ::android::binder::Status _aidl_status(flipStatus(in_p, &_aidl_return)); |
| _aidl_ret_status = _aidl_status.writeToParcel(_aidl_reply); |
| if (((_aidl_ret_status) != (::android::OK))) { |
| break; |
| } |
| if (!_aidl_status.isOk()) { |
| break; |
| } |
| _aidl_ret_status = _aidl_reply->writeParcelable(_aidl_return); |
| if (((_aidl_ret_status) != (::android::OK))) { |
| break; |
| } |
| } |
| break; |
| case BnNestedService::TRANSACTION_flipStatusWithCallback: |
| { |
| ::android::aidl::tests::nested::ParcelableWithNested::Status in_status; |
| ::android::sp<::android::aidl::tests::nested::INestedService::ICallback> in_cb; |
| if (!(_aidl_data.checkInterface(this))) { |
| _aidl_ret_status = ::android::BAD_TYPE; |
| break; |
| } |
| _aidl_ret_status = _aidl_data.readByte(reinterpret_cast<int8_t *>(&in_status)); |
| if (((_aidl_ret_status) != (::android::OK))) { |
| break; |
| } |
| _aidl_ret_status = _aidl_data.readStrongBinder(&in_cb); |
| if (((_aidl_ret_status) != (::android::OK))) { |
| break; |
| } |
| if (auto st = _aidl_data.enforceNoDataAvail(); !st.isOk()) { |
| _aidl_ret_status = st.writeToParcel(_aidl_reply); |
| break; |
| } |
| ::android::binder::Status _aidl_status(flipStatusWithCallback(in_status, in_cb)); |
| _aidl_ret_status = _aidl_status.writeToParcel(_aidl_reply); |
| if (((_aidl_ret_status) != (::android::OK))) { |
| break; |
| } |
| if (!_aidl_status.isOk()) { |
| break; |
| } |
| } |
| break; |
| default: |
| { |
| _aidl_ret_status = ::android::BBinder::onTransact(_aidl_code, _aidl_data, _aidl_reply, _aidl_flags); |
| } |
| break; |
| } |
| if (_aidl_ret_status == ::android::UNEXPECTED_NULL) { |
| _aidl_ret_status = ::android::binder::Status::fromExceptionCode(::android::binder::Status::EX_NULL_POINTER).writeOverParcel(_aidl_reply); |
| } |
| return _aidl_ret_status; |
| } |
| |
| } // namespace nested |
| } // namespace tests |
| } // namespace aidl |
| } // namespace android |
| #include <android/aidl/tests/nested/INestedService.h> |
| |
| namespace android { |
| namespace aidl { |
| namespace tests { |
| namespace nested { |
| ::android::status_t INestedService::Result::readFromParcel(const ::android::Parcel* _aidl_parcel) { |
| ::android::status_t _aidl_ret_status = ::android::OK; |
| size_t _aidl_start_pos = _aidl_parcel->dataPosition(); |
| int32_t _aidl_parcelable_raw_size = 0; |
| _aidl_ret_status = _aidl_parcel->readInt32(&_aidl_parcelable_raw_size); |
| if (((_aidl_ret_status) != (::android::OK))) { |
| return _aidl_ret_status; |
| } |
| if (_aidl_parcelable_raw_size < 4) return ::android::BAD_VALUE; |
| size_t _aidl_parcelable_size = static_cast<size_t>(_aidl_parcelable_raw_size); |
| if (_aidl_start_pos > SIZE_MAX - _aidl_parcelable_size) return ::android::BAD_VALUE; |
| if (_aidl_parcel->dataPosition() - _aidl_start_pos >= _aidl_parcelable_size) { |
| _aidl_parcel->setDataPosition(_aidl_start_pos + _aidl_parcelable_size); |
| return _aidl_ret_status; |
| } |
| _aidl_ret_status = _aidl_parcel->readByte(reinterpret_cast<int8_t *>(&status)); |
| if (((_aidl_ret_status) != (::android::OK))) { |
| return _aidl_ret_status; |
| } |
| _aidl_parcel->setDataPosition(_aidl_start_pos + _aidl_parcelable_size); |
| return _aidl_ret_status; |
| } |
| ::android::status_t INestedService::Result::writeToParcel(::android::Parcel* _aidl_parcel) const { |
| ::android::status_t _aidl_ret_status = ::android::OK; |
| auto _aidl_start_pos = _aidl_parcel->dataPosition(); |
| _aidl_parcel->writeInt32(0); |
| _aidl_ret_status = _aidl_parcel->writeByte(static_cast<int8_t>(status)); |
| if (((_aidl_ret_status) != (::android::OK))) { |
| return _aidl_ret_status; |
| } |
| auto _aidl_end_pos = _aidl_parcel->dataPosition(); |
| _aidl_parcel->setDataPosition(_aidl_start_pos); |
| _aidl_parcel->writeInt32(_aidl_end_pos - _aidl_start_pos); |
| _aidl_parcel->setDataPosition(_aidl_end_pos); |
| return _aidl_ret_status; |
| } |
| } // namespace nested |
| } // namespace tests |
| } // namespace aidl |
| } // namespace android |
| #include <android/aidl/tests/nested/INestedService.h> |
| #include <android/aidl/tests/nested/INestedService.h> |
| namespace android { |
| namespace aidl { |
| namespace tests { |
| namespace nested { |
| DO_NOT_DIRECTLY_USE_ME_IMPLEMENT_META_NESTED_INTERFACE(INestedService, Callback, "android.aidl.tests.nested.INestedService.ICallback") |
| } // namespace nested |
| } // namespace tests |
| } // namespace aidl |
| } // namespace android |
| #include <android/aidl/tests/nested/INestedService.h> |
| #include <android/aidl/tests/nested/INestedService.h> |
| #include <binder/Parcel.h> |
| #include <android-base/macros.h> |
| |
| namespace android { |
| namespace aidl { |
| namespace tests { |
| namespace nested { |
| |
| INestedService::BpCallback::BpCallback(const ::android::sp<::android::IBinder>& _aidl_impl) |
| : BpInterface<ICallback>(_aidl_impl){ |
| } |
| |
| ::android::binder::Status INestedService::BpCallback::done(::android::aidl::tests::nested::ParcelableWithNested::Status status) { |
| ::android::Parcel _aidl_data; |
| _aidl_data.markForBinder(remoteStrong()); |
| ::android::Parcel _aidl_reply; |
| ::android::status_t _aidl_ret_status = ::android::OK; |
| ::android::binder::Status _aidl_status; |
| _aidl_ret_status = _aidl_data.writeInterfaceToken(getInterfaceDescriptor()); |
| if (((_aidl_ret_status) != (::android::OK))) { |
| goto _aidl_error; |
| } |
| _aidl_ret_status = _aidl_data.writeByte(static_cast<int8_t>(status)); |
| if (((_aidl_ret_status) != (::android::OK))) { |
| goto _aidl_error; |
| } |
| _aidl_ret_status = remote()->transact(INestedService::BnCallback::TRANSACTION_done, _aidl_data, &_aidl_reply, 0); |
| if (UNLIKELY(_aidl_ret_status == ::android::UNKNOWN_TRANSACTION && ICallback::getDefaultImpl())) { |
| return ICallback::getDefaultImpl()->done(status); |
| } |
| if (((_aidl_ret_status) != (::android::OK))) { |
| goto _aidl_error; |
| } |
| _aidl_ret_status = _aidl_status.readFromParcel(_aidl_reply); |
| if (((_aidl_ret_status) != (::android::OK))) { |
| goto _aidl_error; |
| } |
| if (!_aidl_status.isOk()) { |
| return _aidl_status; |
| } |
| _aidl_error: |
| _aidl_status.setFromStatusT(_aidl_ret_status); |
| return _aidl_status; |
| } |
| |
| } // namespace nested |
| } // namespace tests |
| } // namespace aidl |
| } // namespace android |
| #include <android/aidl/tests/nested/INestedService.h> |
| #include <binder/Parcel.h> |
| #include <binder/Stability.h> |
| |
| namespace android { |
| namespace aidl { |
| namespace tests { |
| namespace nested { |
| |
| INestedService::BnCallback::BnCallback() |
| { |
| ::android::internal::Stability::markCompilationUnit(this); |
| } |
| |
| ::android::status_t INestedService::BnCallback::onTransact(uint32_t _aidl_code, const ::android::Parcel& _aidl_data, ::android::Parcel* _aidl_reply, uint32_t _aidl_flags) { |
| ::android::status_t _aidl_ret_status = ::android::OK; |
| switch (_aidl_code) { |
| case BnCallback::TRANSACTION_done: |
| { |
| ::android::aidl::tests::nested::ParcelableWithNested::Status in_status; |
| if (!(_aidl_data.checkInterface(this))) { |
| _aidl_ret_status = ::android::BAD_TYPE; |
| break; |
| } |
| _aidl_ret_status = _aidl_data.readByte(reinterpret_cast<int8_t *>(&in_status)); |
| if (((_aidl_ret_status) != (::android::OK))) { |
| break; |
| } |
| if (auto st = _aidl_data.enforceNoDataAvail(); !st.isOk()) { |
| _aidl_ret_status = st.writeToParcel(_aidl_reply); |
| break; |
| } |
| ::android::binder::Status _aidl_status(done(in_status)); |
| _aidl_ret_status = _aidl_status.writeToParcel(_aidl_reply); |
| if (((_aidl_ret_status) != (::android::OK))) { |
| break; |
| } |
| if (!_aidl_status.isOk()) { |
| break; |
| } |
| } |
| break; |
| default: |
| { |
| _aidl_ret_status = ::android::BBinder::onTransact(_aidl_code, _aidl_data, _aidl_reply, _aidl_flags); |
| } |
| break; |
| } |
| if (_aidl_ret_status == ::android::UNEXPECTED_NULL) { |
| _aidl_ret_status = ::android::binder::Status::fromExceptionCode(::android::binder::Status::EX_NULL_POINTER).writeOverParcel(_aidl_reply); |
| } |
| return _aidl_ret_status; |
| } |
| |
| } // namespace nested |
| } // namespace tests |
| } // namespace aidl |
| } // namespace android |