qt5base-lts/tests/auto/corelib/io
Alex Trotsenko 1c0494e63b QIODevice: add infrastructure for multistreaming
Some sequential devices allow data to be partitioned into several
channels that have the property of independently sequenced delivery.
Supporting such devices uniformly requires a unified API which provides
the user with a uniform concept of multistreaming.

This patch is based on QProcess's multiplexing model and introduces
the following features:

 - ability to get the number of channels;
 - multiple internal read/write buffers;
 - channel selection functions;
 - notification signals on channel activity.

To keep the source code compatible with single-channel implementations,
introduce a private class that references the current read buffer and
hides multistreaming internals from the user.

Bump the TypeInformationVersion field in qtHookData, to notify the
Qt Creator developers that the offset of QFilePrivate::fileName was
changed and dumpers should be adapted.

[ChangeLog][QtCore] Added multistreaming to QIODevice.

Change-Id: Idcaa6a618927c101c4c7284d2a633913be6a6ee2
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-01-27 06:32:30 +00:00
..
largefile Merge remote-tracking branch 'origin/5.6' into dev 2016-01-26 16:27:28 +01:00
qabstractfileengine Merge remote-tracking branch 'origin/5.6' into dev 2016-01-26 16:27:28 +01:00
qbuffer Updated license headers 2016-01-21 18:55:18 +00:00
qdatastream Merge remote-tracking branch 'origin/5.6' into dev 2016-01-26 16:27:28 +01:00
qdataurl Updated license headers 2016-01-21 18:55:18 +00:00
qdebug Add Intel copyright to files that Intel has had non-trivial contribution 2016-01-21 22:44:21 +00:00
qdir Merge remote-tracking branch 'origin/5.6' into dev 2016-01-26 16:27:28 +01:00
qdiriterator Merge remote-tracking branch 'origin/5.6' into dev 2016-01-26 16:27:28 +01:00
qfile Add Intel copyright to files that Intel has had non-trivial contribution 2016-01-21 22:44:21 +00:00
qfileinfo Merge remote-tracking branch 'origin/5.6' into dev 2016-01-26 16:27:28 +01:00
qfileselector Merge remote-tracking branch 'origin/5.6' into dev 2016-01-26 16:27:28 +01:00
qfilesystementry Updated license headers 2016-01-21 18:55:18 +00:00
qfilesystemwatcher Updated license headers 2016-01-21 18:55:18 +00:00
qiodevice QIODevice: add infrastructure for multistreaming 2016-01-27 06:32:30 +00:00
qipaddress Updated license headers 2016-01-21 18:55:18 +00:00
qlockfile Updated license headers 2016-01-21 18:55:18 +00:00
qloggingcategory Updated license headers 2016-01-21 18:55:18 +00:00
qloggingregistry Merge remote-tracking branch 'origin/5.6' into dev 2016-01-26 16:27:28 +01:00
qnodebug Updated license headers 2016-01-21 18:55:18 +00:00
qprocess Updated license headers 2016-01-21 18:55:18 +00:00
qprocess-noapplication Updated license headers 2016-01-21 18:55:18 +00:00
qprocessenvironment Updated license headers 2016-01-21 18:55:18 +00:00
qresourceengine Updated license headers 2016-01-21 18:55:18 +00:00
qsavefile Updated license headers 2016-01-21 18:55:18 +00:00
qsettings Updated license headers 2016-01-21 18:55:18 +00:00
qstandardpaths Merge remote-tracking branch 'origin/5.6' into dev 2016-01-26 16:27:28 +01:00
qstorageinfo Updated license headers 2016-01-21 18:55:18 +00:00
qtemporarydir Merge remote-tracking branch 'origin/5.6' into dev 2016-01-26 16:27:28 +01:00
qtemporaryfile Merge remote-tracking branch 'origin/5.6' into dev 2016-01-26 16:27:28 +01:00
qtextstream Updated license headers 2016-01-21 18:55:18 +00:00
qurl Merge remote-tracking branch 'origin/5.6' into dev 2016-01-26 16:27:28 +01:00
qurlinternal Updated license headers 2016-01-21 18:55:18 +00:00
qurlquery Updated license headers 2016-01-21 18:55:18 +00:00
qwinoverlappedionotifier Updated license headers 2016-01-21 18:55:18 +00:00
io.pro winrt: msvc2015: refactor file handling 2016-01-21 05:53:17 +00:00