1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
use std::iter::Iterator;
use FileEnumerator;
use FileEnumeratorExt;
use FileInfo;

impl Iterator for FileEnumerator {
    type Item = Result<FileInfo, glib::Error>;

    fn next(&mut self) -> Option<Result<FileInfo, glib::Error>> {
        match self.next_file(::NONE_CANCELLABLE) {
            Err(err) => Some(Err(err)),
            Ok(file_info) => file_info.map(Ok),
        }
    }
}