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
napi_get_uv_event_loop(napi_env env,struct uv_loop_s ** loop)19 napi_status napi_get_uv_event_loop(napi_env env, struct uv_loop_s** loop)
20 {
21 if (OHOS::FileAccessFwk::Assistant::ins_ == nullptr) {
22 return napi_invalid_arg;
23 }
24 return OHOS::FileAccessFwk::Assistant::ins_->napi_get_uv_event_loop(env, loop);
25 }
26
napi_call_function(napi_env env,napi_value recv,napi_value func,size_t argc,const napi_value * argv,napi_value * result)27 napi_status napi_call_function(napi_env env, napi_value recv, napi_value func, size_t argc, const napi_value* argv,
28 napi_value* result)
29 {
30 if (OHOS::FileAccessFwk::Assistant::ins_ == nullptr) {
31 return napi_invalid_arg;
32 }
33 return OHOS::FileAccessFwk::Assistant::ins_->napi_call_function(env, recv, func, argc, argv, result);
34 }
35
napi_get_reference_value(napi_env env,napi_ref ref,napi_value * result)36 napi_status napi_get_reference_value(napi_env env, napi_ref ref, napi_value* result)
37 {
38 if (OHOS::FileAccessFwk::Assistant::ins_ == nullptr) {
39 return napi_invalid_arg;
40 }
41 return OHOS::FileAccessFwk::Assistant::ins_->napi_get_reference_value(env, ref, result);
42 }
43
napi_get_named_property(napi_env env,napi_value object,const char * utf8name,napi_value * result)44 napi_status napi_get_named_property(napi_env env, napi_value object, const char* utf8name, napi_value* result)
45 {
46 if (OHOS::FileAccessFwk::Assistant::ins_ == nullptr) {
47 return napi_invalid_arg;
48 }
49 return OHOS::FileAccessFwk::Assistant::ins_->napi_get_named_property(env, object, utf8name, result);
50 }
51
napi_get_value_int32(napi_env env,napi_value value,int32_t * result)52 napi_status napi_get_value_int32(napi_env env, napi_value value, int32_t* result)
53 {
54 if (OHOS::FileAccessFwk::Assistant::ins_ == nullptr) {
55 return napi_invalid_arg;
56 }
57 return OHOS::FileAccessFwk::Assistant::ins_->napi_get_value_int32(env, value, result);
58 }
59
napi_get_value_int64(napi_env env,napi_value value,int64_t * result)60 napi_status napi_get_value_int64(napi_env env, napi_value value, int64_t* result)
61 {
62 if (OHOS::FileAccessFwk::Assistant::ins_ == nullptr) {
63 return napi_invalid_arg;
64 }
65 return OHOS::FileAccessFwk::Assistant::ins_->napi_get_value_int64(env, value, result);
66 }
67
napi_create_string_utf8(napi_env env,const char * str,size_t length,napi_value * result)68 napi_status napi_create_string_utf8(napi_env env, const char* str, size_t length, napi_value* result)
69 {
70 if (OHOS::FileAccessFwk::Assistant::ins_ == nullptr) {
71 return napi_invalid_arg;
72 }
73 return OHOS::FileAccessFwk::Assistant::ins_->napi_create_string_utf8(env, str, length, result);
74 }
75
napi_create_int32(napi_env env,int32_t value,napi_value * result)76 napi_status napi_create_int32(napi_env env, int32_t value, napi_value* result)
77 {
78 if (OHOS::FileAccessFwk::Assistant::ins_ == nullptr) {
79 return napi_invalid_arg;
80 }
81 return OHOS::FileAccessFwk::Assistant::ins_->napi_create_int32(env, value, result);
82 }
83
napi_create_int64(napi_env env,int64_t value,napi_value * result)84 napi_status napi_create_int64(napi_env env, int64_t value, napi_value* result)
85 {
86 if (OHOS::FileAccessFwk::Assistant::ins_ == nullptr) {
87 return napi_invalid_arg;
88 }
89 return OHOS::FileAccessFwk::Assistant::ins_->napi_create_int64(env, value, result);
90 }
91
napi_get_value_string_utf8(napi_env env,napi_value value,char * buf,size_t bufsize,size_t * result)92 napi_status napi_get_value_string_utf8(napi_env env, napi_value value, char* buf, size_t bufsize, size_t* result)
93 {
94 if (OHOS::FileAccessFwk::Assistant::ins_ == nullptr) {
95 return napi_invalid_arg;
96 }
97 return OHOS::FileAccessFwk::Assistant::ins_->napi_get_value_string_utf8(env, value, buf, bufsize, result);
98 }
99
napi_get_boolean(napi_env env,bool value,napi_value * result)100 napi_status napi_get_boolean(napi_env env, bool value, napi_value* result)
101 {
102 if (OHOS::FileAccessFwk::Assistant::ins_ == nullptr) {
103 return napi_invalid_arg;
104 }
105 return OHOS::FileAccessFwk::Assistant::ins_->napi_get_boolean(env, value, result);
106 }
107
napi_create_array(napi_env env,napi_value * result)108 napi_status napi_create_array(napi_env env, napi_value* result)
109 {
110 if (OHOS::FileAccessFwk::Assistant::ins_ == nullptr) {
111 return napi_invalid_arg;
112 }
113 return OHOS::FileAccessFwk::Assistant::ins_->napi_create_array(env, result);
114 }
115
napi_get_array_length(napi_env env,napi_value value,uint32_t * result)116 napi_status napi_get_array_length(napi_env env, napi_value value, uint32_t* result)
117 {
118 if (OHOS::FileAccessFwk::Assistant::ins_ == nullptr) {
119 return napi_invalid_arg;
120 }
121 return OHOS::FileAccessFwk::Assistant::ins_->napi_get_array_length(env, value, result);
122 }
123
napi_get_element(napi_env env,napi_value object,uint32_t index,napi_value * result)124 napi_status napi_get_element(napi_env env, napi_value object, uint32_t index, napi_value* result)
125 {
126 if (OHOS::FileAccessFwk::Assistant::ins_ == nullptr) {
127 return napi_invalid_arg;
128 }
129 return OHOS::FileAccessFwk::Assistant::ins_->napi_get_element(env, object, index, result);
130 }
131
napi_escape_handle(napi_env env,napi_escapable_handle_scope scope,napi_value escapee,napi_value * result)132 napi_status napi_escape_handle(napi_env env, napi_escapable_handle_scope scope, napi_value escapee, napi_value* result)
133 {
134 if (OHOS::FileAccessFwk::Assistant::ins_ == nullptr) {
135 return napi_invalid_arg;
136 }
137 return OHOS::FileAccessFwk::Assistant::ins_->napi_escape_handle(env, scope, escapee, result);
138 }
139
napi_get_null(napi_env env,napi_value * result)140 napi_status napi_get_null(napi_env env, napi_value* result)
141 {
142 if (OHOS::FileAccessFwk::Assistant::ins_ == nullptr) {
143 return napi_invalid_arg;
144 }
145 return OHOS::FileAccessFwk::Assistant::ins_->napi_get_null(env, result);
146 }
147
napi_create_object(napi_env env,napi_value * result)148 napi_status napi_create_object(napi_env env, napi_value* result)
149 {
150 if (OHOS::FileAccessFwk::Assistant::ins_ == nullptr) {
151 return napi_invalid_arg;
152 }
153 return OHOS::FileAccessFwk::Assistant::ins_->napi_create_object(env, result);
154 }
155
napi_create_array_with_length(napi_env env,size_t length,napi_value * result)156 napi_status napi_create_array_with_length(napi_env env, size_t length, napi_value* result)
157 {
158 if (OHOS::FileAccessFwk::Assistant::ins_ == nullptr) {
159 return napi_invalid_arg;
160 }
161 return OHOS::FileAccessFwk::Assistant::ins_->napi_create_array_with_length(env, length, result);
162 }
163
napi_create_double(napi_env env,double value,napi_value * result)164 napi_status napi_create_double(napi_env env, double value, napi_value* result)
165 {
166 if (OHOS::FileAccessFwk::Assistant::ins_ == nullptr) {
167 return napi_invalid_arg;
168 }
169 return OHOS::FileAccessFwk::Assistant::ins_->napi_create_double(env, value, result);
170 }
171
napi_set_named_property(napi_env env,napi_value object,const char * utf8Name,napi_value value)172 napi_status napi_set_named_property(napi_env env, napi_value object, const char* utf8Name, napi_value value)
173 {
174 if (OHOS::FileAccessFwk::Assistant::ins_ == nullptr) {
175 return napi_invalid_arg;
176 }
177 return OHOS::FileAccessFwk::Assistant::ins_->napi_set_named_property(env, object, utf8Name, value);
178 }
179
napi_create_function(napi_env env,const char * utf8name,size_t length,napi_callback cb,void * data,napi_value * result)180 napi_status napi_create_function(napi_env env, const char* utf8name, size_t length, napi_callback cb, void* data,
181 napi_value* result)
182 {
183 if (OHOS::FileAccessFwk::Assistant::ins_ == nullptr) {
184 return napi_invalid_arg;
185 }
186 return OHOS::FileAccessFwk::Assistant::ins_->napi_create_function(env, utf8name, length, cb, data, result);
187 }
188
napi_get_cb_info(napi_env env,napi_callback_info cbinfo,size_t * argc,napi_value * argv,napi_value * thisArg,void ** data)189 napi_status napi_get_cb_info(napi_env env, napi_callback_info cbinfo, size_t* argc, napi_value* argv,
190 napi_value* thisArg, void** data)
191 {
192 if (OHOS::FileAccessFwk::Assistant::ins_ == nullptr) {
193 return napi_invalid_arg;
194 }
195 return OHOS::FileAccessFwk::Assistant::ins_->napi_get_cb_info(env, cbinfo, argc, argv, thisArg, data);
196 }
197
napi_get_undefined(napi_env env,napi_value * result)198 napi_status napi_get_undefined(napi_env env, napi_value* result)
199 {
200 if (OHOS::FileAccessFwk::Assistant::ins_ == nullptr) {
201 return napi_invalid_arg;
202 }
203 return OHOS::FileAccessFwk::Assistant::ins_->napi_get_undefined(env, result);
204 }
205
napi_get_value_bool(napi_env env,napi_value value,bool * result)206 napi_status napi_get_value_bool(napi_env env, napi_value value, bool* result)
207 {
208 if (OHOS::FileAccessFwk::Assistant::ins_ == nullptr) {
209 return napi_invalid_arg;
210 }
211 return OHOS::FileAccessFwk::Assistant::ins_->napi_get_value_bool(env, value, result);
212 }
213
napi_send_event(napi_env env,const std::function<void ()> & cb,napi_event_priority priority,const char * name)214 napi_status napi_send_event(napi_env env, const std::function<void()>& cb, napi_event_priority priority,
215 const char* name)
216 {
217 if (cb) {
218 cb();
219 }
220 if (OHOS::FileAccessFwk::Assistant::ins_ == nullptr) {
221 return napi_invalid_arg;
222 }
223 return OHOS::FileAccessFwk::Assistant::ins_->napi_send_event(env, cb, priority);
224 }