• Home
  • Raw
  • Download

Lines Matching +full:local +full:- +full:dir

3 #include "node_file-inl.h"
4 #include "node_process-inl.h"
5 #include "memory_tracker-inl.h"
37 using v8::Local;
97 DirHandle::DirHandle(Environment* env, Local<Object> obj, uv_dir_t* dir) in DirHandle() argument
99 dir_(dir) { in DirHandle()
102 dir_->nentries = 0; in DirHandle()
103 dir_->dirents = nullptr; in DirHandle()
106 DirHandle* DirHandle::New(Environment* env, uv_dir_t* dir) { in New() argument
107 Local<Object> obj; in New()
108 if (!env->dir_instance_template() in New()
109 ->NewInstance(env->context()) in New()
114 return new DirHandle(env, obj, dir); in New()
128 tracker->TrackFieldWithSize("dir", sizeof(*dir_)); in MemoryInfo()
151 env()->SetImmediate([detail](Environment* env) { in GCClose()
157 HandleScope handle_scope(env->isolate()); in GCClose()
158 env->ThrowUVException(detail.ret, "close", msg); in GCClose()
167 env()->SetImmediate([](Environment* env) { in GCClose()
177 req->fs_type, req_wrap, "result", static_cast<int>(req->result)) in AfterClose()
179 req_wrap->Resolve(Undefined(req_wrap->env()->isolate())); in AfterClose()
188 DirHandle* dir; in Close() local
189 ASSIGN_OR_RETURN_UNWRAP(&dir, args.Holder()); in Close()
191 dir->closing_ = false; in Close()
192 dir->closed_ = true; in Close()
198 uv_fs_closedir, dir->dir()); in Close()
204 dir->dir()); in Close()
214 Local<Value>* err_out) { in DirentListToArray()
215 MaybeStackBuffer<Local<Value>, 64> entries(num * 2); in DirentListToArray()
220 Local<Value> filename; in DirentListToArray()
221 Local<Value> error; in DirentListToArray()
223 if (!StringBytes::Encode(env->isolate(), in DirentListToArray()
233 entries[j++] = Integer::New(env->isolate(), ents[i].type); in DirentListToArray()
236 return Array::New(env->isolate(), entries.out(), j); in DirentListToArray()
243 req->fs_type, req_wrap, "result", static_cast<int>(req->result)) in AfterDirRead()
248 Environment* env = req_wrap->env(); in AfterDirRead()
249 Isolate* isolate = env->isolate(); in AfterDirRead()
251 if (req->result == 0) { in AfterDirRead()
253 Local<Value> done = Null(isolate); in AfterDirRead()
255 req_wrap->Resolve(done); in AfterDirRead()
259 uv_dir_t* dir = static_cast<uv_dir_t*>(req->ptr); in AfterDirRead() local
261 Local<Value> error; in AfterDirRead()
262 Local<Array> js_array; in AfterDirRead()
264 dir->dirents, in AfterDirRead()
265 static_cast<int>(req->result), in AfterDirRead()
266 req_wrap->encoding(), in AfterDirRead()
272 return req_wrap->Reject(error); in AfterDirRead()
276 req_wrap->Resolve(js_array); in AfterDirRead()
282 Isolate* isolate = env->isolate(); in Read()
289 DirHandle* dir; in Read() local
290 ASSIGN_OR_RETURN_UNWRAP(&dir, args.Holder()); in Read()
292 CHECK(args[1]->IsNumber()); in Read()
293 uint64_t buffer_size = static_cast<uint64_t>(args[1].As<Number>()->Value()); in Read()
295 if (buffer_size != dir->dirents_.size()) { in Read()
296 dir->dirents_.resize(buffer_size); in Read()
297 dir->dir_->nentries = buffer_size; in Read()
298 dir->dir_->dirents = dir->dirents_.data(); in Read()
302 if (req_wrap_async != nullptr) { // dir.read(encoding, bufferSize, req) in Read()
305 AfterDirRead, uv_fs_readdir, dir->dir()); in Read()
306 } else { // dir.read(encoding, bufferSize, undefined, ctx) in Read()
311 dir->dir()); in Read()
319 Local<Value> done = Null(isolate); in Read()
326 Local<Value> error; in Read()
327 Local<Array> js_array; in Read()
329 dir->dir()->dirents, in Read()
334 Local<Object> ctx = args[2].As<Object>(); in Read()
335 USE(ctx->Set(env->context(), env->error_string(), error)); in Read()
347 req->fs_type, req_wrap, "result", static_cast<int>(req->result)) in AfterOpenDir()
352 Environment* env = req_wrap->env(); in AfterOpenDir()
354 uv_dir_t* dir = static_cast<uv_dir_t*>(req->ptr); in AfterOpenDir() local
355 DirHandle* handle = DirHandle::New(env, dir); in AfterOpenDir()
357 req_wrap->Resolve(handle->object().As<Value>()); in AfterOpenDir()
362 Isolate* isolate = env->isolate(); in OpenDir()
390 uv_dir_t* dir = static_cast<uv_dir_t*>(req->ptr); in OpenDir() local
391 DirHandle* handle = DirHandle::New(env, dir); in OpenDir()
393 args.GetReturnValue().Set(handle->object().As<Value>()); in OpenDir()
397 void Initialize(Local<Object> target, in Initialize()
398 Local<Value> unused, in Initialize()
399 Local<Context> context, in Initialize()
402 Isolate* isolate = env->isolate(); in Initialize()
407 Local<FunctionTemplate> dir = NewFunctionTemplate(isolate, DirHandle::New); in Initialize() local
408 dir->Inherit(AsyncWrap::GetConstructorTemplate(env)); in Initialize()
409 SetProtoMethod(isolate, dir, "read", DirHandle::Read); in Initialize()
410 SetProtoMethod(isolate, dir, "close", DirHandle::Close); in Initialize()
411 Local<ObjectTemplate> dirt = dir->InstanceTemplate(); in Initialize()
412 dirt->SetInternalFieldCount(DirHandle::kInternalFieldCount); in Initialize()
413 SetConstructorFunction(context, target, "DirHandle", dir); in Initialize()
414 env->set_dir_instance_template(dirt); in Initialize()
418 registry->Register(OpenDir); in RegisterExternalReferences()
419 registry->Register(DirHandle::New); in RegisterExternalReferences()
420 registry->Register(DirHandle::Read); in RegisterExternalReferences()
421 registry->Register(DirHandle::Close); in RegisterExternalReferences()