blob: 99b6add45fe1caa4ce0b743a50dd977db3178833 [file] [log] [blame] [edit]
// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
part of "dart:io";
// Each Isolate may run in a different "namespace", which provides the scope in
// which file paths are resolved.
abstract class _Namespace {
// This getter does not increase the reference count on the underlying native
// object. It cannot be passed in a dispatch message to the IOService thread.
external static _Namespace get _namespace;
// This getter does increase the reference count on the underlying native
// object. It must be passed in a dispatch message to the IOService thread.
external static int get _namespacePointer;
// This sets up the Isolate's namespace. It should be set up by the embedder.
// If it is not set up by the embedder, relative paths will be resolved
// relative to the process's current working directory and absolute paths will
// be left relative to the file system root.
@pragma("vm:entry-point")
external static void _setupNamespace(var namespace);
}