Qt 4.8
Public Functions | Protected Functions | Private Types | Private Slots | Properties | List of all members
QPatternist::QIODeviceDelegate Class Reference

#include <qiodevicedelegate_p.h>

Inheritance diagram for QPatternist::QIODeviceDelegate:
QNetworkReply QIODevice QObject

Public Functions

virtual void abort ()
 Aborts the operation immediately and close down any network connections still open. More...
 
virtual bool atEnd () const
 Returns true if the current read and write position is at the end of the device (i.e. More...
 
virtual qint64 bytesAvailable () const
 Returns the number of bytes that are available for reading. More...
 
virtual qint64 bytesToWrite () const
 For buffered devices, this function returns the number of bytes waiting to be written. More...
 
virtual bool canReadLine () const
 Returns true if a complete line of data can be read from the device; otherwise returns false. More...
 
virtual void close ()
 Closes this device for reading. More...
 
virtual bool isSequential () const
 
virtual bool open (OpenMode mode)
 Opens the device and sets its OpenMode to mode. More...
 
virtual qint64 pos () const
 For random-access devices, this function returns the position that data is written to or read from. More...
 
 QIODeviceDelegate (QIODevice *const source)
 
virtual bool reset ()
 Seeks to the start of input for random-access devices. More...
 
virtual bool seek (qint64 pos)
 For random-access devices, this function sets the current position to pos, returning true on success, or false if an error occurred. More...
 
virtual qint64 size () const
 For open random-access devices, this function returns the size of the device. More...
 
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. More...
 
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. More...
 
- Public Functions inherited from QNetworkReply
QVariant attribute (QNetworkRequest::Attribute code) const
 Returns the attribute associated with the code code. More...
 
NetworkError error () const
 Returns the error that was found during the processing of this request. More...
 
bool hasRawHeader (const QByteArray &headerName) const
 Returns true if the raw header of name headerName was sent by the remote server. More...
 
QVariant header (QNetworkRequest::KnownHeaders header) const
 Returns the value of the known header header, if that header was sent by the remote server. More...
 
void ignoreSslErrors (const QList< QSslError > &errors)
 If this function is called, the SSL errors given in errors will be ignored. More...
 
bool isFinished () const
 Returns true when the reply has finished or was aborted. More...
 
bool isRunning () const
 Returns true when the request is still processing and the reply has not finished or was aborted yet. More...
 
QNetworkAccessManagermanager () const
 Returns the QNetworkAccessManager that was used to create this QNetworkReply object. More...
 
QNetworkAccessManager::Operation operation () const
 Returns the operation that was posted for this reply. More...
 
QByteArray rawHeader (const QByteArray &headerName) const
 Returns the raw contents of the header headerName as sent by the remote server. More...
 
QList< QByteArrayrawHeaderList () const
 Returns a list of headers fields that were sent by the remote server, in the order that they were sent. More...
 
const QList< RawHeaderPair > & rawHeaderPairs () const
 Returns a list of raw header pairs. More...
 
qint64 readBufferSize () const
 Returns the size of the read buffer, in bytes. More...
 
QNetworkRequest request () const
 Returns the request that was posted for this reply. More...
 
virtual void setReadBufferSize (qint64 size)
 Sets the size of the read buffer to be size bytes. More...
 
void setSslConfiguration (const QSslConfiguration &configuration)
 Sets the SSL configuration for the network connection associated with this request, if possible, to be that of config. More...
 
QSslConfiguration sslConfiguration () const
 Returns the SSL configuration and state associated with this reply, if SSL was used. More...
 
QUrl url () const
 Returns the URL of the content downloaded or uploaded. More...
 
 ~QNetworkReply ()
 Disposes of this reply and frees any resources associated with it. More...
 
- Public Functions inherited from QIODevice
QString errorString () const
 Returns a human-readable description of the last device error that occurred. More...
 
bool getChar (char *c)
 Reads one character from the device and stores it in c. More...
 
bool isOpen () const
 Returns true if the device is open; otherwise returns false. More...
 
bool isReadable () const
 Returns true if data can be read from the device; otherwise returns false. More...
 
bool isTextModeEnabled () const
 Returns true if the Text flag is enabled; otherwise returns false. More...
 
bool isWritable () const
 Returns true if data can be written to the device; otherwise returns false. More...
 
OpenMode openMode () const
 Returns the mode in which the device has been opened; i.e. More...
 
qint64 peek (char *data, qint64 maxlen)
 Reads at most maxSize bytes from the device into data, without side effects (i. More...
 
QByteArray peek (qint64 maxlen)
 Peeks at most maxSize bytes from the device, returning the data peeked as a QByteArray. More...
 
bool putChar (char c)
 Writes the character c to the device. More...
 
 QIODevice ()
 Constructs a QIODevice object. More...
 
 QIODevice (QObject *parent)
 Constructs a QIODevice object with the given parent. More...
 
qint64 read (char *data, qint64 maxlen)
 Reads at most maxSize bytes from the device into data, and returns the number of bytes read. More...
 
QByteArray read (qint64 maxlen)
 Reads at most maxSize bytes from the device, and returns the data read as a QByteArray. More...
 
QByteArray readAll ()
 Reads all available data from the device, and returns it as a QByteArray. More...
 
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. More...
 
QByteArray readLine (qint64 maxlen=0)
 Reads a line from the device, but no more than maxSize characters, and returns the result as a QByteArray. More...
 
void setTextModeEnabled (bool enabled)
 If enabled is true, this function sets the Text flag on the device; otherwise the Text flag is removed. More...
 
void ungetChar (char c)
 Puts the character c back into the device, and decrements the current position unless the position is 0. More...
 
qint64 write (const char *data, qint64 len)
 Writes at most maxSize bytes of data from data to the device. More...
 
qint64 write (const char *data)
 Writes data from a zero-terminated string of 8-bit characters to the device. More...
 
qint64 write (const QByteArray &data)
 Writes the content of byteArray to the device. More...
 
virtual ~QIODevice ()
 The destructor is virtual, and QIODevice is an abstract base class. More...
 
- Public Functions inherited from QObject
bool blockSignals (bool b)
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). More...
 
const QObjectListchildren () const
 Returns a list of child objects. More...
 
bool connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=0, const QObject *receiver=0, const char *member=0)
 
bool disconnect (const QObject *receiver, const char *member=0)
 
void dumpObjectInfo ()
 Dumps information about signal connections, etc. More...
 
void dumpObjectTree ()
 Dumps a tree of children to the debug output. More...
 
QList< QByteArraydynamicPropertyNames () const
 Returns the names of all properties that were dynamically added to the object using setProperty(). More...
 
virtual bool event (QEvent *)
 This virtual function receives events to an object and should return true if the event e was recognized and processed. More...
 
virtual bool eventFilter (QObject *, QEvent *)
 Filters events if this object has been installed as an event filter for the watched object. More...
 
template<typename T >
findChild (const QString &aName=QString()) const
 Returns the child of this object that can be cast into type T and that is called name, or 0 if there is no such object. More...
 
template<typename T >
QList< T > findChildren (const QString &aName=QString()) 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. More...
 
template<typename T >
QList< T > findChildren (const QRegExp &re) const
 
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. More...
 
void installEventFilter (QObject *)
 Installs an event filter filterObj on this object. More...
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false. More...
 
void killTimer (int id)
 Kills the timer with timer identifier, id. More...
 
virtual const QMetaObjectmetaObject () const
 Returns a pointer to the meta-object of this object. More...
 
void moveToThread (QThread *thread)
 Changes the thread affinity for this object and its children. More...
 
QString objectName () const
 
QObjectparent () const
 Returns a pointer to the parent object. More...
 
QVariant property (const char *name) const
 Returns the value of the object's name property. More...
 
Q_INVOKABLE QObject (QObject *parent=0)
 Constructs an object with parent object parent. More...
 
void removeEventFilter (QObject *)
 Removes an event filter object obj from this object. More...
 
void setObjectName (const QString &name)
 
void setParent (QObject *)
 Makes the object a child of parent. More...
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value. More...
 
void setUserData (uint id, QObjectUserData *data)
 
bool signalsBlocked () const
 Returns true if signals are blocked; otherwise returns false. More...
 
int startTimer (int interval)
 Starts a timer and returns a timer identifier, or returns zero if it could not start a timer. More...
 
QThreadthread () const
 Returns the thread in which the object lives. More...
 
QObjectUserDatauserData (uint id) const
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects. More...
 

Protected Functions

virtual qint64 readData (char *data, qint64 maxSize)
 Reads up to maxSize bytes from the device into data, and returns the number of bytes read or -1 if an error occurred. More...
 
- Protected Functions inherited from QNetworkReply
 QNetworkReply (QObject *parent=0)
 Creates a QNetworkReply object with parent parent. More...
 
 QNetworkReply (QNetworkReplyPrivate &dd, QObject *parent)
 
void setAttribute (QNetworkRequest::Attribute code, const QVariant &value)
 Sets the attribute code to have value value. More...
 
void setError (NetworkError errorCode, const QString &errorString)
 Sets the error condition to be errorCode. More...
 
void setFinished (bool)
 Sets the reply as finished. More...
 
void setHeader (QNetworkRequest::KnownHeaders header, const QVariant &value)
 Sets the known header header to be of value value. More...
 
void setOperation (QNetworkAccessManager::Operation operation)
 Sets the associated operation for this object to be operation. More...
 
void setRawHeader (const QByteArray &headerName, const QByteArray &value)
 Sets the raw header headerName to be of value value. More...
 
void setRequest (const QNetworkRequest &request)
 Sets the associated request for this object to be request. More...
 
void setUrl (const QUrl &url)
 Sets the URL being processed to be url. More...
 
virtual qint64 writeData (const char *data, qint64 len)
 
- Protected Functions inherited from QIODevice
 QIODevice (QIODevicePrivate &dd, QObject *parent=0)
 
virtual qint64 readLineData (char *data, qint64 maxlen)
 Reads up to maxSize characters into data and returns the number of characters read. More...
 
void setErrorString (const QString &errorString)
 Sets the human readable description of the last device error that occurred to str. More...
 
void setOpenMode (OpenMode openMode)
 Sets the OpenMode of the device to openMode. More...
 
- Protected Functions inherited from QObject
virtual void childEvent (QChildEvent *)
 This event handler can be reimplemented in a subclass to receive child events. More...
 
virtual void connectNotify (const char *signal)
 This virtual function is called when something has been connected to signal in this object. More...
 
virtual void customEvent (QEvent *)
 This event handler can be reimplemented in a subclass to receive custom events. More...
 
virtual void disconnectNotify (const char *signal)
 This virtual function is called when something has been disconnected from signal in this object. More...
 
 QObject (QObjectPrivate &dd, QObject *parent=0)
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal. More...
 
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns 0. More...
 
int senderSignalIndex () const
 
virtual void timerEvent (QTimerEvent *)
 This event handler can be reimplemented in a subclass to receive timer events for the object. More...
 

Private Types

enum  { Timeout = 20000 }
 

Private Slots

void networkTimeout ()
 

Properties

QIODevice *const m_source
 
QTimer m_timeout
 

Additional Inherited Members

- Public Types inherited from QNetworkReply
enum  NetworkError {
  NoError = 0, ConnectionRefusedError = 1, RemoteHostClosedError, HostNotFoundError,
  TimeoutError, OperationCanceledError, SslHandshakeFailedError, TemporaryNetworkFailureError,
  UnknownNetworkError = 99, ProxyConnectionRefusedError = 101, ProxyConnectionClosedError, ProxyNotFoundError,
  ProxyTimeoutError, ProxyAuthenticationRequiredError, UnknownProxyError = 199, ContentAccessDenied = 201,
  ContentOperationNotPermittedError, ContentNotFoundError, AuthenticationRequiredError, ContentReSendError,
  UnknownContentError = 299, ProtocolUnknownError = 301, ProtocolInvalidOperationError, ProtocolFailure = 399
}
 Indicates all possible error conditions found during the processing of the request. More...
 
typedef QPair< QByteArray, QByteArrayRawHeaderPair
 RawHeaderPair is a QPair<QByteArray, QByteArray> where the first QByteArray is the header name and the second is the header. More...
 
- Public Types inherited from QIODevice
enum  OpenModeFlag {
  NotOpen = 0x0000, ReadOnly = 0x0001, WriteOnly = 0x0002, ReadWrite = ReadOnly | WriteOnly,
  Append = 0x0004, Truncate = 0x0008, Text = 0x0010, Unbuffered = 0x0020
}
 This enum is used with open() to describe the mode in which a device is opened. More...
 
- Public Slots inherited from QNetworkReply
virtual void ignoreSslErrors ()
 If this function is called, SSL errors related to network connection will be ignored, including certificate validation errors. More...
 
- Public Slots inherited from QObject
void deleteLater ()
 Schedules this object for deletion. More...
 
- Signals inherited from QNetworkReply
void downloadProgress (qint64 bytesReceived, qint64 bytesTotal)
 This signal is emitted to indicate the progress of the download part of this network request, if there's any. More...
 
void error (QNetworkReply::NetworkError)
 This signal is emitted when the reply detects an error in processing. More...
 
void finished ()
 This signal is emitted when the reply has finished processing. More...
 
void metaDataChanged ()
 This signal is emitted whenever the metadata in this reply changes. More...
 
void sslErrors (const QList< QSslError > &errors)
 This signal is emitted if the SSL/TLS session encountered errors during the set up, including certificate verification errors. More...
 
void uploadProgress (qint64 bytesSent, qint64 bytesTotal)
 This signal is emitted to indicate the progress of the upload part of this network request, if there's any. More...
 
- Signals inherited from QIODevice
void aboutToClose ()
 This signal is emitted when the device is about to close. More...
 
void bytesWritten (qint64 bytes)
 This signal is emitted every time a payload of data has been written to the device. More...
 
void readChannelFinished ()
 This signal is emitted when the input (reading) stream is closed in this device. More...
 
void readyRead ()
 This signal is emitted once every time new data is available for reading from the device. More...
 
- Signals inherited from QObject
void destroyed (QObject *=0)
 This signal is emitted immediately before the object obj is destroyed, and can not be blocked. More...
 
- Static Public Functions inherited from QObject
static bool connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 Creates a connection of the given type from the signal in the sender object to the method in the receiver object. More...
 
static bool connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 Disconnects signal in object sender from method in object receiver. More...
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static uint registerUserData ()
 
static QString tr (const char *sourceText, const char *comment=0, int n=-1)
 
static QString trUtf8 (const char *sourceText, const char *comment=0, int n=-1)
 
- Static Public Variables inherited from QObject
static const QMetaObject staticMetaObject
 This variable stores the meta-object for the class. More...
 
- Protected Variables inherited from QObject
QScopedPointer< QObjectDatad_ptr
 
- Static Protected Variables inherited from QObject
static const QMetaObject staticQtMetaObject
 

Detailed Description

This is read-only currently.

Definition at line 65 of file qiodevicedelegate_p.h.

Enumerations

◆ anonymous enum

anonymous enum
private
Enumerator
Timeout 

20 seconds expressed in milliseconds.

Definition at line 93 of file qiodevicedelegate_p.h.

Constructors and Destructors

◆ QIODeviceDelegate()

QIODeviceDelegate::QIODeviceDelegate ( QIODevice *const  source)

Definition at line 52 of file qiodevicedelegate.cpp.

52  : m_source(source)
53 {
55 
59  connect(source, SIGNAL(readyRead()), SIGNAL(readyRead()));
60 
61  /* According to Thiago these two signals are very similar, but QtNetworkAccess uses finished()
62  * instead for a minor but significant reason. */
64 
65  /* For instance QFile emits no signals, so how do we know if the device has all data available
66  * and it therefore is safe and correct to emit finished()? isSequential() tells us whether it's
67  * not random access, and whether it's safe to emit finished(). */
68  if(m_source->isSequential())
70  else
72 
74 
75  /* Set up the timeout timer. */
76  connect(&m_timeout, SIGNAL(timeout()), SLOT(networkTimeout()));
77 
80 }
void setSingleShot(bool singleShot)
Definition: qtimer.h:108
void setOpenMode(OpenMode openMode)
Sets the OpenMode of the device to openMode.
Definition: qiodevice.cpp:477
void readChannelFinished()
This signal is emitted when the input (reading) stream is closed in this device.
void aboutToClose()
This signal is emitted when the device is about to close.
#define SLOT(a)
Definition: qobjectdefs.h:226
void bytesWritten(qint64 bytes)
This signal is emitted every time a payload of data has been written to the device.
#define Q_ASSERT(cond)
Definition: qglobal.h:1823
#define SIGNAL(a)
Definition: qobjectdefs.h:227
static bool connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
Creates a connection of the given type from the signal in the sender object to the method in the rece...
Definition: qobject.cpp:2580
__int64 qint64
Definition: qglobal.h:942
virtual bool isSequential() const
Returns true if this device is sequential; otherwise returns false.
Definition: qiodevice.cpp:454
void finished()
This signal is emitted when the reply has finished processing.
static bool invokeMethod(QObject *obj, const char *member, Qt::ConnectionType, QGenericReturnArgument ret, QGenericArgument val0=QGenericArgument(0), QGenericArgument val1=QGenericArgument(), QGenericArgument val2=QGenericArgument(), QGenericArgument val3=QGenericArgument(), QGenericArgument val4=QGenericArgument(), QGenericArgument val5=QGenericArgument(), QGenericArgument val6=QGenericArgument(), QGenericArgument val7=QGenericArgument(), QGenericArgument val8=QGenericArgument(), QGenericArgument val9=QGenericArgument())
Invokes the member (a signal or a slot name) on the object obj.
void readyRead()
This signal is emitted once every time new data is available for reading from the device...
void start(int msec)
Starts or restarts the timer with a timeout interval of msec milliseconds.
Definition: qtimer.cpp:249

Functions

◆ abort()

void QIODeviceDelegate::abort ( )
virtual

Aborts the operation immediately and close down any network connections still open.

Uploads still in progress are also aborted.

See also
close()

Implements QNetworkReply.

Definition at line 88 of file qiodevicedelegate.cpp.

89 {
90  /* Do nothing, just to please QNetworkReply's pure virtual. */
91 }

◆ atEnd()

bool QIODeviceDelegate::atEnd ( ) const
virtual

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 Mac OS X, or console input / stdin on all platforms).

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

Reimplemented from QIODevice.

Definition at line 93 of file qiodevicedelegate.cpp.

94 {
95  return m_source->atEnd();
96 }
virtual bool atEnd() const
Returns true if the current read and write position is at the end of the device (i.e.
Definition: qiodevice.cpp:711

◆ bytesAvailable()

qint64 QIODeviceDelegate::bytesAvailable ( ) const
virtual

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 QIODevices' buffer. Example:

qint64 CustomDevice::bytesAvailable() const
{
return buffer.size() + QIODevice::bytesAvailable();
}
See also
bytesToWrite(), readyRead(), isSequential()

Reimplemented from QIODevice.

Definition at line 98 of file qiodevicedelegate.cpp.

99 {
100  return m_source->bytesAvailable();
101 }
virtual qint64 bytesAvailable() const
Returns the number of bytes that are available for reading.
Definition: qiodevice.cpp:752

◆ bytesToWrite()

qint64 QIODeviceDelegate::bytesToWrite ( ) const
virtual

For buffered devices, this function returns the number of bytes waiting to be written.

For devices with no buffer, this function returns 0.

See also
bytesAvailable(), bytesWritten(), isSequential()

Reimplemented from QIODevice.

Definition at line 103 of file qiodevicedelegate.cpp.

104 {
105  return m_source->bytesToWrite();
106 }
virtual qint64 bytesToWrite() const
For buffered devices, this function returns the number of bytes waiting to be written.
Definition: qiodevice.cpp:767

◆ canReadLine()

bool QIODeviceDelegate::canReadLine ( ) const
virtual

Returns true if a complete line of data can be read from the device; otherwise returns false.

Note that unbuffered devices, which have no way of determining what can be read, always return false.

This function is often called in conjunction with the readyRead() signal.

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

bool CustomDevice::canReadLine() const
{
return buffer.contains('\n') || QIODevice::canReadLine();
}
See also
readyRead(), readLine()

Reimplemented from QIODevice.

Definition at line 108 of file qiodevicedelegate.cpp.

109 {
110  return m_source->canReadLine();
111 }
virtual bool canReadLine() const
Returns true if a complete line of data can be read from the device; otherwise returns false...
Definition: qiodevice.cpp:1330

◆ close()

void QIODeviceDelegate::close ( )
virtual

Closes this device for reading.

Unread data is discarded, but the network resources are not discarded until they are finished. In particular, if any upload is in progress, it will continue until it is done.

The finished() signal is emitted when all operations are over and the network resources are freed.

See also
abort(), finished()

Reimplemented from QNetworkReply.

Definition at line 113 of file qiodevicedelegate.cpp.

114 {
115  return m_source->close();
116 }
virtual void close()
First emits aboutToClose(), then closes the device and sets its OpenMode to NotOpen.
Definition: qiodevice.cpp:590

◆ isSequential()

bool QIODeviceDelegate::isSequential ( ) const
virtual
Warning
This function is not part of the public interface.

Reimplemented from QNetworkReply.

Definition at line 118 of file qiodevicedelegate.cpp.

119 {
120  return m_source->isSequential();
121 }
virtual bool isSequential() const
Returns true if this device is sequential; otherwise returns false.
Definition: qiodevice.cpp:454

◆ networkTimeout

void QIODeviceDelegate::networkTimeout ( )
privateslot

Definition at line 82 of file qiodevicedelegate.cpp.

Referenced by QIODeviceDelegate().

83 {
84  setErrorString(QtXmlPatterns::tr("Network timeout."));
86 }
NetworkError error() const
Returns the error that was found during the processing of this request.
void setErrorString(const QString &errorString)
Sets the human readable description of the last device error that occurred to str.
Definition: qiodevice.cpp:1660

◆ open()

bool QIODeviceDelegate::open ( OpenMode  mode)
virtual

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() OpenMode

Reimplemented from QIODevice.

Definition at line 123 of file qiodevicedelegate.cpp.

124 {
125  const bool success = m_source->open(mode);
127  return success;
128 }
void setOpenMode(OpenMode openMode)
Sets the OpenMode of the device to openMode.
Definition: qiodevice.cpp:477
OpenMode openMode() const
Returns the mode in which the device has been opened; i.e.
Definition: qiodevice.cpp:465
virtual bool open(OpenMode mode)
Opens the device and sets its OpenMode to mode.
Definition: qiodevice.cpp:570

◆ pos()

qint64 QIODeviceDelegate::pos ( ) const
virtual

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 130 of file qiodevicedelegate.cpp.

131 {
132  return m_source->pos();
133 }
virtual qint64 pos() const
For random-access devices, this function returns the position that data is written to or read from...
Definition: qiodevice.cpp:624

◆ readData()

qint64 QIODeviceDelegate::readData ( char *  data,
qint64  maxSize 
)
protectedvirtual

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.

See also
read() readLine() writeData()

Implements QIODevice.

Definition at line 160 of file qiodevicedelegate.cpp.

161 {
162  return m_source->read(data, maxSize);
163 }
qint64 read(char *data, qint64 maxlen)
Reads at most maxSize bytes from the device into data, and returns the number of bytes read...
Definition: qiodevice.cpp:791
static const char * data(const QByteArray &arr)

◆ reset()

bool QIODeviceDelegate::reset ( )
virtual

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 135 of file qiodevicedelegate.cpp.

136 {
137  return m_source->reset();
138 }
virtual bool reset()
Seeks to the start of input for random-access devices.
Definition: qiodevice.cpp:732

◆ seek()

bool QIODeviceDelegate::seek ( qint64  pos)
virtual

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 do nothing 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. The base implementation always returns true.

See also
pos(), isSequential()

Reimplemented from QIODevice.

Definition at line 140 of file qiodevicedelegate.cpp.

141 {
142  return m_source->seek(pos);
143 }
virtual qint64 pos() const
For random-access devices, this function returns the position that data is written to or read from...
virtual bool seek(qint64 pos)
For random-access devices, this function sets the current position to pos, returning true on success...
Definition: qiodevice.cpp:659

◆ size()

qint64 QIODeviceDelegate::size ( ) const
virtual

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 145 of file qiodevicedelegate.cpp.

146 {
147  return m_source->size();
148 }
virtual qint64 size() const
For open random-access devices, this function returns the size of the device.
Definition: qiodevice.cpp:642

◆ waitForBytesWritten()

bool QIODeviceDelegate::waitForBytesWritten ( int  msecs)
virtual

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.

If msecs is -1, this function will not time out. For unbuffered devices, it returns immediately.

Returns true if a payload of data was written to the device; otherwise returns false (i.e. if the operation timed out, or if an error occurred).

This function can operate without an event loop. It is useful when writing non-GUI applications and when performing I/O operations in a non-GUI thread.

If called from within a slot connected to the bytesWritten() signal, bytesWritten() will not be reemitted.

Reimplement this function to provide a blocking API for a custom device. The default implementation does nothing, and returns false.

Warning
Calling this function from the main (GUI) thread might cause your user interface to freeze.
See also
waitForReadyRead()

Reimplemented from QIODevice.

Definition at line 150 of file qiodevicedelegate.cpp.

151 {
152  return m_source->waitForBytesWritten(msecs);
153 }
virtual bool waitForBytesWritten(int msecs)
For buffered devices, this function waits until a payload of buffered written data has been written t...
Definition: qiodevice.cpp:1648

◆ waitForReadyRead()

bool QIODeviceDelegate::waitForReadyRead ( int  msecs)
virtual

Blocks until new data is available for reading and the readyRead() signal has been emitted, or until msecs milliseconds have passed.

If msecs is -1, this function will not time out.

Returns true if new data is available for reading; otherwise returns false (if the operation timed out or if an error occurred).

This function can operate without an event loop. It is useful when writing non-GUI applications and when performing I/O operations in a non-GUI thread.

If called from within a slot connected to the readyRead() signal, readyRead() will not be reemitted.

Reimplement this function to provide a blocking API for a custom device. The default implementation does nothing, and returns false.

Warning
Calling this function from the main (GUI) thread might cause your user interface to freeze.
See also
waitForBytesWritten()

Reimplemented from QIODevice.

Definition at line 155 of file qiodevicedelegate.cpp.

156 {
157  return m_source->waitForReadyRead(msecs);
158 }
virtual bool waitForReadyRead(int msecs)
Blocks until new data is available for reading and the readyRead() signal has been emitted...
Definition: qiodevice.cpp:1616

Properties

◆ m_source

QIODevice* const QPatternist::QIODeviceDelegate::m_source
private

◆ m_timeout

QTimer QPatternist::QIODeviceDelegate::m_timeout
private

Definition at line 102 of file qiodevicedelegate_p.h.

Referenced by QIODeviceDelegate().


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