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 DECLARE_NAPI_FUNCTION("getIntPluralStringValueSync", GetIntPluralStringValueSync),
184 DECLARE_NAPI_FUNCTION("getDoublePluralStringValueSync", GetDoublePluralStringValueSync),
185 DECLARE_NAPI_FUNCTION("getIntPluralStringByNameSync", GetIntPluralStringByNameSync),
186 DECLARE_NAPI_FUNCTION("getDoublePluralStringByNameSync", GetDoublePluralStringByNameSync)
187 };
188
Init(napi_env env)189 bool ResourceManagerAddon::Init(napi_env env)
190 {
191 if (g_constructor != nullptr) {
192 return true;
193 }
194
195 napi_value constructor;
196 napi_status status = napi_define_class(env, "ResourceManager", NAPI_AUTO_LENGTH, New, nullptr,
197 sizeof(properties) / sizeof(napi_property_descriptor), properties, &constructor);
198 if (status != napi_ok) {
199 RESMGR_HILOGE(RESMGR_JS_TAG, "Failed to define class at Init");
200 return false;
201 }
202
203 status = napi_create_reference(env, constructor, 1, &g_constructor);
204 if (status != napi_ok) {
205 RESMGR_HILOGE(RESMGR_JS_TAG, "Failed to create reference at init");
206 return false;
207 }
208 napi_add_env_cleanup_hook(env, [](void *data) { g_constructor = nullptr; }, g_constructor);
209 return true;
210 }
211
New(napi_env env,napi_callback_info info)212 napi_value ResourceManagerAddon::New(napi_env env, napi_callback_info info)
213 {
214 GET_PARAMS(env, info, 1);
215
216 napi_value target = nullptr;
217 napi_get_new_target(env, info, &target);
218 if (target != nullptr) {
219 return thisVar;
220 }
221
222 return nullptr;
223 }
224
Release(napi_env env,napi_callback_info info)225 napi_value ResourceManagerAddon::Release(napi_env env, napi_callback_info info)
226 {
227 napi_value undefined;
228 if (napi_get_undefined(env, &undefined) != napi_ok) {
229 return nullptr;
230 }
231 return undefined;
232 }
233
AddonGetResource(napi_env env,napi_callback_info info,const std::string & name,FunctionType type)234 napi_value ResourceManagerAddon::AddonGetResource(napi_env env, napi_callback_info info, const std::string& name,
235 FunctionType type)
236 {
237 auto addon = ResMgrDataContext::GetResourceManagerAddon(env, info);
238 if (addon == nullptr) {
239 return nullptr;
240 }
241 return addon->napiContext_->ContextGetResource(env, info, name, type);
242 }
243
244 /*====================================Here is the asynchronization function==================================*/
GetString(napi_env env,napi_callback_info info)245 napi_value ResourceManagerAddon::GetString(napi_env env, napi_callback_info info)
246 {
247 return AddonGetResource(env, info, "GetString", FunctionType::ASYNC);
248 }
249
GetStringArray(napi_env env,napi_callback_info info)250 napi_value ResourceManagerAddon::GetStringArray(napi_env env, napi_callback_info info)
251 {
252 return AddonGetResource(env, info, "GetStringArray", FunctionType::ASYNC);
253 }
254
GetMedia(napi_env env,napi_callback_info info)255 napi_value ResourceManagerAddon::GetMedia(napi_env env, napi_callback_info info)
256 {
257 return AddonGetResource(env, info, "GetMedia", FunctionType::ASYNC);
258 }
259
GetMediaBase64(napi_env env,napi_callback_info info)260 napi_value ResourceManagerAddon::GetMediaBase64(napi_env env, napi_callback_info info)
261 {
262 return AddonGetResource(env, info, "GetMediaBase64", FunctionType::ASYNC);
263 }
264
GetConfiguration(napi_env env,napi_callback_info info)265 napi_value ResourceManagerAddon::GetConfiguration(napi_env env, napi_callback_info info)
266 {
267 return AddonGetResource(env, info, "GetConfiguration", FunctionType::ASYNC);
268 }
269
GetDeviceCapability(napi_env env,napi_callback_info info)270 napi_value ResourceManagerAddon::GetDeviceCapability(napi_env env, napi_callback_info info)
271 {
272 return AddonGetResource(env, info, "GetDeviceCapability", FunctionType::ASYNC);
273 }
274
GetPluralString(napi_env env,napi_callback_info info)275 napi_value ResourceManagerAddon::GetPluralString(napi_env env, napi_callback_info info)
276 {
277 return AddonGetResource(env, info, "GetPluralString", FunctionType::ASYNC);
278 }
279
GetRawFile(napi_env env,napi_callback_info info)280 napi_value ResourceManagerAddon::GetRawFile(napi_env env, napi_callback_info info)
281 {
282 return AddonGetResource(env, info, "GetRawFile", FunctionType::ASYNC);
283 }
284
GetRawFileDescriptor(napi_env env,napi_callback_info info)285 napi_value ResourceManagerAddon::GetRawFileDescriptor(napi_env env, napi_callback_info info)
286 {
287 return AddonGetResource(env, info, "GetRawFileDescriptor", FunctionType::ASYNC);
288 }
289
CloseRawFileDescriptor(napi_env env,napi_callback_info info)290 napi_value ResourceManagerAddon::CloseRawFileDescriptor(napi_env env, napi_callback_info info)
291 {
292 return AddonGetResource(env, info, "CloseRawFileDescriptor", FunctionType::ASYNC);
293 }
294
GetPluralStringByName(napi_env env,napi_callback_info info)295 napi_value ResourceManagerAddon::GetPluralStringByName(napi_env env, napi_callback_info info)
296 {
297 return AddonGetResource(env, info, "GetPluralStringByName", FunctionType::ASYNC);
298 }
299
GetMediaBase64ByName(napi_env env,napi_callback_info info)300 napi_value ResourceManagerAddon::GetMediaBase64ByName(napi_env env, napi_callback_info info)
301 {
302 return AddonGetResource(env, info, "GetMediaBase64ByName", FunctionType::ASYNC);
303 }
304
GetMediaByName(napi_env env,napi_callback_info info)305 napi_value ResourceManagerAddon::GetMediaByName(napi_env env, napi_callback_info info)
306 {
307 return AddonGetResource(env, info, "GetMediaByName", FunctionType::ASYNC);
308 }
309
GetStringArrayByName(napi_env env,napi_callback_info info)310 napi_value ResourceManagerAddon::GetStringArrayByName(napi_env env, napi_callback_info info)
311 {
312 return AddonGetResource(env, info, "GetStringArrayByName", FunctionType::ASYNC);
313 }
314
GetStringByName(napi_env env,napi_callback_info info)315 napi_value ResourceManagerAddon::GetStringByName(napi_env env, napi_callback_info info)
316 {
317 return AddonGetResource(env, info, "GetStringByName", FunctionType::ASYNC);
318 }
319
GetStringValue(napi_env env,napi_callback_info info)320 napi_value ResourceManagerAddon::GetStringValue(napi_env env, napi_callback_info info)
321 {
322 return AddonGetResource(env, info, "GetStringValue", FunctionType::ASYNC);
323 }
324
GetStringArrayValue(napi_env env,napi_callback_info info)325 napi_value ResourceManagerAddon::GetStringArrayValue(napi_env env, napi_callback_info info)
326 {
327 return AddonGetResource(env, info, "GetStringArrayValue", FunctionType::ASYNC);
328 }
329
GetMediaContent(napi_env env,napi_callback_info info)330 napi_value ResourceManagerAddon::GetMediaContent(napi_env env, napi_callback_info info)
331 {
332 return AddonGetResource(env, info, "GetMediaContent", FunctionType::ASYNC);
333 }
334
GetMediaContentBase64(napi_env env,napi_callback_info info)335 napi_value ResourceManagerAddon::GetMediaContentBase64(napi_env env, napi_callback_info info)
336 {
337 return AddonGetResource(env, info, "GetMediaContentBase64", FunctionType::ASYNC);
338 }
339
GetPluralStringValue(napi_env env,napi_callback_info info)340 napi_value ResourceManagerAddon::GetPluralStringValue(napi_env env, napi_callback_info info)
341 {
342 return AddonGetResource(env, info, "GetPluralStringValue", FunctionType::ASYNC);
343 }
344
GetRawFileContent(napi_env env,napi_callback_info info)345 napi_value ResourceManagerAddon::GetRawFileContent(napi_env env, napi_callback_info info)
346 {
347 return AddonGetResource(env, info, "GetRawFileContent", FunctionType::ASYNC);
348 }
349
GetRawFd(napi_env env,napi_callback_info info)350 napi_value ResourceManagerAddon::GetRawFd(napi_env env, napi_callback_info info)
351 {
352 return AddonGetResource(env, info, "GetRawFd", FunctionType::ASYNC);
353 }
354
CloseRawFd(napi_env env,napi_callback_info info)355 napi_value ResourceManagerAddon::CloseRawFd(napi_env env, napi_callback_info info)
356 {
357 return AddonGetResource(env, info, "CloseRawFd", FunctionType::ASYNC);
358 }
359
GetRawFileList(napi_env env,napi_callback_info info)360 napi_value ResourceManagerAddon::GetRawFileList(napi_env env, napi_callback_info info)
361 {
362 return AddonGetResource(env, info, "GetRawFileList", FunctionType::ASYNC);
363 }
364
GetColor(napi_env env,napi_callback_info info)365 napi_value ResourceManagerAddon::GetColor(napi_env env, napi_callback_info info)
366 {
367 return AddonGetResource(env, info, "GetColor", FunctionType::ASYNC);
368 }
369
GetColorByName(napi_env env,napi_callback_info info)370 napi_value ResourceManagerAddon::GetColorByName(napi_env env, napi_callback_info info)
371 {
372 return AddonGetResource(env, info, "GetColorByName", FunctionType::ASYNC);
373 }
374
375 /*====================================Here is the synchronization function===================================*/
GetStringSync(napi_env env,napi_callback_info info)376 napi_value ResourceManagerAddon::GetStringSync(napi_env env, napi_callback_info info)
377 {
378 return AddonGetResource(env, info, "GetStringSync", FunctionType::SYNC);
379 }
380
GetStringByNameSync(napi_env env,napi_callback_info info)381 napi_value ResourceManagerAddon::GetStringByNameSync(napi_env env, napi_callback_info info)
382 {
383 return AddonGetResource(env, info, "GetStringByNameSync", FunctionType::SYNC);
384 }
385
GetBoolean(napi_env env,napi_callback_info info)386 napi_value ResourceManagerAddon::GetBoolean(napi_env env, napi_callback_info info)
387 {
388 return AddonGetResource(env, info, "GetBoolean", FunctionType::SYNC);
389 }
390
GetNumber(napi_env env,napi_callback_info info)391 napi_value ResourceManagerAddon::GetNumber(napi_env env, napi_callback_info info)
392 {
393 return AddonGetResource(env, info, "GetNumber", FunctionType::SYNC);
394 }
395
GetNumberByName(napi_env env,napi_callback_info info)396 napi_value ResourceManagerAddon::GetNumberByName(napi_env env, napi_callback_info info)
397 {
398 return AddonGetResource(env, info, "GetNumberByName", FunctionType::SYNC);
399 }
400
GetBooleanByName(napi_env env,napi_callback_info info)401 napi_value ResourceManagerAddon::GetBooleanByName(napi_env env, napi_callback_info info)
402 {
403 return AddonGetResource(env, info, "GetBooleanByName", FunctionType::SYNC);
404 }
405
GetDrawableDescriptor(napi_env env,napi_callback_info info)406 napi_value ResourceManagerAddon::GetDrawableDescriptor(napi_env env, napi_callback_info info)
407 {
408 return AddonGetResource(env, info, "GetDrawableDescriptor", FunctionType::SYNC);
409 }
410
GetDrawableDescriptorByName(napi_env env,napi_callback_info info)411 napi_value ResourceManagerAddon::GetDrawableDescriptorByName(napi_env env, napi_callback_info info)
412 {
413 return AddonGetResource(env, info, "GetDrawableDescriptorByName", FunctionType::SYNC);
414 }
415
GetColorSync(napi_env env,napi_callback_info info)416 napi_value ResourceManagerAddon::GetColorSync(napi_env env, napi_callback_info info)
417 {
418 return AddonGetResource(env, info, "GetColorSync", FunctionType::SYNC);
419 }
420
GetColorByNameSync(napi_env env,napi_callback_info info)421 napi_value ResourceManagerAddon::GetColorByNameSync(napi_env env, napi_callback_info info)
422 {
423 return AddonGetResource(env, info, "GetColorByNameSync", FunctionType::SYNC);
424 }
425
AddResource(napi_env env,napi_callback_info info)426 napi_value ResourceManagerAddon::AddResource(napi_env env, napi_callback_info info)
427 {
428 return AddonGetResource(env, info, "AddResource", FunctionType::SYNC);
429 }
430
RemoveResource(napi_env env,napi_callback_info info)431 napi_value ResourceManagerAddon::RemoveResource(napi_env env, napi_callback_info info)
432 {
433 return AddonGetResource(env, info, "RemoveResource", FunctionType::SYNC);
434 }
435
GetMediaContentBase64Sync(napi_env env,napi_callback_info info)436 napi_value ResourceManagerAddon::GetMediaContentBase64Sync(napi_env env, napi_callback_info info)
437 {
438 return AddonGetResource(env, info, "GetMediaContentBase64Sync", FunctionType::SYNC);
439 }
440
GetMediaContentSync(napi_env env,napi_callback_info info)441 napi_value ResourceManagerAddon::GetMediaContentSync(napi_env env, napi_callback_info info)
442 {
443 return AddonGetResource(env, info, "GetMediaContentSync", FunctionType::SYNC);
444 }
445
GetPluralStringValueSync(napi_env env,napi_callback_info info)446 napi_value ResourceManagerAddon::GetPluralStringValueSync(napi_env env, napi_callback_info info)
447 {
448 return AddonGetResource(env, info, "GetPluralStringValueSync", FunctionType::SYNC);
449 }
450
GetStringArrayValueSync(napi_env env,napi_callback_info info)451 napi_value ResourceManagerAddon::GetStringArrayValueSync(napi_env env, napi_callback_info info)
452 {
453 return AddonGetResource(env, info, "GetStringArrayValueSync", FunctionType::SYNC);
454 }
455
GetRawFileContentSync(napi_env env,napi_callback_info info)456 napi_value ResourceManagerAddon::GetRawFileContentSync(napi_env env, napi_callback_info info)
457 {
458 return AddonGetResource(env, info, "GetRawFileContentSync", FunctionType::SYNC);
459 }
460
GetRawFdSync(napi_env env,napi_callback_info info)461 napi_value ResourceManagerAddon::GetRawFdSync(napi_env env, napi_callback_info info)
462 {
463 return AddonGetResource(env, info, "GetRawFdSync", FunctionType::SYNC);
464 }
465
CloseRawFdSync(napi_env env,napi_callback_info info)466 napi_value ResourceManagerAddon::CloseRawFdSync(napi_env env, napi_callback_info info)
467 {
468 return AddonGetResource(env, info, "CloseRawFdSync", FunctionType::SYNC);
469 }
470
GetRawFileListSync(napi_env env,napi_callback_info info)471 napi_value ResourceManagerAddon::GetRawFileListSync(napi_env env, napi_callback_info info)
472 {
473 return AddonGetResource(env, info, "GetRawFileListSync", FunctionType::SYNC);
474 }
475
GetPluralStringByNameSync(napi_env env,napi_callback_info info)476 napi_value ResourceManagerAddon::GetPluralStringByNameSync(napi_env env, napi_callback_info info)
477 {
478 return AddonGetResource(env, info, "GetPluralStringByNameSync", FunctionType::SYNC);
479 }
480
GetMediaBase64ByNameSync(napi_env env,napi_callback_info info)481 napi_value ResourceManagerAddon::GetMediaBase64ByNameSync(napi_env env, napi_callback_info info)
482 {
483 return AddonGetResource(env, info, "GetMediaBase64ByNameSync", FunctionType::SYNC);
484 }
485
GetMediaByNameSync(napi_env env,napi_callback_info info)486 napi_value ResourceManagerAddon::GetMediaByNameSync(napi_env env, napi_callback_info info)
487 {
488 return AddonGetResource(env, info, "GetMediaByNameSync", FunctionType::SYNC);
489 }
490
GetStringArrayByNameSync(napi_env env,napi_callback_info info)491 napi_value ResourceManagerAddon::GetStringArrayByNameSync(napi_env env, napi_callback_info info)
492 {
493 return AddonGetResource(env, info, "GetStringArrayByNameSync", FunctionType::SYNC);
494 }
495
GetConfigurationSync(napi_env env,napi_callback_info info)496 napi_value ResourceManagerAddon::GetConfigurationSync(napi_env env, napi_callback_info info)
497 {
498 return AddonGetResource(env, info, "GetConfigurationSync", FunctionType::SYNC);
499 }
500
GetDeviceCapabilitySync(napi_env env,napi_callback_info info)501 napi_value ResourceManagerAddon::GetDeviceCapabilitySync(napi_env env, napi_callback_info info)
502 {
503 return AddonGetResource(env, info, "GetDeviceCapabilitySync", FunctionType::SYNC);
504 }
505
GetLocales(napi_env env,napi_callback_info info)506 napi_value ResourceManagerAddon::GetLocales(napi_env env, napi_callback_info info)
507 {
508 return AddonGetResource(env, info, "GetLocales", FunctionType::SYNC);
509 }
510
GetSymbol(napi_env env,napi_callback_info info)511 napi_value ResourceManagerAddon::GetSymbol(napi_env env, napi_callback_info info)
512 {
513 return AddonGetResource(env, info, "GetSymbol", FunctionType::SYNC);
514 }
515
GetSymbolByName(napi_env env,napi_callback_info info)516 napi_value ResourceManagerAddon::GetSymbolByName(napi_env env, napi_callback_info info)
517 {
518 return AddonGetResource(env, info, "GetSymbolByName", FunctionType::SYNC);
519 }
520
IsRawDir(napi_env env,napi_callback_info info)521 napi_value ResourceManagerAddon::IsRawDir(napi_env env, napi_callback_info info)
522 {
523 return AddonGetResource(env, info, "IsRawDir", FunctionType::SYNC);
524 }
525
GetOverrideResourceManager(napi_env env,napi_callback_info info)526 napi_value ResourceManagerAddon::GetOverrideResourceManager(napi_env env, napi_callback_info info)
527 {
528 return AddonGetResource(env, info, "GetOverrideResourceManager", FunctionType::SYNC);
529 }
530
GetOverrideConfiguration(napi_env env,napi_callback_info info)531 napi_value ResourceManagerAddon::GetOverrideConfiguration(napi_env env, napi_callback_info info)
532 {
533 return AddonGetResource(env, info, "GetOverrideConfiguration", FunctionType::SYNC);
534 }
535
UpdateOverrideConfiguration(napi_env env,napi_callback_info info)536 napi_value ResourceManagerAddon::UpdateOverrideConfiguration(napi_env env, napi_callback_info info)
537 {
538 return AddonGetResource(env, info, "UpdateOverrideConfiguration", FunctionType::SYNC);
539 }
540
GetIntPluralStringValueSync(napi_env env,napi_callback_info info)541 napi_value ResourceManagerAddon::GetIntPluralStringValueSync(napi_env env, napi_callback_info info)
542 {
543 return AddonGetResource(env, info, "GetIntPluralStringValueSync", FunctionType::SYNC);
544 }
545
GetDoublePluralStringValueSync(napi_env env,napi_callback_info info)546 napi_value ResourceManagerAddon::GetDoublePluralStringValueSync(napi_env env, napi_callback_info info)
547 {
548 return AddonGetResource(env, info, "GetDoublePluralStringValueSync", FunctionType::SYNC);
549 }
550
GetIntPluralStringByNameSync(napi_env env,napi_callback_info info)551 napi_value ResourceManagerAddon::GetIntPluralStringByNameSync(napi_env env, napi_callback_info info)
552 {
553 return AddonGetResource(env, info, "GetIntPluralStringByNameSync", FunctionType::SYNC);
554 }
555
GetDoublePluralStringByNameSync(napi_env env,napi_callback_info info)556 napi_value ResourceManagerAddon::GetDoublePluralStringByNameSync(napi_env env, napi_callback_info info)
557 {
558 return AddonGetResource(env, info, "GetDoublePluralStringByNameSync", FunctionType::SYNC);
559 }
560 } // namespace Resource
561 } // namespace Global
562 } // namespace OHOS