Skip to content
Snippets Groups Projects
qtlib_file.h 849 B
Newer Older
  • Learn to ignore specific revisions
  • akiraohgaki's avatar
    akiraohgaki committed
    /**
    
    akiraohgaki's avatar
    akiraohgaki committed
     * qtlib
    
    akiraohgaki's avatar
    akiraohgaki committed
     *
     * @author      Akira Ohgaki <akiraohgaki@gmail.com>
     * @copyright   Akira Ohgaki
    
    akiraohgaki's avatar
    akiraohgaki committed
     * @license     https://opensource.org/licenses/LGPL-3.0
    
    akiraohgaki's avatar
    akiraohgaki committed
     * @link        https://github.com/akiraohgaki/qtlib
    
    akiraohgaki's avatar
    akiraohgaki committed
     */
    
    #pragma once
    
    #include <QObject>
    
    
    akiraohgaki's avatar
    akiraohgaki committed
    namespace qtlib {
    
    akiraohgaki's avatar
    akiraohgaki committed
    
    class File : public QObject
    {
        Q_OBJECT
    
    public:
    
    akiraohgaki's avatar
    akiraohgaki committed
        explicit File(const QString &path = "", QObject *parent = 0);
    
    akiraohgaki's avatar
    akiraohgaki committed
    
    
    akiraohgaki's avatar
    akiraohgaki committed
        File(const File &other, QObject *parent = 0);
    
    akiraohgaki's avatar
    akiraohgaki committed
        File &operator =(const File &other);
    
    akiraohgaki's avatar
    akiraohgaki committed
    
        QString path() const;
        void setPath(const QString &path);
    
        bool exists();
        QByteArray readData();
        bool writeData(const QByteArray &data);
        QString readText();
        bool writeText(const QString &data);
        bool copy(const QString &newPath);
        bool move(const QString &newPath);
        bool remove();
    
    private:
        QString path_;
    };
    
    
    akiraohgaki's avatar
    akiraohgaki committed
    } // namespace qtlib