xref: /aosp_15_r20/external/libese/esed/OemLock.h (revision 5c4dab75aa57366379dce576b1a9e082a44e2b3a)
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