|
@@ -3,12 +3,10 @@ namespace Invercargill {
|
|
|
|
|
|
internal class DirEnumerable : Enumerable<string> {
|
|
internal class DirEnumerable : Enumerable<string> {
|
|
|
|
|
|
- private string path;
|
|
|
|
- private uint flags;
|
|
|
|
|
|
+ private Dir dir;
|
|
|
|
|
|
- public DirEnumerable(string path, uint flags = 0) {
|
|
|
|
- this.path = path;
|
|
|
|
- this.flags = flags;
|
|
|
|
|
|
+ public DirEnumerable(owned Dir dir) {
|
|
|
|
+ this.dir = (owned)dir;
|
|
}
|
|
}
|
|
|
|
|
|
// public override bool iterate_if (Invercargill.PredicateDelegate<T> handler) {
|
|
// public override bool iterate_if (Invercargill.PredicateDelegate<T> handler) {
|
|
@@ -24,8 +22,6 @@ namespace Invercargill {
|
|
// }
|
|
// }
|
|
|
|
|
|
public override Tracker<string> get_tracker() {
|
|
public override Tracker<string> get_tracker() {
|
|
- var dir = Dir.open(path, flags);
|
|
|
|
-
|
|
|
|
return new AdvanceTracker<string>((out obj) => {
|
|
return new AdvanceTracker<string>((out obj) => {
|
|
var name = dir.read_name();
|
|
var name = dir.read_name();
|
|
if(name != null) {
|
|
if(name != null) {
|