Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QWasmFileEngine Class Reference

The QWasmFileEngine class provides a QAbstractFileEngine for files that has the prefix ':weblocalfile/'. More...

#include <qwasmlocalfileengine_p.h>

Inheritance diagram for QWasmFileEngine:
Collaboration diagram for QWasmFileEngine:

Public Member Functions

 QWasmFileEngine (const QString &fileName, qstdweb::File file)
 QWasmFileEngine (const QString &fileName, qstdweb::FileSystemFileHandle file)
 ~QWasmFileEngine () override
virtual bool open (QIODevice::OpenMode openMode, std::optional< QFile::Permissions > permissions) override
 Opens the file in the specified mode.
virtual bool close () override
 Closes the file, returning true if successful; otherwise returns false.
virtual bool flush () override
 Flushes the open file, returning true if successful; otherwise returns false.
virtual bool syncToDisk () override
virtual qint64 size () const override
 Returns the size of the file.
virtual qint64 pos () const override
 Returns the current file position.
virtual bool seek (qint64 pos) override
 Sets the file position to the given offset.
virtual bool isSequential () const override
 Returns true if the file is a sequential access device; returns false if the file is a direct access device.
virtual bool remove () override
 Requests that the file is deleted from the file system.
virtual bool copy (const QString &newName) override
 Copies the contents of this file to a file with the name newName.
virtual bool rename (const QString &newName) override
 Requests that the file be renamed to newName in the file system.
virtual bool renameOverwrite (const QString &newName) override
virtual bool link (const QString &newName) override
 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 override
 Requests that the directory dirName be created with the specified permissions.
virtual bool rmdir (const QString &dirName, bool recurseParentDirectories) const override
 Requests that the directory dirName is deleted from the file system.
virtual bool setSize (qint64 size) override
 Requests that the file be set to size size.
virtual bool caseSensitive () const override
 Should return true if the underlying file system is case-sensitive; otherwise return false.
virtual bool isRelativePath () const override
 Return true if the file referred to by this file engine has a relative path; otherwise return false.
virtual FileFlags fileFlags (FileFlags type=FileInfoAll) 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.
virtual bool setPermissions (uint perms) override
 Requests that the file's permissions be set to perms.
virtual QByteArray id () const override
virtual QString fileName (FileName file=DefaultName) const override
 Return the file engine's current file name in the format specified by file.
virtual uint ownerId (FileOwner) const override
 If owner is OwnerUser return the ID of the user who owns the file.
virtual QString owner (FileOwner) const override
 If owner is OwnerUser return the name of the user who owns the file.
virtual bool setFileTime (const QDateTime &newDate, QFile::FileTime time) override
virtual QDateTime fileTime (QFile::FileTime time) const override
 If time is BirthTime, return when the file was born (created).
virtual void setFileName (const QString &file) override
 Sets the file engine's file name to file.
virtual int handle () const override
 Returns the native file handle for this file engine.
virtual TriStateResult cloneTo (QAbstractFileEngine *target) override
virtual IteratorUniquePtr beginEntryList (const QString &path, QDirListing::IteratorFlags 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.
virtual qint64 read (char *data, qint64 maxlen) override
 Reads a number of characters from the file into data.
virtual qint64 readLine (char *data, qint64 maxlen) override
 This function reads one line, terminated by a '\n' character, from the file info data.
virtual qint64 write (const char *data, qint64 len) override
 Writes len bytes from data to the file.
virtual bool extension (Extension extension, const ExtensionOption *option=nullptr, ExtensionReturn *output=nullptr) override
virtual bool supportsExtension (Extension extension) const override
Public Member Functions inherited from QAbstractFileEngine
virtual ~QAbstractFileEngine ()
 Destroys the QAbstractFileEngine.
bool atEnd () const
ucharmap (qint64 offset, qint64 size, QFile::MemoryMapFlags flags)
bool unmap (uchar *ptr)
virtual IteratorUniquePtr endEntryList ()
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 class  TriStateResult : qint8 { NotSupported = -1 , Failed = 0 , Success = 1 }
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

The QWasmFileEngine class provides a QAbstractFileEngine for files that has the prefix ':weblocalfile/'.

Definition at line 48 of file qwasmlocalfileengine_p.h.

Constructor & Destructor Documentation

◆ QWasmFileEngine() [1/2]

QWasmFileEngine::QWasmFileEngine ( const QString & fileName,
qstdweb::File file )
explicit

Definition at line 125 of file qwasmlocalfileengine.cpp.

References QWasmFileEngine().

Referenced by QWasmFileEngine(), and QWasmFileEngine().

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

◆ QWasmFileEngine() [2/2]

QWasmFileEngine::QWasmFileEngine ( const QString & fileName,
qstdweb::FileSystemFileHandle file )
explicit

Definition at line 133 of file qwasmlocalfileengine.cpp.

References QWasmFileEngine().

Here is the call graph for this function:

◆ ~QWasmFileEngine()

QWasmFileEngine::~QWasmFileEngine ( )
override

Definition at line 140 of file qwasmlocalfileengine.cpp.

References close().

Here is the call graph for this function:

Member Function Documentation

◆ beginEntryList()

QAbstractFileEngine::IteratorUniquePtr QWasmFileEngine::beginEntryList ( const QString & path,
QDirListing::IteratorFlags 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 365 of file qwasmlocalfileengine.cpp.

◆ caseSensitive()

bool QWasmFileEngine::caseSensitive ( ) const
overridevirtual

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

Reimplemented from QAbstractFileEngine.

Definition at line 268 of file qwasmlocalfileengine.cpp.

◆ cloneTo()

QAbstractFileEngine::TriStateResult QWasmFileEngine::cloneTo ( QAbstractFileEngine * target)
overridevirtual
Since
5.10

Duplicates the contents of this file (starting from the current position) to the file specified by the engine target.

Returns true on success; otherwise, false is returned.

Reimplemented from QAbstractFileEngine.

Definition at line 359 of file qwasmlocalfileengine.cpp.

◆ close()

bool QWasmFileEngine::close ( )
overridevirtual

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

The default implementation always returns false.

Reimplemented from QAbstractFileEngine.

Definition at line 158 of file qwasmlocalfileengine.cpp.

Referenced by ~QWasmFileEngine(), and setFileName().

Here is the caller graph for this function:

◆ copy()

bool QWasmFileEngine::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 222 of file qwasmlocalfileengine.cpp.

◆ extension()

bool QWasmFileEngine::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 408 of file qwasmlocalfileengine.cpp.

◆ fileFlags()

QAbstractFileEngine::FileFlags QWasmFileEngine::fileFlags ( FileFlags type = FileInfoAll) 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 279 of file qwasmlocalfileengine.cpp.

◆ fileName()

QString QWasmFileEngine::fileName ( FileName file = DefaultName) 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 298 of file qwasmlocalfileengine.cpp.

◆ fileTime()

QDateTime QWasmFileEngine::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 340 of file qwasmlocalfileengine.cpp.

◆ flush()

bool QWasmFileEngine::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 175 of file qwasmlocalfileengine.cpp.

Referenced by testing.tools.encode_pdf_filter._SinkPdfStream::close().

Here is the caller graph for this function:

◆ handle()

int QWasmFileEngine::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 354 of file qwasmlocalfileengine.cpp.

◆ id()

QByteArray QWasmFileEngine::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 293 of file qwasmlocalfileengine.cpp.

◆ isRelativePath()

bool QWasmFileEngine::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 273 of file qwasmlocalfileengine.cpp.

◆ isSequential()

bool QWasmFileEngine::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 212 of file qwasmlocalfileengine.cpp.

◆ link()

bool QWasmFileEngine::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 240 of file qwasmlocalfileengine.cpp.

◆ mkdir()

bool QWasmFileEngine::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 246 of file qwasmlocalfileengine.cpp.

◆ open()

bool QWasmFileEngine::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 145 of file qwasmlocalfileengine.cpp.

◆ owner()

QString QWasmFileEngine::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 328 of file qwasmlocalfileengine.cpp.

◆ ownerId()

uint QWasmFileEngine::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 323 of file qwasmlocalfileengine.cpp.

◆ pos()

qint64 QWasmFileEngine::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 194 of file qwasmlocalfileengine.cpp.

◆ read()

qint64 QWasmFileEngine::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 374 of file qwasmlocalfileengine.cpp.

◆ readLine()

qint64 QWasmFileEngine::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 386 of file qwasmlocalfileengine.cpp.

◆ remove()

bool QWasmFileEngine::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 217 of file qwasmlocalfileengine.cpp.

◆ rename()

bool QWasmFileEngine::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 228 of file qwasmlocalfileengine.cpp.

◆ renameOverwrite()

bool QWasmFileEngine::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 234 of file qwasmlocalfileengine.cpp.

◆ rmdir()

bool QWasmFileEngine::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 255 of file qwasmlocalfileengine.cpp.

◆ seek()

bool QWasmFileEngine::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 203 of file qwasmlocalfileengine.cpp.

◆ setFileName()

void QWasmFileEngine::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 346 of file qwasmlocalfileengine.cpp.

References close().

Here is the call graph for this function:

◆ setFileTime()

bool QWasmFileEngine::setFileTime ( const QDateTime & newDate,
QFile::FileTime time )
overridevirtual
Since
5.10

Sets the file time to newDate, returning true if successful; otherwise returns false.

See also
fileTime()

Reimplemented from QAbstractFileEngine.

Definition at line 333 of file qwasmlocalfileengine.cpp.

◆ setPermissions()

bool QWasmFileEngine::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 287 of file qwasmlocalfileengine.cpp.

◆ setSize()

bool QWasmFileEngine::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 262 of file qwasmlocalfileengine.cpp.

◆ size()

qint64 QWasmFileEngine::size ( ) const
overridevirtual

Returns the size of the file.

Reimplemented from QAbstractFileEngine.

Definition at line 185 of file qwasmlocalfileengine.cpp.

◆ supportsExtension()

bool QWasmFileEngine::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 416 of file qwasmlocalfileengine.cpp.

◆ syncToDisk()

bool QWasmFileEngine::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 180 of file qwasmlocalfileengine.cpp.

◆ write()

qint64 QWasmFileEngine::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 398 of file qwasmlocalfileengine.cpp.


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