QTfrontend/util/FileEngine.h
branchphysfslayer
changeset 7770 ff3442338882
parent 7768 13e2037ebc79
child 7955 85b3970b402a
equal deleted inserted replaced
7768:13e2037ebc79 7770:ff3442338882
     1 #ifndef _FileEngine_h
     1 #ifndef _FileEngine_h
     2 #define _FileEngine_h
     2 #define _FileEngine_h
     3 
     3 
     4 #include <QAbstractFileEngine>
     4 #include <QAbstractFileEngine>
     5 #include <QAbstractFileEngineHandler>
     5 #include <QAbstractFileEngineHandler>
       
     6 #include <QAbstractFileEngineIterator>
     6 #include <QDateTime>
     7 #include <QDateTime>
     7 
     8 
     8 #include "physfs.h"
     9 #include "physfs.h"
     9 
    10 
    10 
    11 
    26         virtual bool remove();
    27         virtual bool remove();
    27         virtual bool mkdir(const QString &dirName, bool createParentDirectories) const;
    28         virtual bool mkdir(const QString &dirName, bool createParentDirectories) const;
    28         virtual bool rmdir(const QString &dirName, bool recurseParentDirectories) const;
    29         virtual bool rmdir(const QString &dirName, bool recurseParentDirectories) const;
    29         virtual bool caseSensitive() const;
    30         virtual bool caseSensitive() const;
    30         virtual bool isRelativePath() const;
    31         virtual bool isRelativePath() const;
       
    32         QAbstractFileEngineIterator *beginEntryList(QDir::Filters filters, const QStringList & filterNames);
    31         virtual QStringList entryList(QDir::Filters filters, const QStringList &filterNames) const;
    33         virtual QStringList entryList(QDir::Filters filters, const QStringList &filterNames) const;
    32         virtual FileFlags fileFlags(FileFlags type=FileInfoAll) const;
    34         virtual FileFlags fileFlags(FileFlags type=FileInfoAll) const;
    33         virtual QString fileName(FileName file=DefaultName) const;
    35         virtual QString fileName(FileName file=DefaultName) const;
    34         virtual QDateTime fileTime(FileTime time) const;
    36         virtual QDateTime fileTime(FileTime time) const;
    35         virtual void setFileName(const QString &file);
    37         virtual void setFileName(const QString &file);
    36         bool atEnd() const;
    38         bool atEnd() const;
    37 
    39 
    38         virtual qint64 read(char *data, qint64 maxlen);
    40         virtual qint64 read(char *data, qint64 maxlen);
    39         virtual qint64 readLine(char *data, qint64 maxlen);
       
    40         virtual qint64 write(const char *data, qint64 len);
    41         virtual qint64 write(const char *data, qint64 len);
    41 
    42 
    42         bool isOpened() const;
    43         bool isOpened() const;
    43 
    44 
    44         QFile::FileError error() const;
    45         QFile::FileError error() const;
    55 };
    56 };
    56 
    57 
    57 class FileEngineHandler : public QAbstractFileEngineHandler
    58 class FileEngineHandler : public QAbstractFileEngineHandler
    58 {
    59 {
    59     public:
    60     public:
       
    61         FileEngineHandler(char * argv0);
       
    62         ~FileEngineHandler();
       
    63 
    60         QAbstractFileEngine *create(const QString &filename) const;
    64         QAbstractFileEngine *create(const QString &filename) const;
       
    65 
       
    66         void mount(const QString & path);
       
    67         void setWriteDir(const QString & path);
       
    68 
       
    69 //    private:
       
    70         static const QString scheme;
       
    71 };
       
    72 
       
    73 class FileEngineIterator : public QAbstractFileEngineIterator
       
    74 {
       
    75 public:
       
    76         FileEngineIterator(QDir::Filters filters, const QStringList & nameFilters, const QStringList & entries);
       
    77 
       
    78         bool hasNext() const;
       
    79         QString next();
       
    80         QString currentFileName() const;
       
    81 private:
       
    82         QStringList m_entries;
       
    83         int m_index;
    61 };
    84 };
    62 
    85 
    63 #endif
    86 #endif