123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955 |
- /*
- * Copyright (C) 2015, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- #include "tests/test_data.h"
- namespace android {
- namespace aidl {
- namespace test_data {
- namespace ping_responder {
- const char kCanonicalName[] = "android.os.IPingResponder";
- const char kInterfaceDefinition[] = R"(
- package android.os;
- import bar.Unused;
- interface IPingResponder {
- String Ping(String input);
- @nullable
- String NullablePing(@nullable String input);
- @utf8InCpp
- String Utf8Ping(@utf8InCpp String input);
- @utf8InCpp @nullable
- String NullableUtf8Ping(@utf8InCpp @nullable String input);
- }
- )";
- const char kCppOutputPath[] = "some/path/to/output.cpp";
- const char kCppParcelableHeader[] = "cpp-header-str";
- const char* kImportedParcelables[] = {
- "bar.Unused",
- nullptr,
- };
- const char* kImportedInterfaces[] = {
- nullptr,
- };
- const char kGenHeaderDir[] = "some/path";
- const char kGenInterfaceHeaderPath[] = "some/path/android/os/IPingResponder.h";
- const char kGenClientHeaderPath[] = "some/path/android/os/BpPingResponder.h";
- const char kGenServerHeaderPath[] = "some/path/android/os/BnPingResponder.h";
- const char kExpectedCppDepsOutput[] =
- R"(some/path/to/output.cpp : \
- android/os/IPingResponder.aidl \
- ./bar/Unused.aidl
- android/os/IPingResponder.aidl :
- ./bar/Unused.aidl :
- some/path/android/os/BpPingResponder.h \
- some/path/android/os/BnPingResponder.h \
- some/path/android/os/IPingResponder.h : \
- android/os/IPingResponder.aidl \
- ./bar/Unused.aidl
- )";
- const char kExpectedCppOutput[] =
- R"(#include <android/os/IPingResponder.h>
- #include <android/os/BpPingResponder.h>
- namespace android {
- namespace os {
- IMPLEMENT_META_INTERFACE(PingResponder, "android.os.IPingResponder")
- ::android::IBinder* IPingResponderDefault::onAsBinder() {
- return nullptr;
- }
- ::android::binder::Status IPingResponderDefault::Ping(const ::android::String16&, ::android::String16* ) {
- return ::android::binder::Status::fromStatusT(::android::UNKNOWN_TRANSACTION);
- }
- ::android::binder::Status IPingResponderDefault::NullablePing(const ::std::unique_ptr<::android::String16>&, ::std::unique_ptr<::android::String16>* ) {
- return ::android::binder::Status::fromStatusT(::android::UNKNOWN_TRANSACTION);
- }
- ::android::binder::Status IPingResponderDefault::Utf8Ping(const ::std::string&, ::std::string* ) {
- return ::android::binder::Status::fromStatusT(::android::UNKNOWN_TRANSACTION);
- }
- ::android::binder::Status IPingResponderDefault::NullableUtf8Ping(const ::std::unique_ptr<::std::string>&, ::std::unique_ptr<::std::string>* ) {
- return ::android::binder::Status::fromStatusT(::android::UNKNOWN_TRANSACTION);
- }
- } // namespace os
- } // namespace android
- #include <android/os/BpPingResponder.h>
- #include <binder/Parcel.h>
- #include <android-base/macros.h>
- namespace android {
- namespace os {
- BpPingResponder::BpPingResponder(const ::android::sp<::android::IBinder>& _aidl_impl)
- : BpInterface<IPingResponder>(_aidl_impl){
- }
- ::android::binder::Status BpPingResponder::Ping(const ::android::String16& input, ::android::String16* _aidl_return) {
- ::android::Parcel _aidl_data;
- ::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.writeString16(input);
- if (((_aidl_ret_status) != (::android::OK))) {
- goto _aidl_error;
- }
- _aidl_ret_status = remote()->transact(::android::IBinder::FIRST_CALL_TRANSACTION + 0 /* Ping */, _aidl_data, &_aidl_reply);
- if (UNLIKELY(_aidl_ret_status == ::android::UNKNOWN_TRANSACTION && IPingResponder::getDefaultImpl())) {
- return IPingResponder::getDefaultImpl()->Ping(input, _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.readString16(_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 BpPingResponder::NullablePing(const ::std::unique_ptr<::android::String16>& input, ::std::unique_ptr<::android::String16>* _aidl_return) {
- ::android::Parcel _aidl_data;
- ::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.writeString16(input);
- if (((_aidl_ret_status) != (::android::OK))) {
- goto _aidl_error;
- }
- _aidl_ret_status = remote()->transact(::android::IBinder::FIRST_CALL_TRANSACTION + 1 /* NullablePing */, _aidl_data, &_aidl_reply);
- if (UNLIKELY(_aidl_ret_status == ::android::UNKNOWN_TRANSACTION && IPingResponder::getDefaultImpl())) {
- return IPingResponder::getDefaultImpl()->NullablePing(input, _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.readString16(_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 BpPingResponder::Utf8Ping(const ::std::string& input, ::std::string* _aidl_return) {
- ::android::Parcel _aidl_data;
- ::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.writeUtf8AsUtf16(input);
- if (((_aidl_ret_status) != (::android::OK))) {
- goto _aidl_error;
- }
- _aidl_ret_status = remote()->transact(::android::IBinder::FIRST_CALL_TRANSACTION + 2 /* Utf8Ping */, _aidl_data, &_aidl_reply);
- if (UNLIKELY(_aidl_ret_status == ::android::UNKNOWN_TRANSACTION && IPingResponder::getDefaultImpl())) {
- return IPingResponder::getDefaultImpl()->Utf8Ping(input, _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.readUtf8FromUtf16(_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 BpPingResponder::NullableUtf8Ping(const ::std::unique_ptr<::std::string>& input, ::std::unique_ptr<::std::string>* _aidl_return) {
- ::android::Parcel _aidl_data;
- ::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.writeUtf8AsUtf16(input);
- if (((_aidl_ret_status) != (::android::OK))) {
- goto _aidl_error;
- }
- _aidl_ret_status = remote()->transact(::android::IBinder::FIRST_CALL_TRANSACTION + 3 /* NullableUtf8Ping */, _aidl_data, &_aidl_reply);
- if (UNLIKELY(_aidl_ret_status == ::android::UNKNOWN_TRANSACTION && IPingResponder::getDefaultImpl())) {
- return IPingResponder::getDefaultImpl()->NullableUtf8Ping(input, _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.readUtf8FromUtf16(_aidl_return);
- if (((_aidl_ret_status) != (::android::OK))) {
- goto _aidl_error;
- }
- _aidl_error:
- _aidl_status.setFromStatusT(_aidl_ret_status);
- return _aidl_status;
- }
- } // namespace os
- } // namespace android
- #include <android/os/BnPingResponder.h>
- #include <binder/Parcel.h>
- namespace android {
- namespace os {
- ::android::status_t BnPingResponder::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 ::android::IBinder::FIRST_CALL_TRANSACTION + 0 /* Ping */:
- {
- ::android::String16 in_input;
- ::android::String16 _aidl_return;
- if (!(_aidl_data.checkInterface(this))) {
- _aidl_ret_status = ::android::BAD_TYPE;
- break;
- }
- _aidl_ret_status = _aidl_data.readString16(&in_input);
- if (((_aidl_ret_status) != (::android::OK))) {
- break;
- }
- ::android::binder::Status _aidl_status(Ping(in_input, &_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->writeString16(_aidl_return);
- if (((_aidl_ret_status) != (::android::OK))) {
- break;
- }
- }
- break;
- case ::android::IBinder::FIRST_CALL_TRANSACTION + 1 /* NullablePing */:
- {
- ::std::unique_ptr<::android::String16> in_input;
- ::std::unique_ptr<::android::String16> _aidl_return;
- if (!(_aidl_data.checkInterface(this))) {
- _aidl_ret_status = ::android::BAD_TYPE;
- break;
- }
- _aidl_ret_status = _aidl_data.readString16(&in_input);
- if (((_aidl_ret_status) != (::android::OK))) {
- break;
- }
- ::android::binder::Status _aidl_status(NullablePing(in_input, &_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->writeString16(_aidl_return);
- if (((_aidl_ret_status) != (::android::OK))) {
- break;
- }
- }
- break;
- case ::android::IBinder::FIRST_CALL_TRANSACTION + 2 /* Utf8Ping */:
- {
- ::std::string in_input;
- ::std::string _aidl_return;
- if (!(_aidl_data.checkInterface(this))) {
- _aidl_ret_status = ::android::BAD_TYPE;
- break;
- }
- _aidl_ret_status = _aidl_data.readUtf8FromUtf16(&in_input);
- if (((_aidl_ret_status) != (::android::OK))) {
- break;
- }
- ::android::binder::Status _aidl_status(Utf8Ping(in_input, &_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->writeUtf8AsUtf16(_aidl_return);
- if (((_aidl_ret_status) != (::android::OK))) {
- break;
- }
- }
- break;
- case ::android::IBinder::FIRST_CALL_TRANSACTION + 3 /* NullableUtf8Ping */:
- {
- ::std::unique_ptr<::std::string> in_input;
- ::std::unique_ptr<::std::string> _aidl_return;
- if (!(_aidl_data.checkInterface(this))) {
- _aidl_ret_status = ::android::BAD_TYPE;
- break;
- }
- _aidl_ret_status = _aidl_data.readUtf8FromUtf16(&in_input);
- if (((_aidl_ret_status) != (::android::OK))) {
- break;
- }
- ::android::binder::Status _aidl_status(NullableUtf8Ping(in_input, &_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->writeUtf8AsUtf16(_aidl_return);
- if (((_aidl_ret_status) != (::android::OK))) {
- 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).writeToParcel(_aidl_reply);
- }
- return _aidl_ret_status;
- }
- } // namespace os
- } // namespace android
- )";
- const char kExpectedIHeaderOutput[] =
- R"(#ifndef AIDL_GENERATED_ANDROID_OS_I_PING_RESPONDER_H_
- #define AIDL_GENERATED_ANDROID_OS_I_PING_RESPONDER_H_
- #include <binder/IBinder.h>
- #include <binder/IInterface.h>
- #include <binder/Status.h>
- #include <memory>
- #include <string>
- #include <utils/String16.h>
- #include <utils/StrongPointer.h>
- namespace android {
- namespace os {
- class IPingResponder : public ::android::IInterface {
- public:
- DECLARE_META_INTERFACE(PingResponder)
- virtual ::android::binder::Status Ping(const ::android::String16& input, ::android::String16* _aidl_return) = 0;
- virtual ::android::binder::Status NullablePing(const ::std::unique_ptr<::android::String16>& input, ::std::unique_ptr<::android::String16>* _aidl_return) = 0;
- virtual ::android::binder::Status Utf8Ping(const ::std::string& input, ::std::string* _aidl_return) = 0;
- virtual ::android::binder::Status NullableUtf8Ping(const ::std::unique_ptr<::std::string>& input, ::std::unique_ptr<::std::string>* _aidl_return) = 0;
- }; // class IPingResponder
- class IPingResponderDefault : public IPingResponder {
- public:
- ::android::IBinder* onAsBinder() override;
- ::android::binder::Status Ping(const ::android::String16& input, ::android::String16* _aidl_return) override;
- ::android::binder::Status NullablePing(const ::std::unique_ptr<::android::String16>& input, ::std::unique_ptr<::android::String16>* _aidl_return) override;
- ::android::binder::Status Utf8Ping(const ::std::string& input, ::std::string* _aidl_return) override;
- ::android::binder::Status NullableUtf8Ping(const ::std::unique_ptr<::std::string>& input, ::std::unique_ptr<::std::string>* _aidl_return) override;
- };
- } // namespace os
- } // namespace android
- #endif // AIDL_GENERATED_ANDROID_OS_I_PING_RESPONDER_H_
- )";
- const char kExpectedBpHeaderOutput[] =
- R"(#ifndef AIDL_GENERATED_ANDROID_OS_BP_PING_RESPONDER_H_
- #define AIDL_GENERATED_ANDROID_OS_BP_PING_RESPONDER_H_
- #include <binder/IBinder.h>
- #include <binder/IInterface.h>
- #include <utils/Errors.h>
- #include <android/os/IPingResponder.h>
- namespace android {
- namespace os {
- class BpPingResponder : public ::android::BpInterface<IPingResponder> {
- public:
- explicit BpPingResponder(const ::android::sp<::android::IBinder>& _aidl_impl);
- virtual ~BpPingResponder() = default;
- ::android::binder::Status Ping(const ::android::String16& input, ::android::String16* _aidl_return) override;
- ::android::binder::Status NullablePing(const ::std::unique_ptr<::android::String16>& input, ::std::unique_ptr<::android::String16>* _aidl_return) override;
- ::android::binder::Status Utf8Ping(const ::std::string& input, ::std::string* _aidl_return) override;
- ::android::binder::Status NullableUtf8Ping(const ::std::unique_ptr<::std::string>& input, ::std::unique_ptr<::std::string>* _aidl_return) override;
- }; // class BpPingResponder
- } // namespace os
- } // namespace android
- #endif // AIDL_GENERATED_ANDROID_OS_BP_PING_RESPONDER_H_
- )";
- const char kExpectedBnHeaderOutput[] =
- R"(#ifndef AIDL_GENERATED_ANDROID_OS_BN_PING_RESPONDER_H_
- #define AIDL_GENERATED_ANDROID_OS_BN_PING_RESPONDER_H_
- #include <binder/IInterface.h>
- #include <android/os/IPingResponder.h>
- namespace android {
- namespace os {
- class BnPingResponder : public ::android::BnInterface<IPingResponder> {
- public:
- ::android::status_t onTransact(uint32_t _aidl_code, const ::android::Parcel& _aidl_data, ::android::Parcel* _aidl_reply, uint32_t _aidl_flags) override;
- }; // class BnPingResponder
- } // namespace os
- } // namespace android
- #endif // AIDL_GENERATED_ANDROID_OS_BN_PING_RESPONDER_H_
- )";
- const char kExpectedCppOutputWithVersion[] =
- R"(#include <android/os/IPingResponder.h>
- #include <android/os/BpPingResponder.h>
- namespace android {
- namespace os {
- IMPLEMENT_META_INTERFACE(PingResponder, "android.os.IPingResponder")
- ::android::IBinder* IPingResponderDefault::onAsBinder() {
- return nullptr;
- }
- ::android::binder::Status IPingResponderDefault::Ping(const ::android::String16&, ::android::String16* ) {
- return ::android::binder::Status::fromStatusT(::android::UNKNOWN_TRANSACTION);
- }
- ::android::binder::Status IPingResponderDefault::NullablePing(const ::std::unique_ptr<::android::String16>&, ::std::unique_ptr<::android::String16>* ) {
- return ::android::binder::Status::fromStatusT(::android::UNKNOWN_TRANSACTION);
- }
- ::android::binder::Status IPingResponderDefault::Utf8Ping(const ::std::string&, ::std::string* ) {
- return ::android::binder::Status::fromStatusT(::android::UNKNOWN_TRANSACTION);
- }
- ::android::binder::Status IPingResponderDefault::NullableUtf8Ping(const ::std::unique_ptr<::std::string>&, ::std::unique_ptr<::std::string>* ) {
- return ::android::binder::Status::fromStatusT(::android::UNKNOWN_TRANSACTION);
- }
- int32_t IPingResponderDefault::getInterfaceVersion() {
- return 0;
- }
- } // namespace os
- } // namespace android
- #include <android/os/BpPingResponder.h>
- #include <binder/Parcel.h>
- #include <android-base/macros.h>
- namespace android {
- namespace os {
- BpPingResponder::BpPingResponder(const ::android::sp<::android::IBinder>& _aidl_impl)
- : BpInterface<IPingResponder>(_aidl_impl){
- }
- ::android::binder::Status BpPingResponder::Ping(const ::android::String16& input, ::android::String16* _aidl_return) {
- ::android::Parcel _aidl_data;
- ::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.writeString16(input);
- if (((_aidl_ret_status) != (::android::OK))) {
- goto _aidl_error;
- }
- _aidl_ret_status = remote()->transact(::android::IBinder::FIRST_CALL_TRANSACTION + 0 /* Ping */, _aidl_data, &_aidl_reply);
- if (UNLIKELY(_aidl_ret_status == ::android::UNKNOWN_TRANSACTION && IPingResponder::getDefaultImpl())) {
- return IPingResponder::getDefaultImpl()->Ping(input, _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.readString16(_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 BpPingResponder::NullablePing(const ::std::unique_ptr<::android::String16>& input, ::std::unique_ptr<::android::String16>* _aidl_return) {
- ::android::Parcel _aidl_data;
- ::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.writeString16(input);
- if (((_aidl_ret_status) != (::android::OK))) {
- goto _aidl_error;
- }
- _aidl_ret_status = remote()->transact(::android::IBinder::FIRST_CALL_TRANSACTION + 1 /* NullablePing */, _aidl_data, &_aidl_reply);
- if (UNLIKELY(_aidl_ret_status == ::android::UNKNOWN_TRANSACTION && IPingResponder::getDefaultImpl())) {
- return IPingResponder::getDefaultImpl()->NullablePing(input, _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.readString16(_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 BpPingResponder::Utf8Ping(const ::std::string& input, ::std::string* _aidl_return) {
- ::android::Parcel _aidl_data;
- ::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.writeUtf8AsUtf16(input);
- if (((_aidl_ret_status) != (::android::OK))) {
- goto _aidl_error;
- }
- _aidl_ret_status = remote()->transact(::android::IBinder::FIRST_CALL_TRANSACTION + 2 /* Utf8Ping */, _aidl_data, &_aidl_reply);
- if (UNLIKELY(_aidl_ret_status == ::android::UNKNOWN_TRANSACTION && IPingResponder::getDefaultImpl())) {
- return IPingResponder::getDefaultImpl()->Utf8Ping(input, _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.readUtf8FromUtf16(_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 BpPingResponder::NullableUtf8Ping(const ::std::unique_ptr<::std::string>& input, ::std::unique_ptr<::std::string>* _aidl_return) {
- ::android::Parcel _aidl_data;
- ::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.writeUtf8AsUtf16(input);
- if (((_aidl_ret_status) != (::android::OK))) {
- goto _aidl_error;
- }
- _aidl_ret_status = remote()->transact(::android::IBinder::FIRST_CALL_TRANSACTION + 3 /* NullableUtf8Ping */, _aidl_data, &_aidl_reply);
- if (UNLIKELY(_aidl_ret_status == ::android::UNKNOWN_TRANSACTION && IPingResponder::getDefaultImpl())) {
- return IPingResponder::getDefaultImpl()->NullableUtf8Ping(input, _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.readUtf8FromUtf16(_aidl_return);
- if (((_aidl_ret_status) != (::android::OK))) {
- goto _aidl_error;
- }
- _aidl_error:
- _aidl_status.setFromStatusT(_aidl_ret_status);
- return _aidl_status;
- }
- int32_t BpPingResponder::getInterfaceVersion() {
- if (cached_version_ == -1) {
- ::android::Parcel data;
- ::android::Parcel reply;
- data.writeInterfaceToken(getInterfaceDescriptor());
- ::android::status_t err = remote()->transact(::android::IBinder::FIRST_CALL_TRANSACTION + 16777214 /* getInterfaceVersion */, data, &reply);
- if (err == ::android::OK) {
- ::android::binder::Status _aidl_status;
- err = _aidl_status.readFromParcel(reply);
- if (err == ::android::OK && _aidl_status.isOk()) {
- cached_version_ = reply.readInt32();
- }
- }
- }
- return cached_version_;
- }
- } // namespace os
- } // namespace android
- #include <android/os/BnPingResponder.h>
- #include <binder/Parcel.h>
- namespace android {
- namespace os {
- ::android::status_t BnPingResponder::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 ::android::IBinder::FIRST_CALL_TRANSACTION + 0 /* Ping */:
- {
- ::android::String16 in_input;
- ::android::String16 _aidl_return;
- if (!(_aidl_data.checkInterface(this))) {
- _aidl_ret_status = ::android::BAD_TYPE;
- break;
- }
- _aidl_ret_status = _aidl_data.readString16(&in_input);
- if (((_aidl_ret_status) != (::android::OK))) {
- break;
- }
- ::android::binder::Status _aidl_status(Ping(in_input, &_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->writeString16(_aidl_return);
- if (((_aidl_ret_status) != (::android::OK))) {
- break;
- }
- }
- break;
- case ::android::IBinder::FIRST_CALL_TRANSACTION + 1 /* NullablePing */:
- {
- ::std::unique_ptr<::android::String16> in_input;
- ::std::unique_ptr<::android::String16> _aidl_return;
- if (!(_aidl_data.checkInterface(this))) {
- _aidl_ret_status = ::android::BAD_TYPE;
- break;
- }
- _aidl_ret_status = _aidl_data.readString16(&in_input);
- if (((_aidl_ret_status) != (::android::OK))) {
- break;
- }
- ::android::binder::Status _aidl_status(NullablePing(in_input, &_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->writeString16(_aidl_return);
- if (((_aidl_ret_status) != (::android::OK))) {
- break;
- }
- }
- break;
- case ::android::IBinder::FIRST_CALL_TRANSACTION + 2 /* Utf8Ping */:
- {
- ::std::string in_input;
- ::std::string _aidl_return;
- if (!(_aidl_data.checkInterface(this))) {
- _aidl_ret_status = ::android::BAD_TYPE;
- break;
- }
- _aidl_ret_status = _aidl_data.readUtf8FromUtf16(&in_input);
- if (((_aidl_ret_status) != (::android::OK))) {
- break;
- }
- ::android::binder::Status _aidl_status(Utf8Ping(in_input, &_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->writeUtf8AsUtf16(_aidl_return);
- if (((_aidl_ret_status) != (::android::OK))) {
- break;
- }
- }
- break;
- case ::android::IBinder::FIRST_CALL_TRANSACTION + 3 /* NullableUtf8Ping */:
- {
- ::std::unique_ptr<::std::string> in_input;
- ::std::unique_ptr<::std::string> _aidl_return;
- if (!(_aidl_data.checkInterface(this))) {
- _aidl_ret_status = ::android::BAD_TYPE;
- break;
- }
- _aidl_ret_status = _aidl_data.readUtf8FromUtf16(&in_input);
- if (((_aidl_ret_status) != (::android::OK))) {
- break;
- }
- ::android::binder::Status _aidl_status(NullableUtf8Ping(in_input, &_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->writeUtf8AsUtf16(_aidl_return);
- if (((_aidl_ret_status) != (::android::OK))) {
- break;
- }
- }
- break;
- case ::android::IBinder::FIRST_CALL_TRANSACTION + 16777214 /* getInterfaceVersion */:
- {
- _aidl_data.checkInterface(this);
- _aidl_reply->writeNoException();
- _aidl_reply->writeInt32(IPingResponder::VERSION);
- }
- 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).writeToParcel(_aidl_reply);
- }
- return _aidl_ret_status;
- }
- int32_t BnPingResponder::getInterfaceVersion() {
- return IPingResponder::VERSION;
- }
- } // namespace os
- } // namespace android
- )";
- const char kExpectedIHeaderOutputWithVersion[] =
- R"(#ifndef AIDL_GENERATED_ANDROID_OS_I_PING_RESPONDER_H_
- #define AIDL_GENERATED_ANDROID_OS_I_PING_RESPONDER_H_
- #include <binder/IBinder.h>
- #include <binder/IInterface.h>
- #include <binder/Status.h>
- #include <memory>
- #include <string>
- #include <utils/String16.h>
- #include <utils/StrongPointer.h>
- namespace android {
- namespace os {
- class IPingResponder : public ::android::IInterface {
- public:
- DECLARE_META_INTERFACE(PingResponder)
- const int32_t VERSION = 10;
- virtual ::android::binder::Status Ping(const ::android::String16& input, ::android::String16* _aidl_return) = 0;
- virtual ::android::binder::Status NullablePing(const ::std::unique_ptr<::android::String16>& input, ::std::unique_ptr<::android::String16>* _aidl_return) = 0;
- virtual ::android::binder::Status Utf8Ping(const ::std::string& input, ::std::string* _aidl_return) = 0;
- virtual ::android::binder::Status NullableUtf8Ping(const ::std::unique_ptr<::std::string>& input, ::std::unique_ptr<::std::string>* _aidl_return) = 0;
- virtual int32_t getInterfaceVersion() = 0;
- }; // class IPingResponder
- class IPingResponderDefault : public IPingResponder {
- public:
- ::android::IBinder* onAsBinder() override;
- ::android::binder::Status Ping(const ::android::String16& input, ::android::String16* _aidl_return) override;
- ::android::binder::Status NullablePing(const ::std::unique_ptr<::android::String16>& input, ::std::unique_ptr<::android::String16>* _aidl_return) override;
- ::android::binder::Status Utf8Ping(const ::std::string& input, ::std::string* _aidl_return) override;
- ::android::binder::Status NullableUtf8Ping(const ::std::unique_ptr<::std::string>& input, ::std::unique_ptr<::std::string>* _aidl_return) override;
- int32_t getInterfaceVersion() override;
- };
- } // namespace os
- } // namespace android
- #endif // AIDL_GENERATED_ANDROID_OS_I_PING_RESPONDER_H_
- )";
- const char kExpectedBpHeaderOutputWithVersion[] =
- R"(#ifndef AIDL_GENERATED_ANDROID_OS_BP_PING_RESPONDER_H_
- #define AIDL_GENERATED_ANDROID_OS_BP_PING_RESPONDER_H_
- #include <binder/IBinder.h>
- #include <binder/IInterface.h>
- #include <utils/Errors.h>
- #include <android/os/IPingResponder.h>
- namespace android {
- namespace os {
- class BpPingResponder : public ::android::BpInterface<IPingResponder> {
- public:
- explicit BpPingResponder(const ::android::sp<::android::IBinder>& _aidl_impl);
- virtual ~BpPingResponder() = default;
- ::android::binder::Status Ping(const ::android::String16& input, ::android::String16* _aidl_return) override;
- ::android::binder::Status NullablePing(const ::std::unique_ptr<::android::String16>& input, ::std::unique_ptr<::android::String16>* _aidl_return) override;
- ::android::binder::Status Utf8Ping(const ::std::string& input, ::std::string* _aidl_return) override;
- ::android::binder::Status NullableUtf8Ping(const ::std::unique_ptr<::std::string>& input, ::std::unique_ptr<::std::string>* _aidl_return) override;
- int32_t getInterfaceVersion() override;
- private:
- int32_t cached_version_ = -1;
- }; // class BpPingResponder
- } // namespace os
- } // namespace android
- #endif // AIDL_GENERATED_ANDROID_OS_BP_PING_RESPONDER_H_
- )";
- const char kExpectedBnHeaderOutputWithVersion[] =
- R"(#ifndef AIDL_GENERATED_ANDROID_OS_BN_PING_RESPONDER_H_
- #define AIDL_GENERATED_ANDROID_OS_BN_PING_RESPONDER_H_
- #include <binder/IInterface.h>
- #include <android/os/IPingResponder.h>
- namespace android {
- namespace os {
- class BnPingResponder : public ::android::BnInterface<IPingResponder> {
- public:
- ::android::status_t onTransact(uint32_t _aidl_code, const ::android::Parcel& _aidl_data, ::android::Parcel* _aidl_reply, uint32_t _aidl_flags) override;
- int32_t getInterfaceVersion() final override;
- }; // class BnPingResponder
- } // namespace os
- } // namespace android
- #endif // AIDL_GENERATED_ANDROID_OS_BN_PING_RESPONDER_H_
- )";
- } // namespace ping_responder
- } // namespace test_data
- } // namespace aidl
- } // namespace android
|