1 /*
2  * Copyright (c) 2022-2024 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef OHOS_USERAUTH_COMMON_H
17 #define OHOS_USERAUTH_COMMON_H
18 
19 #include <map>
20 #include <vector>
21 
22 #include "napi/native_api.h"
23 #include "napi/native_common.h"
24 
25 #include "iam_common_defines.h"
26 
27 namespace OHOS {
28 namespace UserIam {
29 namespace UserAuth {
30 constexpr size_t ARGS_ZERO = 0;
31 constexpr size_t ARGS_ONE = 1;
32 constexpr size_t ARGS_TWO = 2;
33 constexpr size_t ARGS_THREE = 3;
34 constexpr size_t ARGS_FOUR = 4;
35 
36 constexpr size_t PARAM0 = 0;
37 constexpr size_t PARAM1 = 1;
38 constexpr size_t PARAM2 = 2;
39 constexpr size_t PARAM3 = 3;
40 
41 constexpr int32_t API_VERSION_6 = 6;
42 constexpr int32_t API_VERSION_8 = 8;
43 constexpr int32_t API_VERSION_9 = 9;
44 constexpr int32_t API_VERSION_10 = 10;
45 constexpr int32_t API_VERSION_12 = 12;
46 
47 constexpr const char *NOTICE_EVENT_AUTH_READY = "EVENT_AUTH_TYPE_READY";
48 constexpr const char *NOTICE_EVENT_CANCEL_AUTH = "EVENT_AUTH_USER_CANCEL";
49 constexpr const char *NOTICE_EVENT_USER_NAVIGATION = "EVENT_AUTH_USER_NAVIGATION";
50 constexpr const char *NOTICE_EVENT_WIDGET_PARA_INVALID = "EVENT_AUTH_WIDGET_PARA_INVALID";
51 constexpr const char *NOTICE_EVENT_END = "EVENT_AUTH_END";
52 constexpr const char *NOTICE_EVENT_RELOAD = "EVENT_AUTH_RELOAD";
53 
54 // For API6
55 enum class AuthenticationResult : int32_t {
56     NO_SUPPORT = -1,
57     SUCCESS = 0,
58     COMPARE_FAILURE = 1,
59     CANCELED = 2,
60     TIMEOUT = 3,
61     CAMERA_FAIL = 4,
62     BUSY = 5,
63     INVALID_PARAMETERS = 6,
64     LOCKED = 7,
65     NOT_ENROLLED = 8,
66     GENERAL_ERROR = 100,
67 };
68 
69 enum class UserAuthResultCode : int32_t {
70     OHOS_CHECK_PERMISSION_FAILED = 201,
71     OHOS_CHECK_SYSTEM_APP_FAILED = 202,
72     OHOS_INVALID_PARAM = 401,
73     RESULT_CODE_V9_MIN = 12500000,
74     RESULT_CODE_V10_MIN = 12500000,
75     SUCCESS = 12500000,
76     FAIL = 12500001,
77     GENERAL_ERROR = 12500002,
78     CANCELED = 12500003,
79     TIMEOUT = 12500004,
80     TYPE_NOT_SUPPORT = 12500005,
81     TRUST_LEVEL_NOT_SUPPORT = 12500006,
82     BUSY = 12500007,
83     LOCKED = 12500009,
84     NOT_ENROLLED = 12500010,
85     RESULT_CODE_V9_MAX = 12500010,
86     CANCELED_FROM_WIDGET = 12500011,
87     PIN_EXPIRED = 12500013,
88     RESULT_CODE_V10_MAX = 12500013,
89 };
90 
91 enum FaceTipsCode {
92     FACE_AUTH_TIP_TOO_BRIGHT = 1,
93     FACE_AUTH_TIP_TOO_DARK = 2,
94     FACE_AUTH_TIP_TOO_CLOSE = 3,
95     FACE_AUTH_TIP_TOO_FAR = 4,
96     FACE_AUTH_TIP_TOO_HIGH = 5,
97     FACE_AUTH_TIP_TOO_LOW = 6,
98     FACE_AUTH_TIP_TOO_RIGHT = 7,
99     FACE_AUTH_TIP_TOO_LEFT = 8,
100     FACE_AUTH_TIP_TOO_MUCH_MOTION = 9,
101     FACE_AUTH_TIP_POOR_GAZE = 10,
102     FACE_AUTH_TIP_NOT_DETECTED = 11,
103     FACE_AUTH_TIP_MAX = FACE_AUTH_TIP_NOT_DETECTED,
104 };
105 
106 enum FingerprintTips {
107     FINGERPRINT_AUTH_TIP_GOOD = 0,
108     FINGERPRINT_AUTH_TIP_IMAGER_DIRTY = 1,
109     FINGERPRINT_AUTH_TIP_INSUFFICIENT = 2,
110     FINGERPRINT_AUTH_TIP_PARTIAL = 3,
111     FINGERPRINT_AUTH_TIP_TOO_FAST = 4,
112     FINGERPRINT_AUTH_TIP_TOO_SLOW = 5,
113     FINGERPRINT_AUTH_TIP_MAX = FINGERPRINT_AUTH_TIP_TOO_SLOW,
114 };
115 } // namespace UserAuth
116 } // namespace UserIam
117 } // namespace OHOS
118 #endif /* OHOS_USERAUTH_COMMON_H */
119