blob: 6a7105a499b0ff2a6fbf9d0fe075c279db5b235a
1 | /* |
2 | ** |
3 | ** Copyright 2018, The Android Open Source Project |
4 | ** |
5 | ** Licensed under the Apache License, Version 2.0 (the "License"); |
6 | ** you may not use this file except in compliance with the License. |
7 | ** You may obtain a copy of the License at |
8 | ** |
9 | ** http://www.apache.org/licenses/LICENSE-2.0 |
10 | ** |
11 | ** Unless required by applicable law or agreed to in writing, software |
12 | ** distributed under the License is distributed on an "AS IS" BASIS, |
13 | ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
14 | ** See the License for the specific language governing permissions and |
15 | ** limitations under the License. |
16 | */ |
17 | |
18 | #include <android-base/logging.h> |
19 | #include <android/hardware/keymaster/4.0/IKeymasterDevice.h> |
20 | #include <hidl/HidlTransportSupport.h> |
21 | #include <amlogic_keymaster/AmlogicKeymaster.h> |
22 | #include <amlogic_keymaster/AmlogicKeymaster4Device.h> |
23 | |
24 | int main() { |
25 | ::android::hardware::configureRpcThreadpool(1, true); |
26 | auto trustyKeymaster = new keymaster::AmlogicKeymaster(); |
27 | int err = trustyKeymaster->Initialize(); |
28 | if (err != 0) { |
29 | LOG(FATAL) << "Could not initialize AmlogicKeymaster (" << err << ")"; |
30 | return -1; |
31 | } |
32 | |
33 | auto keymaster = new ::keymaster::V4_0::AmlogicKeymaster4Device(trustyKeymaster); |
34 | |
35 | auto status = keymaster->registerAsService(); |
36 | if (status != android::OK) { |
37 | LOG(FATAL) << "Could not register service for Keymaster 4.0 (" << status << ")"; |
38 | return -1; |
39 | } |
40 | |
41 | android::hardware::joinRpcThreadpool(); |
42 | return -1; // Should never get here. |
43 | } |
44 |