1 /*
2  * Copyright (c) 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 #include "assistant.h"
17 #include "uv.h"
18 
uv_queue_work(uv_loop_t * loop,uv_work_t * req,uv_work_cb work_cb,uv_after_work_cb after_work_cb)19 int uv_queue_work(uv_loop_t* loop, uv_work_t* req, uv_work_cb work_cb, uv_after_work_cb after_work_cb)
20 {
21     if (work_cb) {
22         work_cb(req);
23     }
24     if (after_work_cb) {
25         after_work_cb(req, 0);
26     }
27     return OHOS::FileAccessFwk::Assistant::ins_->uv_queue_work(loop, req, work_cb, after_work_cb);
28 }
29 
napi_get_uv_event_loop(napi_env env,struct uv_loop_s ** loop)30 napi_status napi_get_uv_event_loop(napi_env env, struct uv_loop_s** loop)
31 {
32     return OHOS::FileAccessFwk::Assistant::ins_->napi_get_uv_event_loop(env, loop);
33 }
34 
napi_call_function(napi_env env,napi_value recv,napi_value func,size_t argc,const napi_value * argv,napi_value * result)35 napi_status napi_call_function(napi_env env, napi_value recv, napi_value func, size_t argc, const napi_value* argv,
36     napi_value* result)
37 {
38     return OHOS::FileAccessFwk::Assistant::ins_->napi_call_function(env, recv, func, argc, argv, result);
39 }
40 
napi_get_reference_value(napi_env env,napi_ref ref,napi_value * result)41 napi_status napi_get_reference_value(napi_env env, napi_ref ref, napi_value* result)
42 {
43     return OHOS::FileAccessFwk::Assistant::ins_->napi_get_reference_value(env, ref, result);
44 }
45 
napi_get_named_property(napi_env env,napi_value object,const char * utf8name,napi_value * result)46 napi_status napi_get_named_property(napi_env env, napi_value object, const char* utf8name, napi_value* result)
47 {
48     return OHOS::FileAccessFwk::Assistant::ins_->napi_get_named_property(env, object, utf8name, result);
49 }
50 
napi_get_value_int32(napi_env env,napi_value value,int32_t * result)51 napi_status napi_get_value_int32(napi_env env, napi_value value, int32_t* result)
52 {
53     return OHOS::FileAccessFwk::Assistant::ins_->napi_get_value_int32(env, value, result);
54 }
55 
napi_get_value_int64(napi_env env,napi_value value,int64_t * result)56 napi_status napi_get_value_int64(napi_env env, napi_value value, int64_t* result)
57 {
58     return OHOS::FileAccessFwk::Assistant::ins_->napi_get_value_int64(env, value, result);
59 }
60 
napi_create_string_utf8(napi_env env,const char * str,size_t length,napi_value * result)61 napi_status napi_create_string_utf8(napi_env env, const char* str, size_t length, napi_value* result)
62 {
63     return OHOS::FileAccessFwk::Assistant::ins_->napi_create_string_utf8(env, str, length, result);
64 }
65 
napi_create_int32(napi_env env,int32_t value,napi_value * result)66 napi_status napi_create_int32(napi_env env, int32_t value, napi_value* result)
67 {
68     return OHOS::FileAccessFwk::Assistant::ins_->napi_create_int32(env, value, result);
69 }
70 
napi_create_int64(napi_env env,int64_t value,napi_value * result)71 napi_status napi_create_int64(napi_env env, int64_t value, napi_value* result)
72 {
73     return OHOS::FileAccessFwk::Assistant::ins_->napi_create_int64(env, value, result);
74 }
75 
napi_get_value_string_utf8(napi_env env,napi_value value,char * buf,size_t bufsize,size_t * result)76 napi_status napi_get_value_string_utf8(napi_env env, napi_value value, char* buf, size_t bufsize, size_t* result)
77 {
78     return OHOS::FileAccessFwk::Assistant::ins_->napi_get_value_string_utf8(env, value, buf, bufsize, result);
79 }
80 
napi_get_boolean(napi_env env,bool value,napi_value * result)81 napi_status napi_get_boolean(napi_env env, bool value, napi_value* result)
82 {
83     return OHOS::FileAccessFwk::Assistant::ins_->napi_get_boolean(env, value, result);
84 }
85 
napi_create_array(napi_env env,napi_value * result)86 napi_status napi_create_array(napi_env env, napi_value* result)
87 {
88     return OHOS::FileAccessFwk::Assistant::ins_->napi_create_array(env, result);
89 }
90 
napi_get_array_length(napi_env env,napi_value value,uint32_t * result)91 napi_status napi_get_array_length(napi_env env, napi_value value, uint32_t* result)
92 {
93     return OHOS::FileAccessFwk::Assistant::ins_->napi_get_array_length(env, value, result);
94 }
95 
napi_get_element(napi_env env,napi_value object,uint32_t index,napi_value * result)96 napi_status napi_get_element(napi_env env, napi_value object, uint32_t index, napi_value* result)
97 {
98     return OHOS::FileAccessFwk::Assistant::ins_->napi_get_element(env, object, index, result);
99 }
100 
napi_escape_handle(napi_env env,napi_escapable_handle_scope scope,napi_value escapee,napi_value * result)101 napi_status napi_escape_handle(napi_env env, napi_escapable_handle_scope scope, napi_value escapee, napi_value* result)
102 {
103     return OHOS::FileAccessFwk::Assistant::ins_->napi_escape_handle(env, scope, escapee, result);
104 }
105 
napi_get_null(napi_env env,napi_value * result)106 napi_status napi_get_null(napi_env env, napi_value* result)
107 {
108     return OHOS::FileAccessFwk::Assistant::ins_->napi_get_null(env, result);
109 }
110 
napi_create_object(napi_env env,napi_value * result)111 napi_status napi_create_object(napi_env env, napi_value* result)
112 {
113     return OHOS::FileAccessFwk::Assistant::ins_->napi_create_object(env, result);
114 }
115 
napi_create_array_with_length(napi_env env,size_t length,napi_value * result)116 napi_status napi_create_array_with_length(napi_env env, size_t length, napi_value* result)
117 {
118     return OHOS::FileAccessFwk::Assistant::ins_->napi_create_array_with_length(env, length, result);
119 }
120 
napi_create_double(napi_env env,double value,napi_value * result)121 napi_status napi_create_double(napi_env env, double value, napi_value* result)
122 {
123     return OHOS::FileAccessFwk::Assistant::ins_->napi_create_double(env, value, result);
124 }
125 
napi_set_named_property(napi_env env,napi_value object,const char * utf8Name,napi_value value)126 napi_status napi_set_named_property(napi_env env, napi_value object, const char* utf8Name, napi_value value)
127 {
128     return OHOS::FileAccessFwk::Assistant::ins_->napi_set_named_property(env, object, utf8Name, value);
129 }
130 
napi_create_function(napi_env env,const char * utf8name,size_t length,napi_callback cb,void * data,napi_value * result)131 napi_status napi_create_function(napi_env env, const char* utf8name, size_t length, napi_callback cb, void* data,
132     napi_value* result)
133 {
134     return OHOS::FileAccessFwk::Assistant::ins_->napi_create_function(env, utf8name, length, cb, data, result);
135 }
136 
napi_get_cb_info(napi_env env,napi_callback_info cbinfo,size_t * argc,napi_value * argv,napi_value * thisArg,void ** data)137 napi_status napi_get_cb_info(napi_env env, napi_callback_info cbinfo, size_t* argc, napi_value* argv,
138     napi_value* thisArg, void** data)
139 {
140     return OHOS::FileAccessFwk::Assistant::ins_->napi_get_cb_info(env, cbinfo, argc, argv, thisArg, data);
141 }
142 
napi_get_undefined(napi_env env,napi_value * result)143 napi_status napi_get_undefined(napi_env env, napi_value* result)
144 {
145     return OHOS::FileAccessFwk::Assistant::ins_->napi_get_undefined(env, result);
146 }
147 
napi_get_value_bool(napi_env env,napi_value value,bool * result)148 napi_status napi_get_value_bool(napi_env env, napi_value value, bool* result)
149 {
150     return OHOS::FileAccessFwk::Assistant::ins_->napi_get_value_bool(env, value, result);
151 }