OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 part of dart.io; | 5 part of dart.io; |
6 | 6 |
7 class _Directory extends FileSystemEntity implements Directory { | 7 class _Directory extends FileSystemEntity implements Directory { |
8 final String path; | 8 final String path; |
9 | 9 |
10 _Directory(this.path) { | 10 _Directory(this.path) { |
(...skipping 26 matching lines...) Expand all Loading... |
37 if (path is Directory) path = path.path; | 37 if (path is Directory) path = path.path; |
38 var result = _setCurrent(path); | 38 var result = _setCurrent(path); |
39 if (result is ArgumentError) throw result; | 39 if (result is ArgumentError) throw result; |
40 if (result is OSError) { | 40 if (result is OSError) { |
41 throw new FileSystemException( | 41 throw new FileSystemException( |
42 "Setting current working directory failed", path, result); | 42 "Setting current working directory failed", path, result); |
43 } | 43 } |
44 } | 44 } |
45 | 45 |
46 Uri get uri { | 46 Uri get uri { |
47 String path = this.path; | 47 return new Uri.directory(path); |
48 if (!path.endsWith("/")) { | |
49 path = path + "/"; | |
50 } | |
51 return new Uri.file(path); | |
52 } | 48 } |
53 | 49 |
54 Future<bool> exists() { | 50 Future<bool> exists() { |
55 return _IOService._dispatch(_DIRECTORY_EXISTS, [path]).then((response) { | 51 return _IOService._dispatch(_DIRECTORY_EXISTS, [path]).then((response) { |
56 if (_isErrorResponse(response)) { | 52 if (_isErrorResponse(response)) { |
57 throw _exceptionOrErrorFromResponse(response, "Exists failed"); | 53 throw _exceptionOrErrorFromResponse(response, "Exists failed"); |
58 } | 54 } |
59 return response == 1; | 55 return response == 1; |
60 }); | 56 }); |
61 } | 57 } |
(...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
388 controller.addError( | 384 controller.addError( |
389 new FileSystemException("Directory listing failed", | 385 new FileSystemException("Directory listing failed", |
390 errorPath, | 386 errorPath, |
391 err)); | 387 err)); |
392 } else { | 388 } else { |
393 controller.addError( | 389 controller.addError( |
394 new FileSystemException("Internal error")); | 390 new FileSystemException("Internal error")); |
395 } | 391 } |
396 } | 392 } |
397 } | 393 } |
OLD | NEW |