1 /*
2 * Copyright (c) 2021-2023 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 #include "resource_manager_addon.h"
17 #include "resource_manager_napi_utils.h"
18 #include "hilog/log_cpp.h"
19
20 namespace OHOS {
21 namespace Global {
22 namespace Resource {
23 static thread_local napi_ref g_constructor = nullptr;
24 static std::shared_ptr<ResourceManager> sysResMgr = nullptr;
25 static std::mutex sysMgrMutex;
26
Create(napi_env env,const std::string & bundleName,const std::shared_ptr<ResourceManager> & resMgr,std::shared_ptr<AbilityRuntime::Context> context)27 napi_value ResourceManagerAddon::Create(
28 napi_env env, const std::string& bundleName, const std::shared_ptr<ResourceManager>& resMgr,
29 std::shared_ptr<AbilityRuntime::Context> context)
30 {
31 std::shared_ptr<ResourceManagerAddon> addon = std::make_shared<ResourceManagerAddon>(bundleName, resMgr, context);
32 return WrapResourceManager(env, addon);
33 }
34
CreateOverrideAddon(napi_env env,const std::shared_ptr<ResourceManager> & resMgr)35 napi_value ResourceManagerAddon::CreateOverrideAddon(napi_env env, const std::shared_ptr<ResourceManager>& resMgr)
36 {
37 std::shared_ptr<ResourceManagerAddon> addon = std::make_shared<ResourceManagerAddon>(bundleName_, resMgr, context_);
38 addon->isOverrideAddon_ = true;
39 return WrapResourceManager(env, addon);
40 }
41
WrapResourceManager(napi_env env,std::shared_ptr<ResourceManagerAddon> & addon)42 napi_value ResourceManagerAddon::WrapResourceManager(napi_env env, std::shared_ptr<ResourceManagerAddon> &addon)
43 {
44 if (!Init(env)) {
45 RESMGR_HILOGE(RESMGR_JS_TAG, "Failed to init resource manager addon");
46 return nullptr;
47 }
48
49 napi_value constructor = nullptr;
50 if (g_constructor == nullptr) {
51 RESMGR_HILOGE(RESMGR_JS_TAG, "Failed to WrapResourceManager in Create, g_constructor is null");
52 return nullptr;
53 }
54 napi_status status = napi_get_reference_value(env, g_constructor, &constructor);
55 if (status != napi_ok || constructor == nullptr) {
56 RESMGR_HILOGE(RESMGR_JS_TAG, "Failed to get reference value in Create, status = %{public}d", status);
57 return nullptr;
58 }
59 napi_value result = nullptr;
60 status = napi_new_instance(env, constructor, 0, nullptr, &result);
61 if (status != napi_ok) {
62 RESMGR_HILOGE(RESMGR_JS_TAG, "Failed to new instance in Create, status = %{public}d", status);
63 return nullptr;
64 }
65
66 auto addonPtr = std::make_unique<std::shared_ptr<ResourceManagerAddon>>(addon);
67 status = napi_wrap(env, result, reinterpret_cast<void *>(addonPtr.get()), ResourceManagerAddon::Destructor,
68 nullptr, nullptr);
69 if (status != napi_ok) {
70 RESMGR_HILOGE(RESMGR_JS_TAG, "Failed to wrape in Create");
71 return nullptr;
72 }
73 addonPtr.release();
74 return result;
75 }
76
GetSystemResMgr(napi_env env)77 napi_value ResourceManagerAddon::GetSystemResMgr(napi_env env)
78 {
79 if (sysResMgr == nullptr) {
80 std::lock_guard<std::mutex> lock(sysMgrMutex);
81 if (sysResMgr == nullptr) {
82 std::shared_ptr<Global::Resource::ResourceManager>
83 systemResManager(Global::Resource::GetSystemResourceManager());
84 if (systemResManager == nullptr) {
85 ResourceManagerNapiUtils::NapiThrow(env, ERROR_CODE_SYSTEM_RES_MANAGER_GET_FAILED);
86 return nullptr;
87 }
88 sysResMgr = systemResManager;
89 }
90 }
91 std::shared_ptr<ResourceManagerAddon> addon = std::make_shared<ResourceManagerAddon>(sysResMgr, true);
92 return WrapResourceManager(env, addon);
93 }
94
ResourceManagerAddon(const std::string & bundleName,const std::shared_ptr<ResourceManager> & resMgr,const std::shared_ptr<AbilityRuntime::Context> & context,bool isSystem)95 ResourceManagerAddon::ResourceManagerAddon(
96 const std::string& bundleName, const std::shared_ptr<ResourceManager>& resMgr,
97 const std::shared_ptr<AbilityRuntime::Context>& context, bool isSystem)
98 : bundleName_(bundleName), resMgr_(resMgr), context_(context), isSystem_(isSystem)
99 {
100 RESMGR_HILOGD(RESMGR_JS_TAG, "create ResourceManagerAddon %{public}s", bundleName_.c_str());
101 napiContext_ = std::make_shared<ResourceManagerNapiContext>();
102 }
103
ResourceManagerAddon(const std::shared_ptr<ResourceManager> & resMgr,bool isSystem)104 ResourceManagerAddon::ResourceManagerAddon(const std::shared_ptr<ResourceManager>& resMgr, bool isSystem)
105 : resMgr_(resMgr), isSystem_(isSystem)
106 {
107 RESMGR_HILOGD(RESMGR_JS_TAG, "create ResourceManagerAddon.");
108 napiContext_ = std::make_shared<ResourceManagerNapiContext>();
109 }
110
~ResourceManagerAddon()111 ResourceManagerAddon::~ResourceManagerAddon()
112 {
113 RESMGR_HILOGD(RESMGR_JS_TAG, "~ResourceManagerAddon %{public}s", bundleName_.c_str());
114 }
115
Destructor(napi_env env,void * nativeObject,void * hint)116 void ResourceManagerAddon::Destructor(napi_env env, void *nativeObject, void *hint)
117 {
118 std::unique_ptr<std::shared_ptr<ResourceManagerAddon>> addonPtr;
119 addonPtr.reset(static_cast<std::shared_ptr<ResourceManagerAddon>*>(nativeObject));
120 }
121
122 napi_property_descriptor ResourceManagerAddon::properties[] = {
123 DECLARE_NAPI_FUNCTION("getString", GetString),
124 DECLARE_NAPI_FUNCTION("getStringByName", GetStringByName),
125 DECLARE_NAPI_FUNCTION("getStringArray", GetStringArray),
126 DECLARE_NAPI_FUNCTION("getStringArrayByName", GetStringArrayByName),
127 DECLARE_NAPI_FUNCTION("getMedia", GetMedia),
128 DECLARE_NAPI_FUNCTION("getMediaByName", GetMediaByName),
129 DECLARE_NAPI_FUNCTION("getMediaBase64", GetMediaBase64),
130 DECLARE_NAPI_FUNCTION("getMediaBase64ByName", GetMediaBase64ByName),
131 DECLARE_NAPI_FUNCTION("getConfiguration", GetConfiguration),
132 DECLARE_NAPI_FUNCTION("getDeviceCapability", GetDeviceCapability),
133 DECLARE_NAPI_FUNCTION("getPluralString", GetPluralString),
134 DECLARE_NAPI_FUNCTION("getPluralStringByName", GetPluralStringByName),
135 DECLARE_NAPI_FUNCTION("getRawFile", GetRawFile),
136 DECLARE_NAPI_FUNCTION("getRawFileDescriptor", GetRawFileDescriptor),
137 DECLARE_NAPI_FUNCTION("closeRawFileDescriptor", CloseRawFileDescriptor),
138 DECLARE_NAPI_FUNCTION("getStringSync", GetStringSync),
139 DECLARE_NAPI_FUNCTION("getStringByNameSync", GetStringByNameSync),
140 DECLARE_NAPI_FUNCTION("getBoolean", GetBoolean),
141 DECLARE_NAPI_FUNCTION("getNumber", GetNumber),
142 DECLARE_NAPI_FUNCTION("getBooleanByName", GetBooleanByName),
143 DECLARE_NAPI_FUNCTION("getNumberByName", GetNumberByName),
144 DECLARE_NAPI_FUNCTION("release", Release),
145 DECLARE_NAPI_FUNCTION("getStringValue", GetStringValue),
146 DECLARE_NAPI_FUNCTION("getStringArrayValue", GetStringArrayValue),
147 DECLARE_NAPI_FUNCTION("getPluralStringValue", GetPluralStringValue),
148 DECLARE_NAPI_FUNCTION("getMediaContent", GetMediaContent),
149 DECLARE_NAPI_FUNCTION("getMediaContentBase64", GetMediaContentBase64),
150 DECLARE_NAPI_FUNCTION("getRawFileContent", GetRawFileContent),
151 DECLARE_NAPI_FUNCTION("getRawFd", GetRawFd),
152 DECLARE_NAPI_FUNCTION("closeRawFd", CloseRawFd),
153 DECLARE_NAPI_FUNCTION("getDrawableDescriptor", GetDrawableDescriptor),
154 DECLARE_NAPI_FUNCTION("getDrawableDescriptorByName", GetDrawableDescriptorByName),
155 DECLARE_NAPI_FUNCTION("getRawFileList", GetRawFileList),
156 DECLARE_NAPI_FUNCTION("getColor", GetColor),
157 DECLARE_NAPI_FUNCTION("getColorByName", GetColorByName),
158 DECLARE_NAPI_FUNCTION("getColorSync", GetColorSync),
159 DECLARE_NAPI_FUNCTION("getColorByNameSync", GetColorByNameSync),
160 DECLARE_NAPI_FUNCTION("addResource", AddResource),
161 DECLARE_NAPI_FUNCTION("removeResource", RemoveResource),
162 DECLARE_NAPI_FUNCTION("getMediaContentBase64Sync", GetMediaContentBase64Sync),
163 DECLARE_NAPI_FUNCTION("getMediaContentSync", GetMediaContentSync),
164 DECLARE_NAPI_FUNCTION("getPluralStringValueSync", GetPluralStringValueSync),
165 DECLARE_NAPI_FUNCTION("getStringArrayValueSync", GetStringArrayValueSync),
166 DECLARE_NAPI_FUNCTION("getRawFileContentSync", GetRawFileContentSync),
167 DECLARE_NAPI_FUNCTION("getRawFdSync", GetRawFdSync),
168 DECLARE_NAPI_FUNCTION("closeRawFdSync", CloseRawFdSync),
169 DECLARE_NAPI_FUNCTION("getRawFileListSync", GetRawFileListSync),
170 DECLARE_NAPI_FUNCTION("getPluralStringByNameSync", GetPluralStringByNameSync),
171 DECLARE_NAPI_FUNCTION("getMediaBase64ByNameSync", GetMediaBase64ByNameSync),
172 DECLARE_NAPI_FUNCTION("getMediaByNameSync", GetMediaByNameSync),
173 DECLARE_NAPI_FUNCTION("getStringArrayByNameSync", GetStringArrayByNameSync),
174 DECLARE_NAPI_FUNCTION("getConfigurationSync", GetConfigurationSync),
175 DECLARE_NAPI_FUNCTION("getDeviceCapabilitySync", GetDeviceCapabilitySync),
176 DECLARE_NAPI_FUNCTION("getLocales", GetLocales),
177 DECLARE_NAPI_FUNCTION("getSymbol", GetSymbol),
178 DECLARE_NAPI_FUNCTION("getSymbolByName", GetSymbolByName),
179 DECLARE_NAPI_FUNCTION("isRawDir", IsRawDir),
180 DECLARE_NAPI_FUNCTION("getOverrideResourceManager", GetOverrideResourceManager),
181 DECLARE_NAPI_FUNCTION("getOverrideConfiguration", GetOverrideConfiguration),
182 DECLARE_NAPI_FUNCTION("updateOverrideConfiguration", UpdateOverrideConfiguration)
183 };
184
Init(napi_env env)185 bool ResourceManagerAddon::Init(napi_env env)
186 {
187 if (g_constructor != nullptr) {
188 return true;
189 }
190
191 napi_value constructor;
192 napi_status status = napi_define_class(env, "ResourceManager", NAPI_AUTO_LENGTH, New, nullptr,
193 sizeof(properties) / sizeof(napi_property_descriptor), properties, &constructor);
194 if (status != napi_ok) {
195 RESMGR_HILOGE(RESMGR_JS_TAG, "Failed to define class at Init");
196 return false;
197 }
198
199 status = napi_create_reference(env, constructor, 1, &g_constructor);
200 if (status != napi_ok) {
201 RESMGR_HILOGE(RESMGR_JS_TAG, "Failed to create reference at init");
202 return false;
203 }
204 napi_add_env_cleanup_hook(env, [](void *data) { g_constructor = nullptr; }, nullptr);
205 return true;
206 }
207
New(napi_env env,napi_callback_info info)208 napi_value ResourceManagerAddon::New(napi_env env, napi_callback_info info)
209 {
210 GET_PARAMS(env, info, 1);
211
212 napi_value target = nullptr;
213 napi_get_new_target(env, info, &target);
214 if (target != nullptr) {
215 return thisVar;
216 }
217
218 return nullptr;
219 }
220
Release(napi_env env,napi_callback_info info)221 napi_value ResourceManagerAddon::Release(napi_env env, napi_callback_info info)
222 {
223 napi_value undefined;
224 if (napi_get_undefined(env, &undefined) != napi_ok) {
225 return nullptr;
226 }
227 return undefined;
228 }
229
AddonGetResource(napi_env env,napi_callback_info info,const std::string & name,FunctionType type)230 napi_value ResourceManagerAddon::AddonGetResource(napi_env env, napi_callback_info info, const std::string& name,
231 FunctionType type)
232 {
233 auto addon = ResMgrDataContext::GetResourceManagerAddon(env, info);
234 if (addon == nullptr) {
235 return nullptr;
236 }
237 return addon->napiContext_->ContextGetResource(env, info, name, type);
238 }
239
240 /*====================================Here is the asynchronization function==================================*/
GetString(napi_env env,napi_callback_info info)241 napi_value ResourceManagerAddon::GetString(napi_env env, napi_callback_info info)
242 {
243 return AddonGetResource(env, info, "GetString", FunctionType::ASYNC);
244 }
245
GetStringArray(napi_env env,napi_callback_info info)246 napi_value ResourceManagerAddon::GetStringArray(napi_env env, napi_callback_info info)
247 {
248 return AddonGetResource(env, info, "GetStringArray", FunctionType::ASYNC);
249 }
250
GetMedia(napi_env env,napi_callback_info info)251 napi_value ResourceManagerAddon::GetMedia(napi_env env, napi_callback_info info)
252 {
253 return AddonGetResource(env, info, "GetMedia", FunctionType::ASYNC);
254 }
255
GetMediaBase64(napi_env env,napi_callback_info info)256 napi_value ResourceManagerAddon::GetMediaBase64(napi_env env, napi_callback_info info)
257 {
258 return AddonGetResource(env, info, "GetMediaBase64", FunctionType::ASYNC);
259 }
260
GetConfiguration(napi_env env,napi_callback_info info)261 napi_value ResourceManagerAddon::GetConfiguration(napi_env env, napi_callback_info info)
262 {
263 return AddonGetResource(env, info, "GetConfiguration", FunctionType::ASYNC);
264 }
265
GetDeviceCapability(napi_env env,napi_callback_info info)266 napi_value ResourceManagerAddon::GetDeviceCapability(napi_env env, napi_callback_info info)
267 {
268 return AddonGetResource(env, info, "GetDeviceCapability", FunctionType::ASYNC);
269 }
270
GetPluralString(napi_env env,napi_callback_info info)271 napi_value ResourceManagerAddon::GetPluralString(napi_env env, napi_callback_info info)
272 {
273 return AddonGetResource(env, info, "GetPluralString", FunctionType::ASYNC);
274 }
275
GetRawFile(napi_env env,napi_callback_info info)276 napi_value ResourceManagerAddon::GetRawFile(napi_env env, napi_callback_info info)
277 {
278 return AddonGetResource(env, info, "GetRawFile", FunctionType::ASYNC);
279 }
280
GetRawFileDescriptor(napi_env env,napi_callback_info info)281 napi_value ResourceManagerAddon::GetRawFileDescriptor(napi_env env, napi_callback_info info)
282 {
283 return AddonGetResource(env, info, "GetRawFileDescriptor", FunctionType::ASYNC);
284 }
285
CloseRawFileDescriptor(napi_env env,napi_callback_info info)286 napi_value ResourceManagerAddon::CloseRawFileDescriptor(napi_env env, napi_callback_info info)
287 {
288 return AddonGetResource(env, info, "CloseRawFileDescriptor", FunctionType::ASYNC);
289 }
290
GetPluralStringByName(napi_env env,napi_callback_info info)291 napi_value ResourceManagerAddon::GetPluralStringByName(napi_env env, napi_callback_info info)
292 {
293 return AddonGetResource(env, info, "GetPluralStringByName", FunctionType::ASYNC);
294 }
295
GetMediaBase64ByName(napi_env env,napi_callback_info info)296 napi_value ResourceManagerAddon::GetMediaBase64ByName(napi_env env, napi_callback_info info)
297 {
298 return AddonGetResource(env, info, "GetMediaBase64ByName", FunctionType::ASYNC);
299 }
300
GetMediaByName(napi_env env,napi_callback_info info)301 napi_value ResourceManagerAddon::GetMediaByName(napi_env env, napi_callback_info info)
302 {
303 return AddonGetResource(env, info, "GetMediaByName", FunctionType::ASYNC);
304 }
305
GetStringArrayByName(napi_env env,napi_callback_info info)306 napi_value ResourceManagerAddon::GetStringArrayByName(napi_env env, napi_callback_info info)
307 {
308 return AddonGetResource(env, info, "GetStringArrayByName", FunctionType::ASYNC);
309 }
310
GetStringByName(napi_env env,napi_callback_info info)311 napi_value ResourceManagerAddon::GetStringByName(napi_env env, napi_callback_info info)
312 {
313 return AddonGetResource(env, info, "GetStringByName", FunctionType::ASYNC);
314 }
315
GetStringValue(napi_env env,napi_callback_info info)316 napi_value ResourceManagerAddon::GetStringValue(napi_env env, napi_callback_info info)
317 {
318 return AddonGetResource(env, info, "GetStringValue", FunctionType::ASYNC);
319 }
320
GetStringArrayValue(napi_env env,napi_callback_info info)321 napi_value ResourceManagerAddon::GetStringArrayValue(napi_env env, napi_callback_info info)
322 {
323 return AddonGetResource(env, info, "GetStringArrayValue", FunctionType::ASYNC);
324 }
325
GetMediaContent(napi_env env,napi_callback_info info)326 napi_value ResourceManagerAddon::GetMediaContent(napi_env env, napi_callback_info info)
327 {
328 return AddonGetResource(env, info, "GetMediaContent", FunctionType::ASYNC);
329 }
330
GetMediaContentBase64(napi_env env,napi_callback_info info)331 napi_value ResourceManagerAddon::GetMediaContentBase64(napi_env env, napi_callback_info info)
332 {
333 return AddonGetResource(env, info, "GetMediaContentBase64", FunctionType::ASYNC);
334 }
335
GetPluralStringValue(napi_env env,napi_callback_info info)336 napi_value ResourceManagerAddon::GetPluralStringValue(napi_env env, napi_callback_info info)
337 {
338 return AddonGetResource(env, info, "GetPluralStringValue", FunctionType::ASYNC);
339 }
340
GetRawFileContent(napi_env env,napi_callback_info info)341 napi_value ResourceManagerAddon::GetRawFileContent(napi_env env, napi_callback_info info)
342 {
343 return AddonGetResource(env, info, "GetRawFileContent", FunctionType::ASYNC);
344 }
345
GetRawFd(napi_env env,napi_callback_info info)346 napi_value ResourceManagerAddon::GetRawFd(napi_env env, napi_callback_info info)
347 {
348 return AddonGetResource(env, info, "GetRawFd", FunctionType::ASYNC);
349 }
350
CloseRawFd(napi_env env,napi_callback_info info)351 napi_value ResourceManagerAddon::CloseRawFd(napi_env env, napi_callback_info info)
352 {
353 return AddonGetResource(env, info, "CloseRawFd", FunctionType::ASYNC);
354 }
355
GetRawFileList(napi_env env,napi_callback_info info)356 napi_value ResourceManagerAddon::GetRawFileList(napi_env env, napi_callback_info info)
357 {
358 return AddonGetResource(env, info, "GetRawFileList", FunctionType::ASYNC);
359 }
360
GetColor(napi_env env,napi_callback_info info)361 napi_value ResourceManagerAddon::GetColor(napi_env env, napi_callback_info info)
362 {
363 return AddonGetResource(env, info, "GetColor", FunctionType::ASYNC);
364 }
365
GetColorByName(napi_env env,napi_callback_info info)366 napi_value ResourceManagerAddon::GetColorByName(napi_env env, napi_callback_info info)
367 {
368 return AddonGetResource(env, info, "GetColorByName", FunctionType::ASYNC);
369 }
370
371 /*====================================Here is the synchronization function===================================*/
GetStringSync(napi_env env,napi_callback_info info)372 napi_value ResourceManagerAddon::GetStringSync(napi_env env, napi_callback_info info)
373 {
374 return AddonGetResource(env, info, "GetStringSync", FunctionType::SYNC);
375 }
376
GetStringByNameSync(napi_env env,napi_callback_info info)377 napi_value ResourceManagerAddon::GetStringByNameSync(napi_env env, napi_callback_info info)
378 {
379 return AddonGetResource(env, info, "GetStringByNameSync", FunctionType::SYNC);
380 }
381
GetBoolean(napi_env env,napi_callback_info info)382 napi_value ResourceManagerAddon::GetBoolean(napi_env env, napi_callback_info info)
383 {
384 return AddonGetResource(env, info, "GetBoolean", FunctionType::SYNC);
385 }
386
GetNumber(napi_env env,napi_callback_info info)387 napi_value ResourceManagerAddon::GetNumber(napi_env env, napi_callback_info info)
388 {
389 return AddonGetResource(env, info, "GetNumber", FunctionType::SYNC);
390 }
391
GetNumberByName(napi_env env,napi_callback_info info)392 napi_value ResourceManagerAddon::GetNumberByName(napi_env env, napi_callback_info info)
393 {
394 return AddonGetResource(env, info, "GetNumberByName", FunctionType::SYNC);
395 }
396
GetBooleanByName(napi_env env,napi_callback_info info)397 napi_value ResourceManagerAddon::GetBooleanByName(napi_env env, napi_callback_info info)
398 {
399 return AddonGetResource(env, info, "GetBooleanByName", FunctionType::SYNC);
400 }
401
GetDrawableDescriptor(napi_env env,napi_callback_info info)402 napi_value ResourceManagerAddon::GetDrawableDescriptor(napi_env env, napi_callback_info info)
403 {
404 return AddonGetResource(env, info, "GetDrawableDescriptor", FunctionType::SYNC);
405 }
406
GetDrawableDescriptorByName(napi_env env,napi_callback_info info)407 napi_value ResourceManagerAddon::GetDrawableDescriptorByName(napi_env env, napi_callback_info info)
408 {
409 return AddonGetResource(env, info, "GetDrawableDescriptorByName", FunctionType::SYNC);
410 }
411
GetColorSync(napi_env env,napi_callback_info info)412 napi_value ResourceManagerAddon::GetColorSync(napi_env env, napi_callback_info info)
413 {
414 return AddonGetResource(env, info, "GetColorSync", FunctionType::SYNC);
415 }
416
GetColorByNameSync(napi_env env,napi_callback_info info)417 napi_value ResourceManagerAddon::GetColorByNameSync(napi_env env, napi_callback_info info)
418 {
419 return AddonGetResource(env, info, "GetColorByNameSync", FunctionType::SYNC);
420 }
421
AddResource(napi_env env,napi_callback_info info)422 napi_value ResourceManagerAddon::AddResource(napi_env env, napi_callback_info info)
423 {
424 return AddonGetResource(env, info, "AddResource", FunctionType::SYNC);
425 }
426
RemoveResource(napi_env env,napi_callback_info info)427 napi_value ResourceManagerAddon::RemoveResource(napi_env env, napi_callback_info info)
428 {
429 return AddonGetResource(env, info, "RemoveResource", FunctionType::SYNC);
430 }
431
GetMediaContentBase64Sync(napi_env env,napi_callback_info info)432 napi_value ResourceManagerAddon::GetMediaContentBase64Sync(napi_env env, napi_callback_info info)
433 {
434 return AddonGetResource(env, info, "GetMediaContentBase64Sync", FunctionType::SYNC);
435 }
436
GetMediaContentSync(napi_env env,napi_callback_info info)437 napi_value ResourceManagerAddon::GetMediaContentSync(napi_env env, napi_callback_info info)
438 {
439 return AddonGetResource(env, info, "GetMediaContentSync", FunctionType::SYNC);
440 }
441
GetPluralStringValueSync(napi_env env,napi_callback_info info)442 napi_value ResourceManagerAddon::GetPluralStringValueSync(napi_env env, napi_callback_info info)
443 {
444 return AddonGetResource(env, info, "GetPluralStringValueSync", FunctionType::SYNC);
445 }
446
GetStringArrayValueSync(napi_env env,napi_callback_info info)447 napi_value ResourceManagerAddon::GetStringArrayValueSync(napi_env env, napi_callback_info info)
448 {
449 return AddonGetResource(env, info, "GetStringArrayValueSync", FunctionType::SYNC);
450 }
451
GetRawFileContentSync(napi_env env,napi_callback_info info)452 napi_value ResourceManagerAddon::GetRawFileContentSync(napi_env env, napi_callback_info info)
453 {
454 return AddonGetResource(env, info, "GetRawFileContentSync", FunctionType::SYNC);
455 }
456
GetRawFdSync(napi_env env,napi_callback_info info)457 napi_value ResourceManagerAddon::GetRawFdSync(napi_env env, napi_callback_info info)
458 {
459 return AddonGetResource(env, info, "GetRawFdSync", FunctionType::SYNC);
460 }
461
CloseRawFdSync(napi_env env,napi_callback_info info)462 napi_value ResourceManagerAddon::CloseRawFdSync(napi_env env, napi_callback_info info)
463 {
464 return AddonGetResource(env, info, "CloseRawFdSync", FunctionType::SYNC);
465 }
466
GetRawFileListSync(napi_env env,napi_callback_info info)467 napi_value ResourceManagerAddon::GetRawFileListSync(napi_env env, napi_callback_info info)
468 {
469 return AddonGetResource(env, info, "GetRawFileListSync", FunctionType::SYNC);
470 }
471
GetPluralStringByNameSync(napi_env env,napi_callback_info info)472 napi_value ResourceManagerAddon::GetPluralStringByNameSync(napi_env env, napi_callback_info info)
473 {
474 return AddonGetResource(env, info, "GetPluralStringByNameSync", FunctionType::SYNC);
475 }
476
GetMediaBase64ByNameSync(napi_env env,napi_callback_info info)477 napi_value ResourceManagerAddon::GetMediaBase64ByNameSync(napi_env env, napi_callback_info info)
478 {
479 return AddonGetResource(env, info, "GetMediaBase64ByNameSync", FunctionType::SYNC);
480 }
481
GetMediaByNameSync(napi_env env,napi_callback_info info)482 napi_value ResourceManagerAddon::GetMediaByNameSync(napi_env env, napi_callback_info info)
483 {
484 return AddonGetResource(env, info, "GetMediaByNameSync", FunctionType::SYNC);
485 }
486
GetStringArrayByNameSync(napi_env env,napi_callback_info info)487 napi_value ResourceManagerAddon::GetStringArrayByNameSync(napi_env env, napi_callback_info info)
488 {
489 return AddonGetResource(env, info, "GetStringArrayByNameSync", FunctionType::SYNC);
490 }
491
GetConfigurationSync(napi_env env,napi_callback_info info)492 napi_value ResourceManagerAddon::GetConfigurationSync(napi_env env, napi_callback_info info)
493 {
494 return AddonGetResource(env, info, "GetConfigurationSync", FunctionType::SYNC);
495 }
496
GetDeviceCapabilitySync(napi_env env,napi_callback_info info)497 napi_value ResourceManagerAddon::GetDeviceCapabilitySync(napi_env env, napi_callback_info info)
498 {
499 return AddonGetResource(env, info, "GetDeviceCapabilitySync", FunctionType::SYNC);
500 }
501
GetLocales(napi_env env,napi_callback_info info)502 napi_value ResourceManagerAddon::GetLocales(napi_env env, napi_callback_info info)
503 {
504 return AddonGetResource(env, info, "GetLocales", FunctionType::SYNC);
505 }
506
GetSymbol(napi_env env,napi_callback_info info)507 napi_value ResourceManagerAddon::GetSymbol(napi_env env, napi_callback_info info)
508 {
509 return AddonGetResource(env, info, "GetSymbol", FunctionType::SYNC);
510 }
511
GetSymbolByName(napi_env env,napi_callback_info info)512 napi_value ResourceManagerAddon::GetSymbolByName(napi_env env, napi_callback_info info)
513 {
514 return AddonGetResource(env, info, "GetSymbolByName", FunctionType::SYNC);
515 }
516
IsRawDir(napi_env env,napi_callback_info info)517 napi_value ResourceManagerAddon::IsRawDir(napi_env env, napi_callback_info info)
518 {
519 return AddonGetResource(env, info, "IsRawDir", FunctionType::SYNC);
520 }
521
GetOverrideResourceManager(napi_env env,napi_callback_info info)522 napi_value ResourceManagerAddon::GetOverrideResourceManager(napi_env env, napi_callback_info info)
523 {
524 return AddonGetResource(env, info, "GetOverrideResourceManager", FunctionType::SYNC);
525 }
526
GetOverrideConfiguration(napi_env env,napi_callback_info info)527 napi_value ResourceManagerAddon::GetOverrideConfiguration(napi_env env, napi_callback_info info)
528 {
529 return AddonGetResource(env, info, "GetOverrideConfiguration", FunctionType::SYNC);
530 }
531
UpdateOverrideConfiguration(napi_env env,napi_callback_info info)532 napi_value ResourceManagerAddon::UpdateOverrideConfiguration(napi_env env, napi_callback_info info)
533 {
534 return AddonGetResource(env, info, "UpdateOverrideConfiguration", FunctionType::SYNC);
535 }
536 } // namespace Resource
537 } // namespace Global
538 } // namespace OHOS