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
23namespace OHOS {
24namespace ScreenLock {
25#define SCREENLOCK_SERVICE_NAME "ScreenLockService"
26#define PARAM_ZERO 0
27#define PARAM_ONE 1
28#define PARAM_TWO 2
29
30const std::string BEGIN_WAKEUP = "beginWakeUp";
31const std::string END_WAKEUP = "endWakeUp";
32const std::string BEGIN_SCREEN_ON = "beginScreenOn";
33const std::string END_SCREEN_ON = "endScreenOn";
34const std::string BEGIN_SLEEP = "beginSleep";
35const std::string END_SLEEP = "endSleep";
36const std::string BEGIN_SCREEN_OFF = "beginScreenOff";
37const std::string END_SCREEN_OFF = "endScreenOff";
38const std::string STRONG_AUTH_CHANGED = "strongAuthChanged";
39const std::string CHANGE_USER = "changeUser";
40const std::string SCREENLOCK_ENABLED = "screenlockEnabled";
41const std::string EXIT_ANIMATION = "beginExitAnimation";
42const std::string UNLOCKSCREEN = "unlockScreen";
43const std::string UNLOCK_SCREEN_RESULT = "unlockScreenResult";
44const std::string LOCKSCREEN = "lockScreen";
45const std::string LOCK_SCREEN_RESULT = "lockScreenResult";
46const std::string SCREEN_DRAWDONE = "screenDrawDone";
47const std::string SYSTEM_READY = "systemReady";
48const std::string SERVICE_RESTART = "serviceRestart";
49const int USER_NULL = -10000;
50enum ScreenLockModule {
51    SCREENLOCK_MODULE_SERVICE_ID = 0x04,
52};
53// time error offset, used only in this file.
54constexpr ErrCode SCREENLOCK_ERR_OFFSET = ErrCodeOffset(SUBSYS_SMALLSERVICES, SCREENLOCK_MODULE_SERVICE_ID);
55
56enum 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
74enum TraceTaskId : int32_t {
75    HITRACE_UNLOCKSCREEN,
76    HITRACE_LOCKSCREEN,
77    HITRACE_BUTT,
78};
79
80enum ScreenChange {
81    SCREEN_SUCC = 0,
82    SCREEN_FAIL,
83    SCREEN_CANCEL,
84};
85
86enum 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
95enum class Action : uint8_t {
96    LOCK = 0,
97    UNLOCK,
98    UNLOCKSCREEN,
99};
100
101enum 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
109constexpr int BEGIN_SLEEP_DEVICE_ADMIN_REASON = 1;
110constexpr int BEGIN_SLEEP_USER_REASON = 2;
111constexpr int BEGIN_SLEEP_LONG_TIME_UNOPERATOR = 3;
112
113constexpr int END_SLEEP_DEVICE_ADMIN_REASON = 1;
114constexpr int END_SLEEP_USER_REASON = 2;
115constexpr int END_SLEEP_LONG_TIME_UNOPERATE = 3;
116
117constexpr int SCREENLOCK_APP_CAN_USE = 1;
118constexpr int SCREENLOCK_APP_CAN_NOT_USE = 0;
119
120constexpr std::int32_t DEFAULT_ERROR = -1;
121constexpr int32_t NONE_EVENT_TYPE = 0;
122constexpr int ARGV_ZERO = 0;
123constexpr int ARGV_ONE = 1;
124constexpr int ARGV_TWO = 2;
125constexpr int ARGV_THREE = 3;
126constexpr int ARGV_NORMAL = -100;
127constexpr std::int32_t MAX_VALUE_LEN = 4096;
128constexpr const std::int32_t STR_MAX_SIZE = 256;
129constexpr int RESULT_COUNT = 2;
130constexpr int PARAMTWO = 2;
131constexpr std::int32_t ARGS_SIZE_ZERO = 0;
132constexpr std::int32_t ARGS_SIZE_ONE = 1;
133constexpr std::int32_t ARGS_SIZE_TWO = 2;
134constexpr std::int32_t ARGS_SIZE_THREE = 3;
135constexpr std::int32_t ARGS_SIZE_FOUR = 4;
136constexpr std::int32_t RESULT_ZERO = 0;
137} // namespace ScreenLock
138} // namespace OHOS
139#endif // SERVICES_INCLUDE_SCREENLOCK_COMMON_H