1 /*
2  * Copyright (C) 2022 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 SERVICES_INCLUDE_SCREENLOCK_COMMON_H
17 #define SERVICES_INCLUDE_SCREENLOCK_COMMON_H
18 
19 #include <string>
20 
21 #include "errors.h"
22 
23 namespace OHOS {
24 namespace ScreenLock {
25 #define SCREENLOCK_SERVICE_NAME "ScreenLockService"
26 #define PARAM_ZERO 0
27 #define PARAM_ONE 1
28 #define PARAM_TWO 2
29 
30 const std::string BEGIN_WAKEUP = "beginWakeUp";
31 const std::string END_WAKEUP = "endWakeUp";
32 const std::string BEGIN_SCREEN_ON = "beginScreenOn";
33 const std::string END_SCREEN_ON = "endScreenOn";
34 const std::string BEGIN_SLEEP = "beginSleep";
35 const std::string END_SLEEP = "endSleep";
36 const std::string BEGIN_SCREEN_OFF = "beginScreenOff";
37 const std::string END_SCREEN_OFF = "endScreenOff";
38 const std::string STRONG_AUTH_CHANGED = "strongAuthChanged";
39 const std::string CHANGE_USER = "changeUser";
40 const std::string SCREENLOCK_ENABLED = "screenlockEnabled";
41 const std::string EXIT_ANIMATION = "beginExitAnimation";
42 const std::string UNLOCKSCREEN = "unlockScreen";
43 const std::string UNLOCK_SCREEN_RESULT = "unlockScreenResult";
44 const std::string LOCKSCREEN = "lockScreen";
45 const std::string LOCK_SCREEN_RESULT = "lockScreenResult";
46 const std::string SCREEN_DRAWDONE = "screenDrawDone";
47 const std::string SYSTEM_READY = "systemReady";
48 const std::string SERVICE_RESTART = "serviceRestart";
49 const int USER_NULL = -10000;
50 enum ScreenLockModule {
51     SCREENLOCK_MODULE_SERVICE_ID = 0x04,
52 };
53 // time error offset, used only in this file.
54 constexpr ErrCode SCREENLOCK_ERR_OFFSET = ErrCodeOffset(SUBSYS_SMALLSERVICES, SCREENLOCK_MODULE_SERVICE_ID);
55 
56 enum ScreenLockError {
57     E_SCREENLOCK_OK = SCREENLOCK_ERR_OFFSET,
58     E_SCREENLOCK_SA_DIED,
59     E_SCREENLOCK_READ_PARCEL_ERROR,
60     E_SCREENLOCK_WRITE_PARCEL_ERROR,
61     E_SCREENLOCK_PUBLISH_FAIL,
62     E_SCREENLOCK_TRANSACT_ERROR,
63     E_SCREENLOCK_DEAL_FAILED,
64     E_SCREENLOCK_PARAMETERS_INVALID,
65     E_SCREENLOCK_SET_RTC_FAILED,
66     E_SCREENLOCK_NOT_FOUND,
67     E_SCREENLOCK_NO_PERMISSION,
68     E_SCREENLOCK_NULLPTR,
69     E_SCREENLOCK_SENDREQUEST_FAILED,
70     E_SCREENLOCK_NOT_SYSTEM_APP,
71     E_SCREENLOCK_NOT_FOCUS_APP,
72 };
73 
74 enum TraceTaskId : int32_t {
75     HITRACE_UNLOCKSCREEN,
76     HITRACE_LOCKSCREEN,
77     HITRACE_BUTT,
78 };
79 
80 enum ScreenChange {
81     SCREEN_SUCC = 0,
82     SCREEN_FAIL,
83     SCREEN_CANCEL,
84 };
85 
86 enum JsErrorCode : uint32_t {
87     ERR_NO_PERMISSION = 201,
88     ERR_NOT_SYSTEM_APP = 202,
89     ERR_INVALID_PARAMS = 401,
90     ERR_CANCEL_UNLOCK = 13200001,
91     ERR_SERVICE_ABNORMAL = 13200002,
92     ERR_ILLEGAL_USE = 13200003,
93 };
94 
95 enum class Action : uint8_t {
96     LOCK = 0,
97     UNLOCK,
98     UNLOCKSCREEN,
99 };
100 
101 enum class StrongAuthReasonFlags : int32_t {
102     NONE = 0x00000000,
103     AFTER_BOOT = 0x00000001,
104     AFTER_TIMEOUT = 0x00000002,
105     ACTIVE_REQUEST = 0x00000004,
106     DPM_RESTRICT = 0x00000008,
107 };
108 
109 constexpr int BEGIN_SLEEP_DEVICE_ADMIN_REASON = 1;
110 constexpr int BEGIN_SLEEP_USER_REASON = 2;
111 constexpr int BEGIN_SLEEP_LONG_TIME_UNOPERATOR = 3;
112 
113 constexpr int END_SLEEP_DEVICE_ADMIN_REASON = 1;
114 constexpr int END_SLEEP_USER_REASON = 2;
115 constexpr int END_SLEEP_LONG_TIME_UNOPERATE = 3;
116 
117 constexpr int SCREENLOCK_APP_CAN_USE = 1;
118 constexpr int SCREENLOCK_APP_CAN_NOT_USE = 0;
119 
120 constexpr std::int32_t DEFAULT_ERROR = -1;
121 constexpr int32_t NONE_EVENT_TYPE = 0;
122 constexpr int ARGV_ZERO = 0;
123 constexpr int ARGV_ONE = 1;
124 constexpr int ARGV_TWO = 2;
125 constexpr int ARGV_THREE = 3;
126 constexpr int ARGV_NORMAL = -100;
127 constexpr std::int32_t MAX_VALUE_LEN = 4096;
128 constexpr const std::int32_t STR_MAX_SIZE = 256;
129 constexpr int RESULT_COUNT = 2;
130 constexpr int PARAMTWO = 2;
131 constexpr std::int32_t ARGS_SIZE_ZERO = 0;
132 constexpr std::int32_t ARGS_SIZE_ONE = 1;
133 constexpr std::int32_t ARGS_SIZE_TWO = 2;
134 constexpr std::int32_t ARGS_SIZE_THREE = 3;
135 constexpr std::int32_t ARGS_SIZE_FOUR = 4;
136 constexpr std::int32_t RESULT_ZERO = 0;
137 } // namespace ScreenLock
138 } // namespace OHOS
139 #endif // SERVICES_INCLUDE_SCREENLOCK_COMMON_H