1*4d7e907cSAndroid Build Coastguard Worker /* 2*4d7e907cSAndroid Build Coastguard Worker * Copyright (C) 2018 The Android Open Source Project 3*4d7e907cSAndroid Build Coastguard Worker * 4*4d7e907cSAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*4d7e907cSAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*4d7e907cSAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*4d7e907cSAndroid Build Coastguard Worker * 8*4d7e907cSAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*4d7e907cSAndroid Build Coastguard Worker * 10*4d7e907cSAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*4d7e907cSAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*4d7e907cSAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*4d7e907cSAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*4d7e907cSAndroid Build Coastguard Worker * limitations under the License. 15*4d7e907cSAndroid Build Coastguard Worker */ 16*4d7e907cSAndroid Build Coastguard Worker 17*4d7e907cSAndroid Build Coastguard Worker #ifndef ANDROID_HARDWARE_TESTS_SAFEUNION_V1_0_SAFEUNION_H 18*4d7e907cSAndroid Build Coastguard Worker #define ANDROID_HARDWARE_TESTS_SAFEUNION_V1_0_SAFEUNION_H 19*4d7e907cSAndroid Build Coastguard Worker 20*4d7e907cSAndroid Build Coastguard Worker #include <android/hardware/tests/safeunion/1.0/ISafeUnion.h> 21*4d7e907cSAndroid Build Coastguard Worker #include <hidl/MQDescriptor.h> 22*4d7e907cSAndroid Build Coastguard Worker #include <hidl/Status.h> 23*4d7e907cSAndroid Build Coastguard Worker 24*4d7e907cSAndroid Build Coastguard Worker namespace android { 25*4d7e907cSAndroid Build Coastguard Worker namespace hardware { 26*4d7e907cSAndroid Build Coastguard Worker namespace tests { 27*4d7e907cSAndroid Build Coastguard Worker namespace safeunion { 28*4d7e907cSAndroid Build Coastguard Worker namespace V1_0 { 29*4d7e907cSAndroid Build Coastguard Worker namespace implementation { 30*4d7e907cSAndroid Build Coastguard Worker 31*4d7e907cSAndroid Build Coastguard Worker using ::android::hardware::Return; 32*4d7e907cSAndroid Build Coastguard Worker using ::android::hardware::Void; 33*4d7e907cSAndroid Build Coastguard Worker using ::android::hardware::tests::safeunion::V1_0::ISafeUnion; 34*4d7e907cSAndroid Build Coastguard Worker 35*4d7e907cSAndroid Build Coastguard Worker struct SafeUnion : public ISafeUnion { 36*4d7e907cSAndroid Build Coastguard Worker // Methods from ::android::hardware::tests::safeunion::V1_0::ISafeUnion follow. 37*4d7e907cSAndroid Build Coastguard Worker Return<void> newLargeSafeUnion(newLargeSafeUnion_cb _hidl_cb) override; 38*4d7e907cSAndroid Build Coastguard Worker Return<void> setA(const LargeSafeUnion& myUnion, int8_t a, setA_cb _hidl_cb) override; 39*4d7e907cSAndroid Build Coastguard Worker Return<void> setB(const LargeSafeUnion& myUnion, uint16_t b, setB_cb _hidl_cb) override; 40*4d7e907cSAndroid Build Coastguard Worker Return<void> setC(const LargeSafeUnion& myUnion, int32_t c, setC_cb _hidl_cb) override; 41*4d7e907cSAndroid Build Coastguard Worker Return<void> setD(const LargeSafeUnion& myUnion, uint64_t d, setD_cb _hidl_cb) override; 42*4d7e907cSAndroid Build Coastguard Worker Return<void> setE(const LargeSafeUnion& myUnion, const hidl_array<int8_t, 13>& e, setE_cb _hidl_cb) override; 43*4d7e907cSAndroid Build Coastguard Worker Return<void> setF(const LargeSafeUnion& myUnion, const hidl_array<int64_t, 5>& f, setF_cb _hidl_cb) override; 44*4d7e907cSAndroid Build Coastguard Worker Return<void> setG(const LargeSafeUnion& myUnion, const hidl_string& g, setG_cb _hidl_cb) override; 45*4d7e907cSAndroid Build Coastguard Worker Return<void> setH(const LargeSafeUnion& myUnion, const hidl_vec<bool>& h, setH_cb _hidl_cb) override; 46*4d7e907cSAndroid Build Coastguard Worker Return<void> setI(const LargeSafeUnion& myUnion, const hidl_vec<uint64_t>& i, setI_cb _hidl_cb) override; 47*4d7e907cSAndroid Build Coastguard Worker Return<void> setJ(const LargeSafeUnion& myUnion, const J& j, setJ_cb _hidl_cb) override; 48*4d7e907cSAndroid Build Coastguard Worker Return<void> setK(const LargeSafeUnion& myUnion, const LargeSafeUnion::K& k, setK_cb _hidl_cb) override; 49*4d7e907cSAndroid Build Coastguard Worker Return<void> setL(const LargeSafeUnion& myUnion, const SmallSafeUnion& l, setL_cb _hidl_cb) override; 50*4d7e907cSAndroid Build Coastguard Worker Return<void> setM(const LargeSafeUnion& myUnion, BitField m, setL_cb _hidl_cb) override; 51*4d7e907cSAndroid Build Coastguard Worker Return<void> setN(const LargeSafeUnion& myUnion, hidl_bitfield<BitField> n, 52*4d7e907cSAndroid Build Coastguard Worker setL_cb _hidl_cb) override; 53*4d7e907cSAndroid Build Coastguard Worker 54*4d7e907cSAndroid Build Coastguard Worker Return<void> newInterfaceTypeSafeUnion(newInterfaceTypeSafeUnion_cb _hidl_cb) override; 55*4d7e907cSAndroid Build Coastguard Worker Return<void> setInterfaceA(const InterfaceTypeSafeUnion& myUnion, uint32_t a, setInterfaceA_cb _hidl_cb) override; 56*4d7e907cSAndroid Build Coastguard Worker Return<void> setInterfaceB(const InterfaceTypeSafeUnion& myUnion, const hidl_array<int8_t, 7>& b, setInterfaceB_cb _hidl_cb) override; 57*4d7e907cSAndroid Build Coastguard Worker Return<void> setInterfaceC(const InterfaceTypeSafeUnion& myUnion, 58*4d7e907cSAndroid Build Coastguard Worker const sp<::android::hidl::base::V1_0::IBase>& c, 59*4d7e907cSAndroid Build Coastguard Worker setInterfaceC_cb _hidl_cb) override; 60*4d7e907cSAndroid Build Coastguard Worker Return<void> setInterfaceD(const InterfaceTypeSafeUnion& myUnion, const hidl_string& d, setInterfaceD_cb _hidl_cb) override; 61*4d7e907cSAndroid Build Coastguard Worker Return<void> setInterfaceE(const InterfaceTypeSafeUnion& myUnion, const hidl_vec<hidl_string>& e, setInterfaceE_cb _hidl_cb) override; 62*4d7e907cSAndroid Build Coastguard Worker Return<void> setInterfaceF(const InterfaceTypeSafeUnion& myUnion, const hidl_handle& f, 63*4d7e907cSAndroid Build Coastguard Worker setInterfaceF_cb _hidl_cb) override; 64*4d7e907cSAndroid Build Coastguard Worker Return<void> setInterfaceG(const InterfaceTypeSafeUnion& myUnion, 65*4d7e907cSAndroid Build Coastguard Worker const hidl_vec<hidl_handle>& g, setInterfaceG_cb _hidl_cb) override; 66*4d7e907cSAndroid Build Coastguard Worker 67*4d7e907cSAndroid Build Coastguard Worker Return<void> newHandleTypeSafeUnion(newHandleTypeSafeUnion_cb _hidl_cb) override; 68*4d7e907cSAndroid Build Coastguard Worker Return<void> setHandleA(const HandleTypeSafeUnion& myUnion, const hidl_handle& a, 69*4d7e907cSAndroid Build Coastguard Worker setHandleA_cb _hidl_cb) override; 70*4d7e907cSAndroid Build Coastguard Worker Return<void> setHandleB(const HandleTypeSafeUnion& myUnion, const hidl_array<hidl_handle, 5>& b, 71*4d7e907cSAndroid Build Coastguard Worker setHandleB_cb _hidl_cb) override; 72*4d7e907cSAndroid Build Coastguard Worker Return<void> setHandleC(const HandleTypeSafeUnion& myUnion, const hidl_vec<hidl_handle>& c, 73*4d7e907cSAndroid Build Coastguard Worker setHandleC_cb _hidl_cb) override; 74*4d7e907cSAndroid Build Coastguard Worker }; 75*4d7e907cSAndroid Build Coastguard Worker 76*4d7e907cSAndroid Build Coastguard Worker extern "C" ISafeUnion* HIDL_FETCH_ISafeUnion(const char* name); 77*4d7e907cSAndroid Build Coastguard Worker 78*4d7e907cSAndroid Build Coastguard Worker } // namespace implementation 79*4d7e907cSAndroid Build Coastguard Worker } // namespace V1_0 80*4d7e907cSAndroid Build Coastguard Worker } // namespace safeunion 81*4d7e907cSAndroid Build Coastguard Worker } // namespace tests 82*4d7e907cSAndroid Build Coastguard Worker } // namespace hardware 83*4d7e907cSAndroid Build Coastguard Worker } // namespace android 84*4d7e907cSAndroid Build Coastguard Worker 85*4d7e907cSAndroid Build Coastguard Worker #endif // ANDROID_HARDWARE_TESTS_SAFEUNION_V1_0_SAFEUNION_H 86