Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QResourceFileEngine Class Reference

#include <qresource_p.h>

+ Inheritance diagram for QResourceFileEngine:
+ Collaboration diagram for QResourceFileEngine:

Public Member Functions

 QResourceFileEngine (const QString &path)
 
 ~QResourceFileEngine ()
 
void setFileName (const QString &file) override
 Sets the file engine's file name to file.
 
bool open (QIODevice::OpenMode flags, std::optional< QFile::Permissions > permissions) override
 Opens the file in the specified mode.
 
bool close () override
 Closes the file, returning true if successful; otherwise returns false.
 
bool flush () override
 Flushes the open file, returning true if successful; otherwise returns false.
 
qint64 size () const override
 Returns the size of the file.
 
qint64 pos () const override
 Returns the current file position.
 
virtual bool atEnd () const
 
bool seek (qint64) override
 Sets the file position to the given offset.
 
qint64 read (char *data, qint64 maxlen) override
 Reads a number of characters from the file into data.
 
bool caseSensitive () const override
 Should return true if the underlying file system is case-sensitive; otherwise return false.
 
FileFlags fileFlags (FileFlags type) const override
 This function should return the set of OR'd flags that are true for the file engine's file, and that are in the type's OR'd members.
 
QString fileName (QAbstractFileEngine::FileName file) const override
 Return the file engine's current file name in the format specified by file.
 
uint ownerId (FileOwner) const override
 If owner is OwnerUser return the ID of the user who owns the file.
 
QDateTime fileTime (QFile::FileTime time) const override
 If time is BirthTime, return when the file was born (created).
 
IteratorUniquePtr beginEntryList (const QString &path, QDir::Filters filters, const QStringList &filterNames) override
 
bool extension (Extension extension, const ExtensionOption *option=nullptr, ExtensionReturn *output=nullptr) override
 
bool supportsExtension (Extension extension) const override
 
- Public Member Functions inherited from QAbstractFileEngine
virtual ~QAbstractFileEngine ()
 Destroys the QAbstractFileEngine.
 
virtual bool syncToDisk ()
 
virtual bool isSequential () const
 Returns true if the file is a sequential access device; returns false if the file is a direct access device.
 
virtual bool remove ()
 Requests that the file is deleted from the file system.
 
virtual bool copy (const QString &newName)
 Copies the contents of this file to a file with the name newName.
 
virtual bool rename (const QString &newName)
 Requests that the file be renamed to newName in the file system.
 
virtual bool renameOverwrite (const QString &newName)
 
virtual bool link (const QString &newName)
 Creates a link from the file currently specified by fileName() to newName.
 
virtual bool mkdir (const QString &dirName, bool createParentDirectories, std::optional< QFile::Permissions > permissions=std::nullopt) const
 Requests that the directory dirName be created with the specified permissions.
 
virtual bool rmdir (const QString &dirName, bool recurseParentDirectories) const
 Requests that the directory dirName is deleted from the file system.
 
virtual bool setSize (qint64 size)
 Requests that the file be set to size size.
 
virtual bool isRelativePath () const
 Return true if the file referred to by this file engine has a relative path; otherwise return false.
 
virtual QStringList entryList (QDir::Filters filters, const QStringList &filterNames) const
 Requests that a list of all the files matching the filters list based on the filterNames in the file engine's directory are returned.
 
virtual bool setPermissions (uint perms)
 Requests that the file's permissions be set to perms.
 
virtual QByteArray id () const
 
virtual QString owner (FileOwner) const
 If owner is OwnerUser return the name of the user who owns the file.
 
virtual bool setFileTime (const QDateTime &newDate, QFile::FileTime time)
 
virtual int handle () const
 Returns the native file handle for this file engine.
 
virtual bool cloneTo (QAbstractFileEngine *target)
 
bool atEnd () const
 
ucharmap (qint64 offset, qint64 size, QFile::MemoryMapFlags flags)
 
bool unmap (uchar *ptr)
 
virtual IteratorUniquePtr endEntryList ()
 
virtual qint64 readLine (char *data, qint64 maxlen)
 This function reads one line, terminated by a '\n' character, from the file info data.
 
virtual qint64 write (const char *data, qint64 len)
 Writes len bytes from data to the file.
 
QFile::FileError error () const
 Returns the QFile::FileError that resulted from the last failed operation.
 
QString errorString () const
 Returns the human-readable message appropriate to the current error reported by error().
 

Additional Inherited Members

- Public Types inherited from QAbstractFileEngine
enum  FileFlag {
  ReadOwnerPerm = 0x4000 , WriteOwnerPerm = 0x2000 , ExeOwnerPerm = 0x1000 , ReadUserPerm = 0x0400 ,
  WriteUserPerm = 0x0200 , ExeUserPerm = 0x0100 , ReadGroupPerm = 0x0040 , WriteGroupPerm = 0x0020 ,
  ExeGroupPerm = 0x0010 , ReadOtherPerm = 0x0004 , WriteOtherPerm = 0x0002 , ExeOtherPerm = 0x0001 ,
  LinkType = 0x10000 , FileType = 0x20000 , DirectoryType = 0x40000 , BundleType = 0x80000 ,
  HiddenFlag = 0x0100000 , LocalDiskFlag = 0x0200000 , ExistsFlag = 0x0400000 , RootFlag = 0x0800000 ,
  Refresh = 0x1000000 , PermsMask = 0x0000FFFF , TypesMask = 0x000F0000 , FlagsMask = 0x0FF00000 ,
  FileInfoAll = FlagsMask | PermsMask | TypesMask
}
 The permissions and types of a file, suitable for OR'ing together. More...
 
enum  FileName {
  DefaultName , BaseName , PathName , AbsoluteName ,
  AbsolutePathName , AbsoluteLinkTarget , CanonicalName , CanonicalPathName ,
  BundleName , JunctionName , RawLinkPath , NFileNames
}
 These values are used to request a file name in a particular format. More...
 
enum  FileOwner { OwnerUser , OwnerGroup }
 \value OwnerUser The user who owns the file. More...
 
enum  Extension { AtEndExtension , FastReadLineExtension , MapExtension , UnMapExtension }
 
typedef QAbstractFileEngineIterator Iterator
 
using IteratorUniquePtr = std::unique_ptr<Iterator>
 
- Static Public Member Functions inherited from QAbstractFileEngine
static std::unique_ptr< QAbstractFileEnginecreate (const QString &fileName)
 Creates and returns a QAbstractFileEngine suitable for processing fileName.
 
- Protected Member Functions inherited from QAbstractFileEngine
void setError (QFile::FileError error, const QString &str)
 Sets the error type to error, and the error string to errorString.
 
 QAbstractFileEngine ()
 Constructs a new QAbstractFileEngine that does not refer to any file or directory.
 
 QAbstractFileEngine (QAbstractFileEnginePrivate &)
 
- Protected Attributes inherited from QAbstractFileEngine
QScopedPointer< QAbstractFileEnginePrivated_ptr
 

Detailed Description

Definition at line 23 of file qresource_p.h.

Constructor & Destructor Documentation

◆ QResourceFileEngine()

QResourceFileEngine::QResourceFileEngine ( const QString & path)
explicit

Definition at line 1412 of file qresource.cpp.

References d, and file.

◆ ~QResourceFileEngine()

QResourceFileEngine::~QResourceFileEngine ( )

Definition at line 1419 of file qresource.cpp.

Member Function Documentation

◆ atEnd()

bool QResourceFileEngine::atEnd ( ) const
virtual

Definition at line 1494 of file qresource.cpp.

References d, and size().

+ Here is the call graph for this function:

◆ beginEntryList()

QAbstractFileEngine::IteratorUniquePtr QResourceFileEngine::beginEntryList ( const QString & path,
QDir::Filters filters,
const QStringList & filterNames )
overridevirtual

Reimplemented from QAbstractFileEngine.

Definition at line 1586 of file qresource.cpp.

References filters.

◆ caseSensitive()

bool QResourceFileEngine::caseSensitive ( ) const
overridevirtual

Should return true if the underlying file system is case-sensitive; otherwise return false.

Reimplemented from QAbstractFileEngine.

Definition at line 1407 of file qresource.cpp.

◆ close()

bool QResourceFileEngine::close ( )
overridevirtual

Closes the file, returning true if successful; otherwise returns false.

The default implementation always returns false.

Reimplemented from QAbstractFileEngine.

Definition at line 1455 of file qresource.cpp.

References d.

◆ extension()

bool QResourceFileEngine::extension ( Extension extension,
const ExtensionOption * option = nullptr,
ExtensionReturn * output = nullptr )
overridevirtual
Since
4.3

This virtual function can be reimplemented in a QAbstractFileEngine subclass to provide support for extensions. The option argument is provided as input to the extension, and this function can store output results in output.

The behavior of this function is determined by extension; see the Extension documentation for details.

You can call supportsExtension() to check if an extension is supported by the file engine.

By default, no extensions are supported, and this function returns false.

See also
supportsExtension(), Extension

Reimplemented from QAbstractFileEngine.

Definition at line 1592 of file qresource.cpp.

References QAbstractFileEngine::MapExtensionReturn::address, d, extension(), QAbstractFileEngine::MapExtension, output, and QAbstractFileEngine::UnMapExtension.

+ Here is the call graph for this function:

◆ fileFlags()

QAbstractFileEngine::FileFlags QResourceFileEngine::fileFlags ( FileFlags type) const
overridevirtual

This function should return the set of OR'd flags that are true for the file engine's file, and that are in the type's OR'd members.

In your reimplementation you can use the type argument as an optimization hint and only return the OR'd set of members that are true and that match those in type; in other words you can ignore any members not mentioned in type, thus avoiding some potentially expensive lookups or system calls.

See also
setFileName()

Reimplemented from QAbstractFileEngine.

Definition at line 1514 of file qresource.cpp.

References d, QAbstractFileEngine::DirectoryType, QAbstractFileEngine::ExistsFlag, QAbstractFileEngine::FileType, QAbstractFileEngine::FlagsMask, QAbstractFileEngine::PermsMask, QAbstractFileEngine::ReadGroupPerm, QAbstractFileEngine::ReadOtherPerm, QAbstractFileEngine::ReadOwnerPerm, QAbstractFileEngine::ReadUserPerm, ret, QAbstractFileEngine::RootFlag, and QAbstractFileEngine::TypesMask.

◆ fileName()

QString QResourceFileEngine::fileName ( QAbstractFileEngine::FileName file) const
overridevirtual

Return the file engine's current file name in the format specified by file.

If you don't handle some FileName possibilities, return the file name set in setFileName() when an unhandled format is requested.

See also
setFileName(), FileName

Reimplemented from QAbstractFileEngine.

Definition at line 1538 of file qresource.cpp.

References absoluteFilePath(), QAbstractFileEngine::AbsolutePathName, QAbstractFileEngine::BaseName, QAbstractFileEngine::CanonicalName, QAbstractFileEngine::CanonicalPathName, d, file, QString::lastIndexOf(), and QAbstractFileEngine::PathName.

+ Here is the call graph for this function:

◆ fileTime()

QDateTime QResourceFileEngine::fileTime ( QFile::FileTime time) const
overridevirtual

If time is BirthTime, return when the file was born (created).

If time is MetadataChangeTime, return when the file's metadata was last changed. If time is ModificationTime, return when the file was most recently modified. If time is AccessTime, return when the file was most recently accessed (e.g. read or written). If the time cannot be determined return QDateTime() (an invalid date time).

See also
setFileName(), QDateTime, QDateTime::isValid(), FileTime

Reimplemented from QAbstractFileEngine.

Definition at line 1574 of file qresource.cpp.

References d, QFileDevice::FileModificationTime, and time.

◆ flush()

bool QResourceFileEngine::flush ( )
overridevirtual

Flushes the open file, returning true if successful; otherwise returns false.

The default implementation always returns false.

Reimplemented from QAbstractFileEngine.

Definition at line 1462 of file qresource.cpp.

◆ open()

bool QResourceFileEngine::open ( QIODevice::OpenMode openMode,
std::optional< QFile::Permissions > permissions )
overridevirtual

Opens the file in the specified mode.

Returns true if the file was successfully opened; otherwise returns false.

The mode is an OR combination of QIODevice::OpenMode and QIODevice::HandlingMode values.

If the file is created as a result of this call, its permissions are set according to permissision. Null value means an implementation- specific default.

Reimplemented from QAbstractFileEngine.

Definition at line 1429 of file qresource.cpp.

References d, QResource::NoCompression, Q_UNUSED, qWarning, QSystemError::stdString(), and QIODeviceBase::WriteOnly.

+ Here is the call graph for this function:

◆ ownerId()

uint QResourceFileEngine::ownerId ( FileOwner owner) const
overridevirtual

If owner is OwnerUser return the ID of the user who owns the file.

If owner is OwnerGroup return the ID of the group that own the file. If you can't determine the owner return -2.

See also
owner(), setFileName(), FileOwner

Reimplemented from QAbstractFileEngine.

Definition at line 1568 of file qresource.cpp.

◆ pos()

qint64 QResourceFileEngine::pos ( ) const
overridevirtual

Returns the current file position.

This is the position of the data read/write head of the file.

Reimplemented from QAbstractFileEngine.

Definition at line 1488 of file qresource.cpp.

References d.

Referenced by seek().

+ Here is the caller graph for this function:

◆ read()

qint64 QResourceFileEngine::read ( char * data,
qint64 maxlen )
overridevirtual

Reads a number of characters from the file into data.

At most maxlen characters will be read.

Returns -1 if a fatal error occurs, or 0 if there are no bytes to read.

Reimplemented from QAbstractFileEngine.

Definition at line 1467 of file qresource.cpp.

References d, and size().

+ Here is the call graph for this function:

◆ seek()

bool QResourceFileEngine::seek ( qint64 offset)
overridevirtual

Sets the file position to the given offset.

Returns true if the position was successfully set; otherwise returns false.

The offset is from the beginning of the file, unless the file is sequential.

See also
isSequential()

Reimplemented from QAbstractFileEngine.

Definition at line 1502 of file qresource.cpp.

References d, and pos().

+ Here is the call graph for this function:

◆ setFileName()

void QResourceFileEngine::setFileName ( const QString & file)
overridevirtual

Sets the file engine's file name to file.

This file name is the file that the rest of the virtual functions will operate on.

See also
rename()

Reimplemented from QAbstractFileEngine.

Definition at line 1423 of file qresource.cpp.

References d, and file.

◆ size()

qint64 QResourceFileEngine::size ( ) const
overridevirtual

Returns the size of the file.

Reimplemented from QAbstractFileEngine.

Definition at line 1482 of file qresource.cpp.

References d.

Referenced by atEnd(), and read().

+ Here is the caller graph for this function:

◆ supportsExtension()

bool QResourceFileEngine::supportsExtension ( Extension extension) const
overridevirtual
Since
4.3

This virtual function returns true if the file engine supports extension; otherwise, false is returned. By default, no extensions are supported.

See also
extension()

Reimplemented from QAbstractFileEngine.

Definition at line 1608 of file qresource.cpp.

References extension(), QAbstractFileEngine::MapExtension, and QAbstractFileEngine::UnMapExtension.

+ Here is the call graph for this function:

The documentation for this class was generated from the following files: