1 // Take a look at the license at the top of the repository in the LICENSE file. 2 3 use crate::prelude::*; 4 use crate::FileEnumerator; 5 use crate::FileInfo; 6 use std::iter::Iterator; 7 8 impl Iterator for FileEnumerator { 9 type Item = Result<FileInfo, glib::Error>; 10 next(&mut self) -> Option<Result<FileInfo, glib::Error>>11 fn next(&mut self) -> Option<Result<FileInfo, glib::Error>> { 12 match self.next_file(crate::NONE_CANCELLABLE) { 13 Err(err) => Some(Err(err)), 14 Ok(file_info) => file_info.map(Ok), 15 } 16 } 17 } 18