Skip to content
Snippets Groups Projects
file.h 1.32 KiB
Newer Older
akiraohgaki's avatar
akiraohgaki committed
/**
 * A library for Qt app
 *
 * LICENSE: The GNU Lesser General Public License, version 3.0
 *
 * @author      Akira Ohgaki <akiraohgaki@gmail.com>
 * @copyright   Akira Ohgaki
 * @license     https://opensource.org/licenses/LGPL-3.0  The GNU Lesser General Public License, version 3.0
 * @link        https://github.com/akiraohgaki/qt-libs
 */

#pragma once
akiraohgaki's avatar
akiraohgaki committed

#include <QObject>

class QFileInfo;
typedef QList<QFileInfo> QFileInfoList;

akiraohgaki's avatar
akiraohgaki committed
namespace utils {
akiraohgaki's avatar
akiraohgaki committed

class File : public QObject
{
    Q_OBJECT

public:
    explicit File(QObject *parent = 0);

    static QString rootPath();
    static QString tempPath();
    static QString homePath();
akiraohgaki's avatar
akiraohgaki committed
    static QString genericDataPath();
    static QString genericConfigPath();
    static QString genericCachePath();
akiraohgaki's avatar
akiraohgaki committed
    static QFileInfoList readDir(const QString &path);
    static bool makeDir(const QString &path);
    static QString readText(const QString &path);
    static bool writeText(const QString &path, const QString &data);
    static QByteArray readBinary(const QString &path);
    static bool writeBinary(const QString &path, const QByteArray &data);
    static bool copy(const QString &path, const QString &targetPath);
    static bool move(const QString &path, const QString &targetPath);
    static bool remove(const QString &path);
};

akiraohgaki's avatar
akiraohgaki committed
} // namespace utils