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 /** | 5 /** |
6 * [Directory] objects are used for working with directories. | 6 * [Directory] objects are used for working with directories. |
7 */ | 7 */ |
8 interface Directory default _Directory { | 8 interface Directory default _Directory { |
9 /** | 9 /** |
10 * Creates a directory object. The path is either a full path or | 10 * Creates a directory object. The path is either a full path or |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
128 * Set the handler that is called when a directory listing is | 128 * Set the handler that is called when a directory listing is |
129 * done. The handler is called with an indication of whether or not | 129 * done. The handler is called with an indication of whether or not |
130 * the listing operation completed. | 130 * the listing operation completed. |
131 */ | 131 */ |
132 void set onDone(void onDone(bool completed)); | 132 void set onDone(void onDone(bool completed)); |
133 | 133 |
134 /** | 134 /** |
135 * Sets the handler that is called if there is an error while listing | 135 * Sets the handler that is called if there is an error while listing |
136 * or creating directories. | 136 * or creating directories. |
137 */ | 137 */ |
138 void set onError(void onError(String error)); | 138 void set onError(void onError(Exception e)); |
139 | 139 |
140 /** | 140 /** |
141 * Gets the path of this directory. | 141 * Gets the path of this directory. |
142 */ | 142 */ |
143 final String path; | 143 final String path; |
144 } | 144 } |
145 | 145 |
146 | 146 |
147 class DirectoryIOException implements Exception { | 147 class DirectoryIOException implements Exception { |
148 const DirectoryIOException([String this.message = "", | 148 const DirectoryIOException([String this.message = "", |
| 149 String this.path = "", |
149 OSError this.osError = null]); | 150 OSError this.osError = null]); |
150 String toString() { | 151 String toString() { |
151 StringBuffer sb = new StringBuffer(); | 152 StringBuffer sb = new StringBuffer(); |
152 sb.add("DirectoryIOException"); | 153 sb.add("DirectoryIOException"); |
153 if (!message.isEmpty()) { | 154 if (!message.isEmpty()) { |
154 sb.add(": $message"); | 155 sb.add(": $message"); |
| 156 if (path != null) { |
| 157 sb.add(", path = $path"); |
| 158 } |
155 if (osError != null) { | 159 if (osError != null) { |
156 sb.add(" ($osError)"); | 160 sb.add(" ($osError)"); |
157 } | 161 } |
158 } else if (osError != null) { | 162 } else if (osError != null) { |
159 sb.add(": $osError"); | 163 sb.add(": $osError"); |
| 164 if (path != null) { |
| 165 sb.add(", path = $path"); |
| 166 } |
160 } | 167 } |
161 return sb.toString(); | 168 return sb.toString(); |
162 } | 169 } |
163 final String message; | 170 final String message; |
| 171 final String path; |
164 final OSError osError; | 172 final OSError osError; |
165 } | 173 } |
OLD | NEW |