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
QSequentialFileAdaptor Struct Reference

#include <qsequentialfileadaptor_p.h>

Inheritance diagram for QSequentialFileAdaptor:
Collaboration diagram for QSequentialFileAdaptor:

Public Member Functions

template<typename... Args>
 QSequentialFileAdaptor (Args... args)
bool open (QIODeviceBase::OpenMode mode) override
 Opens the device and sets its OpenMode to mode.
void close () override
 First emits aboutToClose(), then closes the device and sets its OpenMode to NotOpen.
qint64 pos () const override
 For random-access devices, this function returns the position that data is written to or read from.
qint64 size () const override
 For open random-access devices, this function returns the size of the device.
bool seek (qint64 pos) override
 For random-access devices, this function sets the current position to pos, returning true on success, or false if an error occurred.
bool atEnd () const override
 Returns true if the current read and write position is at the end of the device (i.e.
bool reset () override
 Seeks to the start of input for random-access devices.
qint64 bytesAvailable () const override
 Returns the number of bytes that are available for reading.
bool isSequential () const override
 Returns true if this device is sequential; otherwise returns false.
qint64 readData (char *data, qint64 maxlen) override
 Reads up to maxSize bytes from the device into data, and returns the number of bytes read or -1 if an error occurred.
qint64 writeData (const char *data, qint64 len) override
 Writes up to maxSize bytes from data to the device.
Public Member Functions inherited from QIODevice
 QIODevice ()
 Constructs a QIODevice object.
 QIODevice (QObject *parent)
 Constructs a QIODevice object with the given parent.
virtual ~QIODevice ()
 The destructor is virtual, and QIODevice is an abstract base class.
QIODeviceBase::OpenMode openMode () const
 Returns the mode in which the device has been opened; i.e.
void setTextModeEnabled (bool enabled)
 If enabled is true, this function sets the \l Text flag on the device; otherwise the \l Text flag is removed.
bool isTextModeEnabled () const
 Returns true if the \l Text flag is enabled; otherwise returns false.
bool isOpen () const
 Returns true if the device is open; otherwise returns false.
bool isReadable () const
 Returns true if data can be read from the device; otherwise returns false.
bool isWritable () const
 Returns true if data can be written to the device; otherwise returns false.
int readChannelCount () const
int writeChannelCount () const
int currentReadChannel () const
void setCurrentReadChannel (int channel)
int currentWriteChannel () const
void setCurrentWriteChannel (int channel)
virtual qint64 bytesToWrite () const
 For buffered devices, this function returns the number of bytes waiting to be written.
qint64 read (char *data, qint64 maxlen)
 Reads at most maxSize bytes from the device into data, and returns the number of bytes read.
QByteArray read (qint64 maxlen)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Reads at most maxSize bytes from the device, and returns the data read as a QByteArray.
QByteArray readAll ()
 Reads all remaining data from the device, and returns it as a byte array.
qint64 readLine (char *data, qint64 maxlen)
 This function reads a line of ASCII characters from the device, up to a maximum of maxSize - 1 bytes, stores the characters in data, and returns the number of bytes read.
QByteArray readLine (qint64 maxlen=0)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Reads a line from the device, but no more than maxSize characters, and returns the result as a byte array.
bool readLineInto (QByteArray *result, qint64 maxlen=0)
QByteArrayView readLineInto (QSpan< char > buffer)
QByteArrayView readLineInto (QSpan< uchar > buffer)
QByteArrayView readLineInto (QSpan< std::byte > buffer)
 Reads a line from this device into buffer, and returns the subset of buffer that contains the data read.
virtual bool canReadLine () const
 Returns true if a complete line of data can be read from the device; otherwise returns false.
void startTransaction ()
void commitTransaction ()
void rollbackTransaction ()
bool isTransactionStarted () const
qint64 write (const char *data, qint64 len)
 Writes at most maxSize bytes of data from data to the device.
qint64 write (const char *data)
qint64 write (const QByteArray &data)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Writes the content of data to the device.
qint64 peek (char *data, qint64 maxlen)
QByteArray peek (qint64 maxlen)
qint64 skip (qint64 maxSize)
virtual bool waitForReadyRead (int msecs)
 Blocks until new data is available for reading and the readyRead() signal has been emitted, or until msecs milliseconds have passed.
virtual bool waitForBytesWritten (int msecs)
 For buffered devices, this function waits until a payload of buffered written data has been written to the device and the bytesWritten() signal has been emitted, or until msecs milliseconds have passed.
void ungetChar (char c)
 Puts the character c back into the device, and decrements the current position unless the position is 0.
bool putChar (char c)
 Writes the character c to the device.
bool getChar (char *c)
 Reads one character from the device and stores it in c.
QString errorString () const
 Returns a human-readable description of the last device error that occurred.
Public Member Functions inherited from QObject
Q_INVOKABLE QObject (QObject *parent=nullptr)
 Constructs an object with parent object parent.
virtual ~QObject ()
 Destroys the object, deleting all its child objects.
virtual bool event (QEvent *event)
 This virtual function receives events to an object and should return true if the event e was recognized and processed.
virtual bool eventFilter (QObject *watched, QEvent *event)
 Filters events if this object has been installed as an event filter for the watched object.
QString objectName () const
Q_WEAK_OVERLOAD void setObjectName (const QString &name)
 Sets the object's name to name.
void setObjectName (QAnyStringView name)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
QBindable< QStringbindableObjectName ()
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false.
bool isWindowType () const
 Returns true if the object is a window; otherwise returns false.
bool isQuickItemType () const
 Returns true if the object is a QQuickItem; otherwise returns false.
bool isQmlObjectType () const
 Returns whether the object has been created by the QML engine or ownership has been explicitly set via QJSEngine::setObjectOwnership().
bool signalsBlocked () const noexcept
 Returns true if signals are blocked; otherwise returns false.
bool blockSignals (bool b) noexcept
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it).
QThreadthread () const
 Returns the thread in which the object lives.
bool moveToThread (QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL)
 Changes the thread affinity for this object and its children and returns true on success.
int startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer)
 This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds.
int startTimer (std::chrono::nanoseconds time, Qt::TimerType timerType=Qt::CoarseTimer)
void killTimer (int id)
 Kills the timer with timer identifier, id.
void killTimer (Qt::TimerId id)
template<typename T>
findChild (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object.
template<typename T>
QList< T > findChildren (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects.
template<typename T>
findChild (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
template<typename T>
QList< T > findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
const QObjectListchildren () const
 Returns a list of child objects.
void setParent (QObject *parent)
 Makes the object a child of parent.
void installEventFilter (QObject *filterObj)
 Installs an event filter filterObj on this object.
void removeEventFilter (QObject *obj)
 Removes an event filter object obj from this object.
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
bool disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const
bool disconnect (const QObject *receiver, const char *member=nullptr) const
void dumpObjectTree () const
 Dumps a tree of children to the debug output.
void dumpObjectInfo () const
 Dumps information about signal connections, etc.
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value.
bool setProperty (const char *name, QVariant &&value)
QVariant property (const char *name) const
 Returns the value of the object's name property.
QList< QByteArraydynamicPropertyNames () const
QBindingStoragebindingStorage ()
const QBindingStoragebindingStorage () const
QObjectparent () const
 Returns a pointer to the parent object.
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false.

Public Attributes

QFile m_file

Additional Inherited Members

Public Types inherited from QIODeviceBase
enum  OpenModeFlag {
  NotOpen = 0x0000 , ReadOnly = 0x0001 , WriteOnly = 0x0002 , ReadWrite = ReadOnly | WriteOnly ,
  Append = 0x0004 , Truncate = 0x0008 , Text = 0x0010 , Unbuffered = 0x0020 ,
  NewOnly = 0x0040 , ExistingOnly = 0x0080
}
 This enum is used with QIODevice::open() to describe the mode in which a device is opened. More...
Public Slots inherited from QObject
void deleteLater ()
 \threadsafe
Signals inherited from QIODevice
void readyRead ()
 This signal is emitted once every time new data is available for reading from the device's current read channel.
void channelReadyRead (int channel)
void bytesWritten (qint64 bytes)
 This signal is emitted every time a payload of data has been written to the device's current write channel.
void channelBytesWritten (int channel, qint64 bytes)
void aboutToClose ()
 This signal is emitted when the device is about to close.
void readChannelFinished ()
Signals inherited from QObject
void destroyed (QObject *=nullptr)
 This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked.
void objectNameChanged (const QString &objectName, QPrivateSignal)
 This signal is emitted after the object's name has been changed.
Static Public Member Functions inherited from QObject
static QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 \threadsafe
static QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
template<typename Func1, typename Func2>
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType type=Qt::AutoConnection)
template<typename Func1, typename Func2>
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot)
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 \threadsafe
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
static bool disconnect (const QMetaObject::Connection &)
 Disconnect a connection.
template<typename Func1, typename Func2>
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot)
template<typename Func1>
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero)
Protected Member Functions inherited from QIODevice
 QIODevice (QIODevicePrivate &dd, QObject *parent=nullptr)
virtual qint64 readLineData (char *data, qint64 maxlen)
 Reads up to maxSize characters into data and returns the number of characters read.
virtual qint64 skipData (qint64 maxSize)
void setOpenMode (QIODeviceBase::OpenMode openMode)
 Sets the OpenMode of the device to openMode.
void setErrorString (const QString &errorString)
 Sets the human readable description of the last device error that occurred to str.
Protected Member Functions inherited from QObject
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr.
int senderSignalIndex () const
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal.
bool isSignalConnected (const QMetaMethod &signal) const
virtual void timerEvent (QTimerEvent *event)
 This event handler can be reimplemented in a subclass to receive timer events for the object.
virtual void childEvent (QChildEvent *event)
 This event handler can be reimplemented in a subclass to receive child events.
virtual void customEvent (QEvent *event)
 This event handler can be reimplemented in a subclass to receive custom events.
virtual void connectNotify (const QMetaMethod &signal)
virtual void disconnectNotify (const QMetaMethod &signal)
 QObject (QObjectPrivate &dd, QObject *parent=nullptr)
Protected Member Functions inherited from QIODeviceBase
 ~QIODeviceBase ()=default
Protected Attributes inherited from QObject
QScopedPointer< QObjectDatad_ptr
Properties inherited from QObject
QString objectName
 the name of this object

Detailed Description

Definition at line 20 of file qsequentialfileadaptor_p.h.

Constructor & Destructor Documentation

◆ QSequentialFileAdaptor()

template<typename... Args>
QSequentialFileAdaptor::QSequentialFileAdaptor ( Args... args)
inlineexplicit

Definition at line 23 of file qsequentialfileadaptor_p.h.

Member Function Documentation

◆ atEnd()

bool QSequentialFileAdaptor::atEnd ( ) const
inlineoverridevirtual

Returns true if the current read and write position is at the end of the device (i.e.

there is no more data available for reading on the device); otherwise returns false.

For some devices, atEnd() can return true even though there is more data to read. This special case only applies to devices that generate data in direct response to you calling read() (e.g., /dev or /proc files on Unix and \macos, or console input / stdin on all platforms).

See also
bytesAvailable(), read(), isSequential()

Reimplemented from QIODevice.

Definition at line 42 of file qsequentialfileadaptor_p.h.

◆ bytesAvailable()

qint64 QSequentialFileAdaptor::bytesAvailable ( ) const
inlineoverridevirtual

Returns the number of bytes that are available for reading.

This function is commonly used with sequential devices to determine the number of bytes to allocate in a buffer before reading.

Subclasses that reimplement this function must call the base implementation in order to include the size of the buffer of QIODevice. Example:

See also
bytesToWrite(), readyRead(), isSequential()

Reimplemented from QIODevice.

Definition at line 45 of file qsequentialfileadaptor_p.h.

◆ close()

void QSequentialFileAdaptor::close ( )
inlineoverridevirtual

First emits aboutToClose(), then closes the device and sets its OpenMode to NotOpen.

The error string is also reset.

See also
setOpenMode(), QIODeviceBase::OpenMode

Reimplemented from QIODevice.

Definition at line 33 of file qsequentialfileadaptor_p.h.

◆ isSequential()

bool QSequentialFileAdaptor::isSequential ( ) const
inlineoverridevirtual

Returns true if this device is sequential; otherwise returns false.

Sequential devices, as opposed to a random-access devices, have no concept of a start, an end, a size, or a current position, and they do not support seeking. You can only read from the device when it reports that data is available. The most common example of a sequential device is a network socket. On Unix, special files such as /dev/zero and fifo pipes are sequential.

Regular files, on the other hand, do support random access. They have both a size and a current position, and they also support seeking backwards and forwards in the data stream. Regular files are non-sequential.

See also
bytesAvailable()

Reimplemented from QIODevice.

Definition at line 47 of file qsequentialfileadaptor_p.h.

◆ open()

bool QSequentialFileAdaptor::open ( QIODeviceBase::OpenMode mode)
inlineoverridevirtual

Opens the device and sets its OpenMode to mode.

Returns true if successful; otherwise returns false. This function should be called from any reimplementations of open() or other functions that open the device.

See also
openMode(), QIODeviceBase::OpenMode

Reimplemented from QIODevice.

Definition at line 27 of file qsequentialfileadaptor_p.h.

◆ pos()

qint64 QSequentialFileAdaptor::pos ( ) const
inlineoverridevirtual

For random-access devices, this function returns the position that data is written to or read from.

For sequential devices or closed devices, where there is no concept of a "current position", 0 is returned.

The current read/write position of the device is maintained internally by QIODevice, so reimplementing this function is not necessary. When subclassing QIODevice, use QIODevice::seek() to notify QIODevice about changes in the device position.

See also
isSequential(), seek()

Reimplemented from QIODevice.

Definition at line 39 of file qsequentialfileadaptor_p.h.

◆ readData()

qint64 QSequentialFileAdaptor::readData ( char * data,
qint64 maxSize )
inlineoverridevirtual

Reads up to maxSize bytes from the device into data, and returns the number of bytes read or -1 if an error occurred.

If there are no bytes to be read and there can never be more bytes available (examples include socket closed, pipe closed, sub-process finished), this function returns -1.

This function is called by QIODevice. Reimplement this function when creating a subclass of QIODevice.

When reimplementing this function it is important that this function reads all the required data before returning. This is required in order for QDataStream to be able to operate on the class. QDataStream assumes all the requested information was read and therefore does not retry reading if there was a problem.

This function might be called with a maxSize of 0, which can be used to perform post-reading operations.

See also
read(), readLine(), writeData()

Implements QIODevice.

Definition at line 49 of file qsequentialfileadaptor_p.h.

◆ reset()

bool QSequentialFileAdaptor::reset ( )
inlineoverridevirtual

Seeks to the start of input for random-access devices.

Returns true on success; otherwise returns false (for example, if the device is not open).

Note that when using a QTextStream on a QFile, calling reset() on the QFile will not have the expected result because QTextStream buffers the file. Use the QTextStream::seek() function instead.

See also
seek()

Reimplemented from QIODevice.

Definition at line 43 of file qsequentialfileadaptor_p.h.

◆ seek()

bool QSequentialFileAdaptor::seek ( qint64 pos)
inlineoverridevirtual

For random-access devices, this function sets the current position to pos, returning true on success, or false if an error occurred.

For sequential devices, the default behavior is to produce a warning and return false.

When subclassing QIODevice, you must call QIODevice::seek() at the start of your function to ensure integrity with QIODevice's built-in buffer.

See also
pos(), isSequential()

Reimplemented from QIODevice.

Definition at line 41 of file qsequentialfileadaptor_p.h.

◆ size()

qint64 QSequentialFileAdaptor::size ( ) const
inlineoverridevirtual

For open random-access devices, this function returns the size of the device.

For open sequential devices, bytesAvailable() is returned.

If the device is closed, the size returned will not reflect the actual size of the device.

See also
isSequential(), pos()

Reimplemented from QIODevice.

Definition at line 40 of file qsequentialfileadaptor_p.h.

◆ writeData()

qint64 QSequentialFileAdaptor::writeData ( const char * data,
qint64 maxSize )
inlineoverridevirtual

Writes up to maxSize bytes from data to the device.

Returns the number of bytes written, or -1 if an error occurred.

This function is called by QIODevice. Reimplement this function when creating a subclass of QIODevice.

When reimplementing this function it is important that this function writes all the data available before returning. This is required in order for QDataStream to be able to operate on the class. QDataStream assumes all the information was written and therefore does not retry writing if there was a problem.

See also
read(), write()

Implements QIODevice.

Definition at line 50 of file qsequentialfileadaptor_p.h.

Member Data Documentation

◆ m_file

QFile QSequentialFileAdaptor::m_file

Definition at line 52 of file qsequentialfileadaptor_p.h.


The documentation for this struct was generated from the following file: