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
QQmlPreviewFileEngine Class Reference

#include <qqmlpreviewfileengine.h>

+ Inheritance diagram for QQmlPreviewFileEngine:
+ Collaboration diagram for QQmlPreviewFileEngine:

Public Member Functions

 QQmlPreviewFileEngine (const QString &file, const QString &absolute, QQmlPreviewFileLoader *loader)
 
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.
 
qint64 size () const override
 Returns the size of the file.
 
qint64 pos () const override
 Returns the current file position.
 
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.
 
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.
 
IteratorUniquePtr beginEntryList (const QString &path, QDir::Filters filters, const QStringList &filterNames) override
 Returns a QAbstractFileEngine::IteratorUniquePtr, that can be used to iterate over the entries in path, using filters for entry filtering and filterNames for name filtering.
 
IteratorUniquePtr endEntryList () override
 
bool flush () override
 Flushes the open file, returning true if successful; otherwise returns false.
 
bool syncToDisk () override
 
bool isSequential () const override
 Returns true if the file is a sequential access device; returns false if the file is a direct access device.
 
bool remove () override
 Requests that the file is deleted from the file system.
 
bool copy (const QString &newName) override
 Copies the contents of this file to a file with the name newName.
 
bool rename (const QString &newName) override
 Requests that the file be renamed to newName in the file system.
 
bool renameOverwrite (const QString &newName) override
 
bool link (const QString &newName) override
 Creates a link from the file currently specified by fileName() to newName.
 
bool mkdir (const QString &dirName, bool createParentDirectories, std::optional< QFile::Permissions > permissions=std::nullopt) const override
 Requests that the directory dirName be created with the specified permissions.
 
bool rmdir (const QString &dirName, bool recurseParentDirectories) const override
 Requests that the directory dirName is deleted from the file system.
 
bool setSize (qint64 size) override
 Requests that the file be set to size size.
 
bool caseSensitive () const override
 Should return true if the underlying file system is case-sensitive; otherwise return false.
 
bool isRelativePath () const override
 Return true if the file referred to by this file engine has a relative path; otherwise return false.
 
QStringList entryList (QDir::Filters filters, const QStringList &filterNames) const override
 Requests that a list of all the files matching the filters list based on the filterNames in the file engine's directory are returned.
 
bool setPermissions (uint perms) override
 Requests that the file's permissions be set to perms.
 
QByteArray id () const override
 
QString owner (FileOwner) const override
 If owner is OwnerUser return the name 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).
 
int handle () const override
 Returns the native file handle for this file engine.
 
qint64 readLine (char *data, qint64 maxlen) override
 This function reads one line, terminated by a '\n' character, from the file info data.
 
qint64 write (const char *data, qint64 len) override
 Writes len bytes from data to the file.
 
bool extension (Extension extension, const ExtensionOption *option, ExtensionReturn *output) override
 
bool supportsExtension (Extension extension) const override
 
- Public Member Functions inherited from QAbstractFileEngine
virtual ~QAbstractFileEngine ()
 Destroys the QAbstractFileEngine.
 
virtual bool setFileTime (const QDateTime &newDate, QFile::FileTime time)
 
virtual bool cloneTo (QAbstractFileEngine *target)
 
bool atEnd () const
 
ucharmap (qint64 offset, qint64 size, QFile::MemoryMapFlags flags)
 
bool unmap (uchar *ptr)
 
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 29 of file qqmlpreviewfileengine.h.

Constructor & Destructor Documentation

◆ QQmlPreviewFileEngine()

QQmlPreviewFileEngine::QQmlPreviewFileEngine ( const QString & file,
const QString & absolute,
QQmlPreviewFileLoader * loader )

Definition at line 83 of file qqmlpreviewfileengine.cpp.

Member Function Documentation

◆ beginEntryList()

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

Returns a QAbstractFileEngine::IteratorUniquePtr, that can be used to iterate over the entries in path, using filters for entry filtering and filterNames for name filtering.

This function is called by QDirListing to initiate directory iteration.

See also
QDirListing

Reimplemented from QAbstractFileEngine.

Definition at line 214 of file qqmlpreviewfileengine.cpp.

References filters.

◆ caseSensitive()

bool QQmlPreviewFileEngine::caseSensitive ( ) const
overridevirtual

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

Reimplemented from QAbstractFileEngine.

Definition at line 295 of file qqmlpreviewfileengine.cpp.

◆ close()

bool QQmlPreviewFileEngine::close ( )
overridevirtual

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

The default implementation always returns false.

Reimplemented from QAbstractFileEngine.

Definition at line 116 of file qqmlpreviewfileengine.cpp.

References QBuffer::close(), QQmlPreviewFileLoader::Directory, QQmlPreviewFileLoader::Fallback, and QQmlPreviewFileLoader::File.

+ Here is the call graph for this function:

◆ copy()

bool QQmlPreviewFileEngine::copy ( const QString & newName)
overridevirtual

Copies the contents of this file to a file with the name newName.

Returns true on success; otherwise, false is returned.

Reimplemented from QAbstractFileEngine.

Definition at line 247 of file qqmlpreviewfileengine.cpp.

◆ endEntryList()

QAbstractFileEngine::IteratorUniquePtr QQmlPreviewFileEngine::endEntryList ( )
overridevirtual

Reimplemented from QAbstractFileEngine.

Definition at line 222 of file qqmlpreviewfileengine.cpp.

◆ entryList()

QStringList QQmlPreviewFileEngine::entryList ( QDir::Filters filters,
const QStringList & filterNames ) const
overridevirtual

Requests that a list of all the files matching the filters list based on the filterNames in the file engine's directory are returned.

Should return an empty list if the file engine refers to a file rather than a directory, or if the directory is unreadable or does not exist or if nothing matches the specifications.

See also
setFileName()

Reimplemented from QAbstractFileEngine.

Definition at line 305 of file qqmlpreviewfileengine.cpp.

References QAbstractFileEngine::entryList(), and filters.

+ Here is the call graph for this function:

◆ extension()

bool QQmlPreviewFileEngine::extension ( Extension extension,
const ExtensionOption * option,
ExtensionReturn * output )
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 349 of file qqmlpreviewfileengine.cpp.

References extension(), and output.

+ Here is the call graph for this function:

◆ fileFlags()

QAbstractFileEngine::FileFlags QQmlPreviewFileEngine::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 151 of file qqmlpreviewfileengine.cpp.

References QQmlPreviewFileLoader::Directory, QAbstractFileEngine::DirectoryType, QAbstractFileEngine::ExistsFlag, QAbstractFileEngine::FileType, QAbstractFileEngine::FlagsMask, isRootPath(), QAbstractFileEngine::PermsMask, QAbstractFileEngine::ReadGroupPerm, QAbstractFileEngine::ReadOtherPerm, QAbstractFileEngine::ReadOwnerPerm, QAbstractFileEngine::ReadUserPerm, ret, QAbstractFileEngine::RootFlag, and QAbstractFileEngine::TypesMask.

+ Here is the call graph for this function:

◆ fileName()

QString QQmlPreviewFileEngine::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 180 of file qqmlpreviewfileengine.cpp.

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

+ Here is the call graph for this function:

◆ fileTime()

QDateTime QQmlPreviewFileEngine::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 327 of file qqmlpreviewfileengine.cpp.

References QDateTime::currentDateTime(), and time.

+ Here is the call graph for this function:

◆ flush()

bool QQmlPreviewFileEngine::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 227 of file qqmlpreviewfileengine.cpp.

◆ handle()

int QQmlPreviewFileEngine::handle ( ) const
overridevirtual

Returns the native file handle for this file engine.

This handle must be used with care; its value and type are platform specific, and using it will most likely lead to non-portable code.

Reimplemented from QAbstractFileEngine.

Definition at line 334 of file qqmlpreviewfileengine.cpp.

◆ id()

QByteArray QQmlPreviewFileEngine::id ( ) const
overridevirtual
Since
5.9

Return an identifier that (hopefully) uniquely identifies this file in the system. Returns an invalid QByteArray() if that cannot be calculated.

Reimplemented from QAbstractFileEngine.

Definition at line 317 of file qqmlpreviewfileengine.cpp.

References QByteArray().

+ Here is the call graph for this function:

◆ isRelativePath()

bool QQmlPreviewFileEngine::isRelativePath ( ) const
overridevirtual

Return true if the file referred to by this file engine has a relative path; otherwise return false.

See also
setFileName()

Reimplemented from QAbstractFileEngine.

Definition at line 300 of file qqmlpreviewfileengine.cpp.

References isRelative().

+ Here is the call graph for this function:

◆ isSequential()

bool QQmlPreviewFileEngine::isSequential ( ) const
overridevirtual

Returns true if the file is a sequential access device; returns false if the file is a direct access device.

Operations involving size() and seek(qint64) are not valid on sequential devices.

Reimplemented from QAbstractFileEngine.

Definition at line 237 of file qqmlpreviewfileengine.cpp.

References QIODevice::isSequential().

+ Here is the call graph for this function:

◆ link()

bool QQmlPreviewFileEngine::link ( const QString & newName)
overridevirtual

Creates a link from the file currently specified by fileName() to newName.

What a link is depends on the underlying filesystem (be it a shortcut on Windows or a symbolic link on Unix). Returns true if successful; otherwise returns false.

Reimplemented from QAbstractFileEngine.

Definition at line 262 of file qqmlpreviewfileengine.cpp.

◆ mkdir()

bool QQmlPreviewFileEngine::mkdir ( const QString & dirName,
bool createParentDirectories,
std::optional< QFile::Permissions > permissions = std::nullopt ) const
overridevirtual

Requests that the directory dirName be created with the specified permissions.

If createParentDirectories is true, then any sub-directories in dirName that don't exist must be created. If createParentDirectories is false then any sub-directories in dirName must already exist for the function to succeed. If the operation succeeds return true; otherwise return false.

If permissions is null then implementation-specific default permissions are used.

See also
setFileName(), rmdir(), isRelativePath()

Reimplemented from QAbstractFileEngine.

Definition at line 267 of file qqmlpreviewfileengine.cpp.

◆ open()

bool QQmlPreviewFileEngine::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 101 of file qqmlpreviewfileengine.cpp.

References QQmlPreviewFileLoader::Directory, QQmlPreviewFileLoader::Fallback, QQmlPreviewFileLoader::File, and QBuffer::open().

+ Here is the call graph for this function:

◆ owner()

QString QQmlPreviewFileEngine::owner ( FileOwner owner) const
overridevirtual

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

If owner is OwnerGroup return the name of the group that own the file. If you can't determine the owner return QString().

See also
ownerId(), setFileName(), FileOwner

Reimplemented from QAbstractFileEngine.

Definition at line 322 of file qqmlpreviewfileengine.cpp.

References owner().

Referenced by owner(), and ownerId().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ownerId()

uint QQmlPreviewFileEngine::ownerId ( QAbstractFileEngine::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 209 of file qqmlpreviewfileengine.cpp.

References owner().

+ Here is the call graph for this function:

◆ pos()

qint64 QQmlPreviewFileEngine::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 136 of file qqmlpreviewfileengine.cpp.

References QBuffer::pos().

+ Here is the call graph for this function:

◆ read()

qint64 QQmlPreviewFileEngine::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 146 of file qqmlpreviewfileengine.cpp.

References QIODevice::read().

+ Here is the call graph for this function:

◆ readLine()

qint64 QQmlPreviewFileEngine::readLine ( char * data,
qint64 maxlen )
overridevirtual

This function reads one line, terminated by a '\n' character, from the file info data.

At most maxlen characters will be read. The end-of-line character is included.

Reimplemented from QAbstractFileEngine.

Definition at line 339 of file qqmlpreviewfileengine.cpp.

References QIODevice::readLine().

+ Here is the call graph for this function:

◆ remove()

bool QQmlPreviewFileEngine::remove ( )
overridevirtual

Requests that the file is deleted from the file system.

If the operation succeeds return true; otherwise return false.

See also
setFileName(), rmdir()

Reimplemented from QAbstractFileEngine.

Definition at line 242 of file qqmlpreviewfileengine.cpp.

◆ rename()

bool QQmlPreviewFileEngine::rename ( const QString & newName)
overridevirtual

Requests that the file be renamed to newName in the file system.

If the operation succeeds return true; otherwise return false.

See also
setFileName()

Reimplemented from QAbstractFileEngine.

Definition at line 252 of file qqmlpreviewfileengine.cpp.

◆ renameOverwrite()

bool QQmlPreviewFileEngine::renameOverwrite ( const QString & newName)
overridevirtual
Since
5.1

Requests that the file be renamed to newName in the file system. If the new name already exists, it must be overwritten. If the operation succeeds, returns true; otherwise returns false.

See also
setFileName()

Reimplemented from QAbstractFileEngine.

Definition at line 257 of file qqmlpreviewfileengine.cpp.

◆ rmdir()

bool QQmlPreviewFileEngine::rmdir ( const QString & dirName,
bool recurseParentDirectories ) const
overridevirtual

Requests that the directory dirName is deleted from the file system.

When recurseParentDirectories is true, then any empty parent-directories in dirName must also be deleted. If recurseParentDirectories is false, only the dirName leaf-node should be deleted. In most file systems a directory cannot be deleted using this function if it is non-empty. If the operation succeeds return true; otherwise return false.

See also
setFileName(), remove(), mkdir(), isRelativePath()

Reimplemented from QAbstractFileEngine.

Definition at line 273 of file qqmlpreviewfileengine.cpp.

◆ seek()

bool QQmlPreviewFileEngine::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 141 of file qqmlpreviewfileengine.cpp.

References QBuffer::seek().

+ Here is the call graph for this function:

◆ setFileName()

void QQmlPreviewFileEngine::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 90 of file qqmlpreviewfileengine.cpp.

References absolutePath(), QBuffer::close(), file, QByteArray(), and QBuffer::setData().

+ Here is the call graph for this function:

◆ setPermissions()

bool QQmlPreviewFileEngine::setPermissions ( uint perms)
overridevirtual

Requests that the file's permissions be set to perms.

The argument perms will be set to the OR-ed together combination of QAbstractFileEngine::FileInfo, with only the QAbstractFileEngine::PermsMask being honored. If the operations succceeds return true; otherwise return false;

See also
size()

Reimplemented from QAbstractFileEngine.

Definition at line 312 of file qqmlpreviewfileengine.cpp.

◆ setSize()

bool QQmlPreviewFileEngine::setSize ( qint64 size)
overridevirtual

Requests that the file be set to size size.

If size is larger than the current file then it is filled with 0's, if smaller it is simply truncated. If the operations succceeds return true; otherwise return false;

See also
size()

Reimplemented from QAbstractFileEngine.

Definition at line 278 of file qqmlpreviewfileengine.cpp.

References QBuffer::buffer(), QQmlPreviewFileLoader::Directory, QQmlPreviewFileLoader::Fallback, QQmlPreviewFileLoader::File, and QByteArray::resize().

+ Here is the call graph for this function:

◆ size()

qint64 QQmlPreviewFileEngine::size ( ) const
overridevirtual

Returns the size of the file.

Reimplemented from QAbstractFileEngine.

Definition at line 131 of file qqmlpreviewfileengine.cpp.

References QBuffer::size().

+ Here is the call graph for this function:

◆ supportsExtension()

bool QQmlPreviewFileEngine::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 354 of file qqmlpreviewfileengine.cpp.

References extension().

+ Here is the call graph for this function:

◆ syncToDisk()

bool QQmlPreviewFileEngine::syncToDisk ( )
overridevirtual
Since
5.1

Flushes and syncs the file to disk.

Returns true if successful; otherwise returns false. The default implementation always returns false.

Reimplemented from QAbstractFileEngine.

Definition at line 232 of file qqmlpreviewfileengine.cpp.

◆ write()

qint64 QQmlPreviewFileEngine::write ( const char * data,
qint64 len )
overridevirtual

Writes len bytes from data to the file.

Returns the number of characters written on success; otherwise returns -1.

Reimplemented from QAbstractFileEngine.

Definition at line 344 of file qqmlpreviewfileengine.cpp.

References QIODevice::write().

+ Here is the call graph for this function:

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