| // 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 '../chroot.dart'; | |
| class _ChrootLink extends _ChrootFileSystemEntity<Link, io.Link> | |
| with ForwardingLink { | |
| _ChrootLink(super.fs, super.path); | |
| factory _ChrootLink.wrapped( | |
| ChrootFileSystem fs, | |
| io.Link delegate, { | |
| bool relative = false, | |
| }) { | |
| var localPath = fs._local(delegate.path, relative: relative); | |
| return _ChrootLink(fs, localPath); | |
| } | |
| @override | |
| Future<bool> exists() => delegate.exists(); | |
| @override | |
| bool existsSync() => delegate.existsSync(); | |
| @override | |
| Future<Link> rename(String newPath) async { | |
| return wrap(await delegate.rename(fileSystem._real(newPath))); | |
| } | |
| @override | |
| Link renameSync(String newPath) { | |
| return wrap(delegate.renameSync(fileSystem._real(newPath))); | |
| } | |
| @override | |
| FileSystemEntityType get expectedType => FileSystemEntityType.link; | |
| @override | |
| io.Link _rawDelegate(String path) => fileSystem.delegate.link(path); | |
| @override | |
| Link get absolute => _ChrootLink(fileSystem, _absolutePath); | |
| @override | |
| String toString() => "ChrootLink: '$path'"; | |
| } |