• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021-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 OS_ACCOUNT_INTERFACES_KITS_NAPI_OSACCOUNT_INCLUDE_NAPI_OS_ACCOUNT_COMMON_H
17 #define OS_ACCOUNT_INTERFACES_KITS_NAPI_OSACCOUNT_INCLUDE_NAPI_OS_ACCOUNT_COMMON_H
18 
19 #include "account_info.h"
20 #include "napi_os_account.h"
21 #include "os_account_manager.h"
22 #include "ohos_account_kits.h"
23 
24 namespace OHOS {
25 namespace AccountJsKit {
26 constexpr std::int32_t MAX_VALUE_LEN = 4096;
27 constexpr std::int32_t MAX_SUBSCRIBER_NAME_LEN = 1024;
28 constexpr const std::int32_t STR_MAX_SIZE = 256;
29 constexpr int PARAMZERO = 0;
30 constexpr int PARAMONE = 1;
31 constexpr int PARAMTWO = 2;
32 constexpr int PARAMTHREE = 3;
33 constexpr int RESULT_COUNT = 2;
34 constexpr int INVALID_LOCALID = -1;
35 constexpr std::int32_t ARGS_SIZE_ZERO = 0;
36 constexpr std::int32_t ARGS_SIZE_ONE = 1;
37 constexpr std::int32_t ARGS_SIZE_TWO = 2;
38 constexpr std::int32_t ARGS_SIZE_THREE = 3;
39 constexpr std::int32_t ARGS_SIZE_FOUR = 4;
40 
41 class NapiCreateDomainCallback final : public DomainAccountCallback {
42 public:
43     NapiCreateDomainCallback(napi_env env, napi_ref callbackRef, napi_deferred deferred);
44     ~NapiCreateDomainCallback();
45     void OnResult(const int32_t errCode, Parcel &parcel) override;
46 
47 private:
48     napi_env env_ = nullptr;
49     napi_ref callbackRef_ = nullptr;
50     napi_deferred deferred_ = nullptr;
51     AccountJsKit::ThreadLockInfo lockInfo_;
52 };
53 
54 napi_value WrapVoidToJS(napi_env env);
55 
56 bool ParseParaQueryOAByIdCB(napi_env env, napi_callback_info cbInfo, QueryOAByIdAsyncContext *asyncContext);
57 
58 void QueryOAByIdExecuteCB(napi_env env, void *data);
59 
60 void QueryOAByIdCallbackCompletedCB(napi_env env, napi_status status, void *data);
61 
62 void GetOACBInfoToJs(napi_env env, OsAccountInfo &info, napi_value &objOAInfo);
63 
64 void GetOtherAccountInfoToJs(napi_env env, OsAccountInfo &info, napi_value &objOAInfo);
65 
66 void MakeArrayToJs(napi_env env, const std::vector<std::string> &constraints, napi_value jsArray);
67 
68 bool ParseParaRemoveOACB(napi_env env, napi_callback_info cbInfo, RemoveOAAsyncContext *asyncContext);
69 
70 void RemoveOAExecuteCB(napi_env env, void *data);
71 
72 void RemoveOACallbackCompletedCB(napi_env env, napi_status status, void *data);
73 
74 bool ParseParaSetOAName(napi_env env, napi_callback_info cbInfo, SetOANameAsyncContext *asyncContext);
75 
76 void SetOANameExecuteCB(napi_env env, void *data);
77 
78 void SetOANameCallbackCompletedCB(napi_env env, napi_status status, void *data);
79 
80 bool ParseParaSetOAConstraints(napi_env env, napi_callback_info cbInfo, SetOAConsAsyncContext *asyncContext);
81 
82 void SetOAConsExecuteCB(napi_env env, void *data);
83 
84 void SetOAConsCallbackCompletedCB(napi_env env, napi_status status, void *data);
85 
86 bool ParseParaActiveOA(napi_env env, napi_callback_info cbInfo, ActivateOAAsyncContext *asyncContext);
87 
88 void ActivateOAExecuteCB(napi_env env, void *data);
89 
90 void ActivateOACallbackCompletedCB(napi_env env, napi_status status, void *data);
91 
92 bool ParseParaDeactivateOA(napi_env env, napi_callback_info cbInfo, ActivateOAAsyncContext *asyncContext);
93 
94 void DeactivateOAExecuteCB(napi_env env, void *data);
95 
96 void DeactivateOACompletedCB(napi_env env, napi_status status, void *data);
97 
98 bool ParseParaCreateOA(napi_env env, napi_callback_info cbInfo, CreateOAAsyncContext *asyncContext);
99 
100 bool ParseParaCreateOAForDomain(napi_env env, napi_callback_info cbInfo,
101     CreateOAForDomainAsyncContext *asyncContext);
102 
103 void CreateOAExecuteCB(napi_env env, void *data);
104 
105 void CreateOAForDomainExecuteCB(napi_env env, void *data);
106 
107 void CreateOAForDomainCompletedCB(napi_env env, napi_status status, void *data);
108 
109 void CreateOACallbackCompletedCB(napi_env env, napi_status status, void *data);
110 
111 std::function<void()> CreateOAForDomainCallbackCompletedWork(std::shared_ptr<CreateOAForDomainAsyncContext> param);
112 
113 bool ParseParaGetOACount(napi_env env, napi_callback_info cbInfo, GetOACountAsyncContext *asyncContext);
114 
115 void GetOACountExecuteCB(napi_env env, void *data);
116 
117 void GetOACountCallbackCompletedCB(napi_env env, napi_status status, void *data);
118 
119 bool ParseParaDbDeviceId(napi_env env, napi_callback_info cbInfo, DbDeviceIdAsyncContext *asyncContext);
120 
121 void DbDeviceIdExecuteCB(napi_env env, void *data);
122 
123 void DbDeviceIdCallbackCompletedCB(napi_env env, napi_status status, void *data);
124 
125 bool ParseParaGetAllCons(napi_env env, napi_callback_info cbInfo, GetAllConsAsyncContext *asyncContext);
126 
127 void GetAllConsExecuteCB(napi_env env, void *data);
128 
129 void GetAllConsCallbackCompletedCB(napi_env env, napi_status status, void *data);
130 
131 void GetAllAccountCons(napi_env env, const std::vector<std::string> &info, napi_value &result);
132 
133 bool ParseParaProcessId(napi_env env, napi_callback_info cbInfo, GetIdAsyncContext *asyncContext);
134 
135 void GetProcessIdExecuteCB(napi_env env, void *data);
136 
137 void GetProcessIdCallbackCompletedCB(napi_env env, napi_status status, void *data);
138 
139 bool ParseQueryAllCreateOA(napi_env env, napi_callback_info cbInfo, QueryCreateOAAsyncContext *asyncContext);
140 
141 bool ParseQueryActiveIds(napi_env env, napi_callback_info cbInfo, QueryActiveIdsAsyncContext *asyncContext);
142 
143 void QueryCreateOAExecuteCB(napi_env env, void *data);
144 
145 void QueryActiveIdsExecuteCB(napi_env env, void *data);
146 
147 void QueryCreateOACallbackCompletedCB(napi_env env, napi_status status, void *data);
148 
149 void QueryActiveIdsCallbackCompletedCB(napi_env env, napi_status status, void *data);
150 
151 void GetForegroundOALocalIdExecuteCB(napi_env env, void *data);
152 
153 void GetForegroundOALocalIdCallbackCompletedCB(napi_env env, napi_status status, void *data);
154 
155 void QueryOAInfoForResult(napi_env env, const std::vector<OsAccountInfo> &info, napi_value &result);
156 
157 bool ParseParaGetPhoto(napi_env env, napi_callback_info cbInfo, GetOAPhotoAsyncContext *asyncContext);
158 
159 void GetOsAccountNameExecuteCB(napi_env env, void *data);
160 
161 void GetOsAccountNameCallbackCompletedCB(napi_env env, napi_status status, void *data);
162 
163 void GetOAPhotoExecuteCB(napi_env env, void *data);
164 
165 void GetOAPhotoCallbackCompletedCB(napi_env env, napi_status status, void *data);
166 
167 bool ParseParaCurrentOA(napi_env env, napi_callback_info cbInfo, CurrentOAAsyncContext *asyncContext);
168 
169 void QueryCurrentOAExecuteCB(napi_env env, void *data);
170 
171 void QueryCurrentOACallbackCompletedCB(napi_env env, napi_status status, void *data);
172 
173 bool ParseParaGetIdByUid(napi_env env, napi_callback_info cbInfo, GetIdByUidAsyncContext *asyncContext);
174 
175 bool ParseParaGetIdByDomain(napi_env env, napi_callback_info cbInfo, GetIdByDomainAsyncContext *asyncContext);
176 
177 void GetIdByUidExecuteCB(napi_env env, void *data);
178 
179 void GetBundleIdByUidExecuteCB(napi_env env, void *data);
180 
181 void GetIdByDomainExecuteCB(napi_env env, void *data);
182 
183 void GetIdByUidCallbackCompletedCB(napi_env env, napi_status status, void *data);
184 
185 void GetBundleIdByUidCallbackCompletedCB(napi_env env, napi_status status, void *data);
186 
187 void GetIdByDomainCallbackCompletedCB(napi_env env, napi_status status, void *data);
188 
189 bool ParseParaSetPhoto(napi_env env, napi_callback_info cbInfo, SetOAPhotoAsyncContext *asyncContext);
190 
191 void SetPhotoExecuteCB(napi_env env, void *data);
192 
193 void SetPhotoCompletedCB(napi_env env, napi_status status, void *data);
194 
195 bool ParseParaQueryMaxNum(napi_env env, napi_callback_info cbInfo, QueryMaxNumAsyncContext *asyncContext);
196 
197 void QueryMaxNumExecuteCB(napi_env env, void *data);
198 
199 void QueryMaxNumCompletedCB(napi_env env, napi_status status, void *data);
200 
201 bool ParseParaIsActived(napi_env env, napi_callback_info cbInfo, IsActivedAsyncContext *asyncContext);
202 
203 void IsActivedExecuteCB(napi_env env, void *data);
204 
205 void IsActivedCompletedCB(napi_env env, napi_status status, void *data);
206 
207 bool ParseParaIsEnable(napi_env env, napi_callback_info cbInfo, IsConEnableAsyncContext *asyncContext);
208 
209 void IsEnableExecuteCB(napi_env env, void *data);
210 
211 void IsEnableCompletedCB(napi_env env, napi_status status, void *data);
212 
213 bool ParseParaGetType(napi_env env, napi_callback_info cbInfo, GetTypeAsyncContext *asyncContext);
214 
215 void GetTypeExecuteCB(napi_env env, void *data);
216 
217 void GetTypeCompletedCB(napi_env env, napi_status status, void *data);
218 
219 bool ParseParaIsMultiEn(napi_env env, napi_callback_info cbInfo, IsMultiEnAsyncContext *asyncContext);
220 
221 void IsMultiEnExecuteCB(napi_env env, void *data);
222 
223 void IsMultiEnCompletedCB(napi_env env, napi_status status, void *data);
224 
225 bool ParseParaIsVerified(napi_env env, napi_callback_info cbInfo, IsVerifiedAsyncContext *asyncContext);
226 
227 void IsVerifiedExecuteCB(napi_env env, void *data);
228 
229 void IsVerifiedCompletedCB(napi_env env, napi_status status, void *data);
230 
231 bool ParseParaSerialNumId(napi_env env, napi_callback_info cbInfo, GetSerialNumIdCBInfo *asyncContext);
232 
233 void SerialNumIdExecuteCB(napi_env env, void *data);
234 
235 void SerialNumIdCompletedCB(napi_env env, napi_status status, void *data);
236 
237 bool ParseParaGetSerialNum(napi_env env, napi_callback_info cbInfo, GetSerialNumForOAInfo *asyncContext);
238 
239 void GetSerialNumExecuteCB(napi_env env, void *data);
240 
241 void GetSerialNumCompletedCB(napi_env env, napi_status status, void *data);
242 
243 bool ParseParaIsTestOA(napi_env env, napi_callback_info cbInfo, IsTestOAInfo *asyncContext);
244 
245 bool ParseParaIsMainOA(napi_env env, napi_callback_info cbInfo, IsMainOAInfo *asyncContext);
246 
247 bool ParseParaToSubscriber(const napi_env &env, napi_callback_info cbInfo, SubscribeCBInfo *asyncContext,
248                            napi_value *thisVar);
249 
250 void SubscribeExecuteCB(napi_env env, void *data);
251 
252 void SubscribeCompletedCB(napi_env env, napi_status status, void *data);
253 
254 bool ParseParaToUnsubscriber(
255     const napi_env &env, napi_callback_info cbInfo, UnsubscribeCBInfo *asyncContext, napi_value *thisVar);
256 
257 bool ParseQueryOAConstraintSrcTypes(napi_env env, napi_callback_info cbInfo,
258     QueryOAConstraintSrcTypeContext *asyncContext);
259 
260 void QueryOAContSrcTypeExecuteCB(napi_env env, void *data);
261 
262 void QueryOAContSrcTypeCallbackCompletedCB(napi_env env, napi_status status, void *data);
263 
264 void QueryOAContSrcTypeForResult(napi_env env, const std::vector<ConstraintSourceTypeInfo> &infos, napi_value &result);
265 
266 void GetOsAccountDomainInfoExecuteCB(napi_env env, void *data);
267 
268 void GetOsAccountDomainInfoCompletedCB(napi_env env, napi_status status, void *data);
269 
270 class NapiBindDomainCallback final : public DomainAccountCallback {
271 public:
NapiBindDomainCallback(napi_env env,napi_deferred deferred)272     NapiBindDomainCallback(napi_env env, napi_deferred deferred) : env_(env), deferred_(deferred) {};
273     ~NapiBindDomainCallback() = default;
274     void OnResult(const int32_t errCode, Parcel &parcel) override;
275 
276 private:
277     napi_env env_ = nullptr;
278     napi_deferred deferred_ = nullptr;
279     AccountJsKit::ThreadLockInfo lockInfo_;
280 };
281 
282 bool ParseParaBindDomainAccount(napi_env env, napi_callback_info cbInfo,
283     std::unique_ptr<BindDomainAccountAsyncContext> &asyncContext);
284 
285 void BindDomainAccountExecuteCB(napi_env env, void *data);
286 
287 void BindDomainAccountCompletedCB(napi_env env, napi_status status, void *data);
288 
289 std::function<void()> BindDomainAccountCompleteWork(const std::shared_ptr<BindDomainAccountAsyncContext> &param);
290 
291 }  // namespace AccountJsKit
292 }  // namespace OHOS
293 
294 #endif  // OS_ACCOUNT_INTERFACES_KITS_NAPI_OSACCOUNT_INCLUDE_NAPI_OS_ACCOUNT_COMMON_H
295