File indexing completed on 2024-05-19 04:35:09
0001 /* 0002 SPDX-FileCopyrightText: 2007 Tobias Koenig <tokoe@kde.org> 0003 SPDX-FileCopyrightText: 2011 David Palacio <dpalacio@orbitalibre.org> 0004 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #ifndef DIRECTORY_H 0009 #define DIRECTORY_H 0010 0011 #include <QStringList> 0012 0013 class QIODevice; 0014 0015 class Directory 0016 { 0017 public: 0018 /** 0019 * Creates a new directory object. 0020 */ 0021 Directory(); 0022 0023 /** 0024 * Destroys the directory object. 0025 */ 0026 ~Directory(); 0027 0028 /** 0029 * Opens given directory. 0030 */ 0031 bool open(const QString &dirName); 0032 0033 /** 0034 * Returns the list of files from the directory. 0035 */ 0036 QStringList list() const; 0037 0038 /** 0039 * Returns a new device for reading the file with the given path. 0040 */ 0041 QIODevice *createDevice(const QString &path) const; 0042 0043 private: 0044 /** 0045 * Iterates over a directory and returns a file list. 0046 */ 0047 QStringList recurseDir(const QString &dir, int curDepth) const; 0048 0049 static const int staticMaxDepth = 1; 0050 QString mDir; 0051 }; 0052 0053 #endif