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