bool FileSystemProvider_File::next_file(DirectoryListingEntry &entry) { bool next = dir_scanner.next(); if( next ) { entry.set_directory(dir_scanner.is_directory()); entry.set_filename(dir_scanner.get_name()); entry.set_hidden(dir_scanner.is_hidden()); entry.set_readable(dir_scanner.is_readable()); entry.set_writable(dir_scanner.is_writable()); } return next; }
bool FileSystemProvider_Zip::next_file(DirectoryListingEntry &entry) { if( file_list.empty() ) return false; if( index > file_list.size() - 1 ) return false; std::string filename = file_list[index].get_archive_filename(); if (filename[0] == '/') filename = filename.substr(1, std::string::npos); entry.set_filename(filename); entry.set_readable(true); entry.set_directory(file_list[index].is_directory()); entry.set_hidden(false); // todo entry.set_writable(false); // todo index++; return true; }