Revision control

++ // Copyright (C) 2016 The Qt Company Ltd.
++ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
++ // Qt-Security score:significant reason:default
++
++ #include "qfsfileengine_iterator_p.h"
++ #include "qfileinfo_p.h"
++ #include "qvariant.h"
++
++ #ifndef QT_NO_FILESYSTEMITERATOR
++
++ QT_BEGIN_NAMESPACE
++
++ QFSFileEngineIterator::QFSFileEngineIterator(const QString &path, QDir::Filters filters,
++ const QStringList &filterNames)
++ : QAbstractFileEngineIterator(path, filters, filterNames),
++ nativeIterator(new QFileSystemIterator(QFileSystemEntry(path), filters))
++ {
++ }
++
++ QFSFileEngineIterator::QFSFileEngineIterator(const QString &path, QDirListing::IteratorFlags filters,
++ const QStringList &filterNames)
++ : QAbstractFileEngineIterator(path, filters, filterNames),
++ nativeIterator(new QFileSystemIterator(QFileSystemEntry(path), filters))
++ {
++ }
++
++ QFSFileEngineIterator::~QFSFileEngineIterator()
++ {
++ }
++
++ bool QFSFileEngineIterator::advance()
++ {
++ if (!nativeIterator)
++ return false;
++
++ if (auto r = nativeIterator->advance()) {
++ m_fileInfo = r->fileInfo();
++ return true;
++ } else {
++ nativeIterator.reset();
++ return false;
++ }
++ }
++
++ QString QFSFileEngineIterator::currentFileName() const
++ {
++ return m_fileInfo.fileName();
++ }
++
++ QFileInfo QFSFileEngineIterator::currentFileInfo() const
++ {
++ return m_fileInfo;
++ }
++
++ QT_END_NAMESPACE
++
++ #endif // QT_NO_FILESYSTEMITERATOR