8db489cb10
Change-Id: Ie84529ef3d41d55c29c9a4bf2c84a69e3dbcaa0f Reviewed-on: https://dart-review.googlesource.com/c/93429 Auto-Submit: Samir Jindel <sjindel@google.com> Reviewed-by: Alexander Markov <alexmarkov@google.com> Commit-Queue: Samir Jindel <sjindel@google.com>
72 lines
2.3 KiB
Dart
72 lines
2.3 KiB
Dart
// Copyright (c) 2012, 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 "common_patch.dart";
|
|
|
|
@patch
|
|
class _Directory {
|
|
@patch
|
|
static _current(_Namespace namespace) native "Directory_Current";
|
|
@patch
|
|
static _setCurrent(_Namespace namespace, Uint8List rawPath)
|
|
native "Directory_SetCurrent";
|
|
@patch
|
|
static _createTemp(_Namespace namespace, Uint8List rawPath)
|
|
native "Directory_CreateTemp";
|
|
@patch
|
|
static String _systemTemp(_Namespace namespace) native "Directory_SystemTemp";
|
|
@patch
|
|
static _exists(_Namespace namespace, Uint8List rawPath)
|
|
native "Directory_Exists";
|
|
@patch
|
|
static _create(_Namespace namespace, Uint8List rawPath)
|
|
native "Directory_Create";
|
|
@patch
|
|
static _deleteNative(_Namespace namespace, Uint8List rawPath, bool recursive)
|
|
native "Directory_Delete";
|
|
@patch
|
|
static _rename(_Namespace namespace, Uint8List rawPath, String newPath)
|
|
native "Directory_Rename";
|
|
@patch
|
|
static void _fillWithDirectoryListing(
|
|
_Namespace namespace,
|
|
List<FileSystemEntity> list,
|
|
Uint8List rawPath,
|
|
bool recursive,
|
|
bool followLinks) native "Directory_FillWithDirectoryListing";
|
|
}
|
|
|
|
@patch
|
|
class _AsyncDirectoryListerOps {
|
|
@patch
|
|
factory _AsyncDirectoryListerOps(int pointer) =>
|
|
new _AsyncDirectoryListerOpsImpl(pointer);
|
|
}
|
|
|
|
class _AsyncDirectoryListerOpsImpl extends NativeFieldWrapperClass1
|
|
implements _AsyncDirectoryListerOps {
|
|
_AsyncDirectoryListerOpsImpl._();
|
|
|
|
factory _AsyncDirectoryListerOpsImpl(int pointer) =>
|
|
new _AsyncDirectoryListerOpsImpl._().._setPointer(pointer);
|
|
|
|
void _setPointer(int pointer)
|
|
native "Directory_SetAsyncDirectoryListerPointer";
|
|
int getPointer() native "Directory_GetAsyncDirectoryListerPointer";
|
|
}
|
|
|
|
// Corelib 'Uri.base' implementation.
|
|
// Uri.base is susceptible to changes in the current working directory.
|
|
Uri _uriBaseClosure() {
|
|
var result = _Directory._current(_Namespace._namespace);
|
|
if (result is OSError) {
|
|
throw new FileSystemException(
|
|
"Getting current working directory failed", "", result);
|
|
}
|
|
return new Uri.directory(result);
|
|
}
|
|
|
|
@pragma("vm:entry-point", "call")
|
|
_getUriBaseClosure() => _uriBaseClosure;
|