#include <QtCore/qabstractfileengine.h>
#ifndef QABSTRACTFILEENGINE_H
class QAbstractFileEngine{
   public: enum FileFlag{
      ReadOwnerPerm = 16384,
      WriteOwnerPerm = 8192,
      ExeOwnerPerm = 4096,
      ReadUserPerm = 1024,
      WriteUserPerm = 512,
      ExeUserPerm = 256,
      ReadGroupPerm = 64,
      WriteGroupPerm = 32,
      ExeGroupPerm = 16,
      ReadOtherPerm = 4,
      WriteOtherPerm = 2,
      ExeOtherPerm = 1,
      LinkType = 65536,
      FileType = 131072,
      DirectoryType = 262144,
      HiddenFlag = 1048576,
      LocalDiskFlag = 2097152,
      ExistsFlag = 4194304,
      RootFlag = 8388608,
      PermsMask = 65535,
      TypesMask = 983040,
      FlagsMask = 267386880,
      FileInfoAll = 268435455,
   };
   public: typedef class QFlags < enum QAbstractFileEngine::FileFlag > FileFlags;
   public: enum FileName{
      DefaultName = 0,
      BaseName = 1,
      PathName = 2,
      AbsoluteName = 3,
      AbsolutePathName = 4,
      LinkName = 5,
      CanonicalName = 6,
      CanonicalPathName = 7,
   };
   public: enum FileOwner{
      OwnerUser = 0,
      OwnerGroup = 1,
   };
   public: enum FileTime{
      CreationTime = 0,
      ModificationTime = 1,
      AccessTime = 2,
   };
   public: virtual ~QAbstractFileEngine();
   public: virtual bool open(class QFlags < enum QIODevice::OpenModeFlag > openMode);
   public: virtual bool close();
   public: virtual bool flush();
   public: virtual qint64 size() const
   public: virtual qint64 pos() const
   public: virtual bool seek(qint64 pos);
   public: virtual bool isSequential() const
   public: virtual bool remove();
   public: virtual bool copy(class QString const & newName);
   public: virtual bool rename(class QString const & newName);
   public: virtual bool link(class QString const & newName);
   public: virtual bool mkdir(class QString const & dirName, bool createParentDirectories) const
   public: virtual bool rmdir(class QString const & dirName, bool recurseParentDirectories) const
   public: virtual bool setSize(qint64 size);
   public: virtual bool caseSensitive() const
   public: virtual bool isRelativePath() const
   public: virtual class QStringList entryList(class QFlags < enum QDir::Filter > filters, class QStringList const & filterNames) const
   public: virtual class QFlags < enum QAbstractFileEngine::FileFlag > fileFlags(class QFlags < enum QAbstractFileEngine::FileFlag > type = QAbstractFileEngine::FileInfoAll) const
   public: virtual bool setPermissions(uint perms);
   public: virtual class QString fileName(enum QAbstractFileEngine::FileName file = QAbstractFileEngine::DefaultName) const
   public: virtual uint ownerId(enum QAbstractFileEngine::FileOwner) const
   public: virtual class QString owner(enum QAbstractFileEngine::FileOwner) const
   public: virtual struct QDateTime fileTime(enum QAbstractFileEngine::FileTime time) const
   public: virtual void setFileName(class QString const & file);
   public: virtual int handle() const
   public: typedef struct QAbstractFileEngineIterator Iterator;
   public: virtual struct QAbstractFileEngineIterator* beginEntryList(class QFlags < enum QDir::Filter > filters, class QStringList const & filterNames);
   public: virtual struct QAbstractFileEngineIterator* endEntryList();
   public: virtual qint64 read(char* data, qint64 maxlen);
   public: virtual qint64 readLine(char* data, qint64 maxlen);
   public: virtual qint64 write(char const * data, qint64 len);
   public: enum QFile::FileError error() const
   public: class QString errorString() const
   public: enum Extension{
      
   };
   public: class ExtensionOption{
      
   };
   public: class ExtensionReturn{
      
   };
   public: virtual bool extension(enum QAbstractFileEngine::Extension extension, class QAbstractFileEngine::ExtensionOption const * option = 0, class QAbstractFileEngine::ExtensionReturn* output = 0);
   public: virtual bool supportsExtension(enum QAbstractFileEngine::Extension extension) const
   public: static class QAbstractFileEngine* create(class QString const & fileName);
   protected: void setError(enum QFile::FileError error, class QString const & str);
   protected: QAbstractFileEngine();
   protected: QAbstractFileEngine(struct QAbstractFileEnginePrivate&);
   protected: struct QAbstractFileEnginePrivate* d_ptr;
   private: inline struct QAbstractFileEnginePrivate* d_func();
   private: inline struct QAbstractFileEnginePrivate const * d_func() const
   private: QAbstractFileEngine(class QAbstractFileEngine const &);
   private: class QAbstractFileEngine& operator =(class QAbstractFileEngine const &);
   friend struct QAbstractFileEnginePrivate;
};
#endif // QABSTRACTFILEENGINE_H