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_OEMLOCK_H 18*5c4dab75SAndroid Build Coastguard Worker #define ANDROID_ESED_OEMLOCK_H 19*5c4dab75SAndroid Build Coastguard Worker 20*5c4dab75SAndroid Build Coastguard Worker #include <android/hardware/oemlock/1.0/IOemLock.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::oemlock::V1_0::IOemLock; 31*5c4dab75SAndroid Build Coastguard Worker using ::android::hardware::oemlock::V1_0::OemLockSecureStatus; 32*5c4dab75SAndroid Build Coastguard Worker using ::android::hardware::oemlock::V1_0::OemLockStatus; 33*5c4dab75SAndroid Build Coastguard Worker using ::android::hardware::hidl_vec; 34*5c4dab75SAndroid Build Coastguard Worker using ::android::hardware::Return; 35*5c4dab75SAndroid Build Coastguard Worker 36*5c4dab75SAndroid Build Coastguard Worker struct OemLock : public IOemLock { OemLockOemLock37*5c4dab75SAndroid Build Coastguard Worker OemLock(EseInterface& ese) : mEse(ese) {} 38*5c4dab75SAndroid Build Coastguard Worker 39*5c4dab75SAndroid Build Coastguard Worker // Methods from ::android::hardware::oemlock::V1_0::IOemLock follow. 40*5c4dab75SAndroid Build Coastguard Worker Return<void> getName(getName_cb _hidl_cb) override; 41*5c4dab75SAndroid Build Coastguard Worker 42*5c4dab75SAndroid Build Coastguard Worker Return<OemLockSecureStatus> setOemUnlockAllowedByCarrier( 43*5c4dab75SAndroid Build Coastguard Worker bool allowed, const hidl_vec<uint8_t>& signature) override; 44*5c4dab75SAndroid Build Coastguard Worker 45*5c4dab75SAndroid Build Coastguard Worker Return<void> isOemUnlockAllowedByCarrier(isOemUnlockAllowedByCarrier_cb _hidl_cb) override; 46*5c4dab75SAndroid Build Coastguard Worker 47*5c4dab75SAndroid Build Coastguard Worker Return<OemLockStatus> setOemUnlockAllowedByDevice(bool allowed) override; 48*5c4dab75SAndroid Build Coastguard Worker 49*5c4dab75SAndroid Build Coastguard Worker Return<void> isOemUnlockAllowedByDevice(isOemUnlockAllowedByDevice_cb _hidl_cb) override; 50*5c4dab75SAndroid Build Coastguard Worker 51*5c4dab75SAndroid Build Coastguard Worker private: 52*5c4dab75SAndroid Build Coastguard Worker EseInterface& mEse; 53*5c4dab75SAndroid Build Coastguard Worker }; 54*5c4dab75SAndroid Build Coastguard Worker 55*5c4dab75SAndroid Build Coastguard Worker } // namespace esed 56*5c4dab75SAndroid Build Coastguard Worker } // namespace android 57*5c4dab75SAndroid Build Coastguard Worker 58*5c4dab75SAndroid Build Coastguard Worker #endif // ANDROID_ESED_OEMLOCK_H 59