From 24b0e12c62ef99cf7dfcf96f01912a38e5741918 Mon Sep 17 00:00:00 2001 From: Bertrand Lorentz Date: Sat, 3 Nov 2012 17:57:31 +0100 Subject: [PATCH] gio: Make FileEnumerator implement IEnumerable --- gio/FileEnumerator.cs | 33 +++++++++++++++++++++++---------- gio/Gio.metadata | 1 - 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/gio/FileEnumerator.cs b/gio/FileEnumerator.cs index 5b5d656dc..3e7d6dc44 100644 --- a/gio/FileEnumerator.cs +++ b/gio/FileEnumerator.cs @@ -21,34 +21,47 @@ namespace GLib { using System; using System.Collections; + using System.Collections.Generic; - public partial class FileEnumerator { - public IEnumerator GetEnumerator () + public partial class FileEnumerator : IEnumerable { + public IEnumerator GetEnumerator () { return new Enumerator (this); } - + + IEnumerator IEnumerable.GetEnumerator () + { + return GetEnumerator (); + } + public FileInfo NextFile () { return NextFile ((Cancellable) null); } - - class Enumerator : IEnumerator + + class Enumerator : IEnumerator { FileEnumerator file_enumerator; - + public Enumerator (FileEnumerator file_enumerator) { this.file_enumerator = file_enumerator; } - - FileInfo current=null; - public object Current { + + void IDisposable.Dispose() { } + + FileInfo current; + public FileInfo Current { get { return current; } } - + + object IEnumerator.Current + { + get { return Current; } + } + public bool MoveNext () { current = file_enumerator.NextFile (); diff --git a/gio/Gio.metadata b/gio/Gio.metadata index 59a390dc1..a7e454047 100644 --- a/gio/Gio.metadata +++ b/gio/Gio.metadata @@ -37,7 +37,6 @@ 1 1 GetMountInstance - Activated Opened AuthenticatedPeerAuthorized