1*5c4dab75SAndroid Build Coastguard Worker /* 2*5c4dab75SAndroid Build Coastguard Worker * Copyright (C) 2017 The Android Open Source Project 3*5c4dab75SAndroid Build Coastguard Worker * 4*5c4dab75SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*5c4dab75SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*5c4dab75SAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*5c4dab75SAndroid Build Coastguard Worker * 8*5c4dab75SAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*5c4dab75SAndroid Build Coastguard Worker * 10*5c4dab75SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*5c4dab75SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*5c4dab75SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*5c4dab75SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*5c4dab75SAndroid Build Coastguard Worker * limitations under the License. 15*5c4dab75SAndroid Build Coastguard Worker */ 16*5c4dab75SAndroid Build Coastguard Worker 17*5c4dab75SAndroid Build Coastguard Worker #ifndef ANDROID_ESED_WEAVER_H 18*5c4dab75SAndroid Build Coastguard Worker #define ANDROID_ESED_WEAVER_H 19*5c4dab75SAndroid Build Coastguard Worker 20*5c4dab75SAndroid Build Coastguard Worker #include <android/hardware/weaver/1.0/IWeaver.h> 21*5c4dab75SAndroid Build Coastguard Worker #include <hidl/MQDescriptor.h> 22*5c4dab75SAndroid Build Coastguard Worker #include <hidl/Status.h> 23*5c4dab75SAndroid Build Coastguard Worker 24*5c4dab75SAndroid Build Coastguard Worker #include <esecpp/EseInterface.h> 25*5c4dab75SAndroid Build Coastguard Worker 26*5c4dab75SAndroid Build Coastguard Worker namespace android { 27*5c4dab75SAndroid Build Coastguard Worker namespace esed { 28*5c4dab75SAndroid Build Coastguard Worker 29*5c4dab75SAndroid Build Coastguard Worker using ::android::EseInterface; 30*5c4dab75SAndroid Build Coastguard Worker using ::android::hardware::weaver::V1_0::IWeaver; 31*5c4dab75SAndroid Build Coastguard Worker using ::android::hardware::weaver::V1_0::WeaverStatus; 32*5c4dab75SAndroid Build Coastguard Worker using ::android::hardware::hidl_vec; 33*5c4dab75SAndroid Build Coastguard Worker using ::android::hardware::Return; 34*5c4dab75SAndroid Build Coastguard Worker 35*5c4dab75SAndroid Build Coastguard Worker struct Weaver : public IWeaver { WeaverWeaver36*5c4dab75SAndroid Build Coastguard Worker Weaver(EseInterface& ese) : mEse(ese) {}; 37*5c4dab75SAndroid Build Coastguard Worker 38*5c4dab75SAndroid Build Coastguard Worker // Methods from ::android::hardware::weaver::V1_0::IWeaver follow. 39*5c4dab75SAndroid Build Coastguard Worker Return<void> getConfig(getConfig_cb _hidl_cb) override; 40*5c4dab75SAndroid Build Coastguard Worker Return<WeaverStatus> write(uint32_t slotId, const hidl_vec<uint8_t>& key, 41*5c4dab75SAndroid Build Coastguard Worker const hidl_vec<uint8_t>& value) override; 42*5c4dab75SAndroid Build Coastguard Worker Return<void> read(uint32_t slotId, const hidl_vec<uint8_t>& key, read_cb _hidl_cb) override; 43*5c4dab75SAndroid Build Coastguard Worker 44*5c4dab75SAndroid Build Coastguard Worker private: 45*5c4dab75SAndroid Build Coastguard Worker EseInterface& mEse; 46*5c4dab75SAndroid Build Coastguard Worker }; 47*5c4dab75SAndroid Build Coastguard Worker 48*5c4dab75SAndroid Build Coastguard Worker } // namespace esed 49*5c4dab75SAndroid Build Coastguard Worker } // namespace android 50*5c4dab75SAndroid Build Coastguard Worker 51*5c4dab75SAndroid Build Coastguard Worker #endif // ANDROID_ESED_WEAVER_H 52