[1050] | 1 | \section{QuaZIODevice Class Reference}
|
---|
| 2 | \label{classQuaZIODevice}\index{QuaZIODevice@{QuaZIODevice}}
|
---|
| 3 |
|
---|
| 4 |
|
---|
| 5 | A class to compress/decompress {\bf QIODevice}.
|
---|
| 6 |
|
---|
| 7 |
|
---|
| 8 |
|
---|
| 9 |
|
---|
| 10 | {\ttfamily \#include $<$quaziodevice.h$>$}
|
---|
| 11 |
|
---|
| 12 |
|
---|
| 13 |
|
---|
| 14 | Inheritance diagram for QuaZIODevice:
|
---|
| 15 | \nopagebreak
|
---|
| 16 | \begin{figure}[H]
|
---|
| 17 | \begin{center}
|
---|
| 18 | \leavevmode
|
---|
| 19 | \includegraphics[width=122pt]{classQuaZIODevice__inherit__graph}
|
---|
| 20 | \end{center}
|
---|
| 21 | \end{figure}
|
---|
| 22 |
|
---|
| 23 |
|
---|
| 24 | Collaboration diagram for QuaZIODevice:
|
---|
| 25 | \nopagebreak
|
---|
| 26 | \begin{figure}[H]
|
---|
| 27 | \begin{center}
|
---|
| 28 | \leavevmode
|
---|
| 29 | \includegraphics[width=122pt]{classQuaZIODevice__coll__graph}
|
---|
| 30 | \end{center}
|
---|
| 31 | \end{figure}
|
---|
| 32 | \subsection*{Public Member Functions}
|
---|
| 33 | \begin{DoxyCompactItemize}
|
---|
| 34 | \item
|
---|
| 35 | {\bf QuaZIODevice} ({\bf QIODevice} $\ast$io, {\bf QObject} $\ast${\bf parent}=NULL)
|
---|
| 36 | \begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item
|
---|
| 37 | {\bf $\sim$QuaZIODevice} ()\label{classQuaZIODevice_ab3524cef44c240c21e6b7680ee5f42de}
|
---|
| 38 |
|
---|
| 39 | \begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item
|
---|
| 40 | virtual bool {\bf flush} ()
|
---|
| 41 | \begin{DoxyCompactList}\small\item\em Flushes data waiting to be written. \end{DoxyCompactList}\item
|
---|
| 42 | virtual bool {\bf open} ({\bf QIODevice::OpenMode} mode)
|
---|
| 43 | \begin{DoxyCompactList}\small\item\em Opens the device. \end{DoxyCompactList}\item
|
---|
| 44 | virtual void {\bf close} ()
|
---|
| 45 | \begin{DoxyCompactList}\small\item\em Closes this device, but not the underlying one. \end{DoxyCompactList}\item
|
---|
| 46 | {\bf QIODevice} $\ast$ {\bf getIoDevice} () const \label{classQuaZIODevice_ad63e7f1717c7d91b3c2c5ace908c98b7}
|
---|
| 47 |
|
---|
| 48 | \begin{DoxyCompactList}\small\item\em Returns the underlying device. \end{DoxyCompactList}\item
|
---|
| 49 | virtual bool {\bf isSequential} () const \label{classQuaZIODevice_af2697f58c228741d3715801bf48a9a8b}
|
---|
| 50 |
|
---|
| 51 | \begin{DoxyCompactList}\small\item\em Returns true. \end{DoxyCompactList}\item
|
---|
| 52 | virtual bool {\bf atEnd} () const \label{classQuaZIODevice_ae727c48089ca1b161323ec8423a653ab}
|
---|
| 53 |
|
---|
| 54 | \begin{DoxyCompactList}\small\item\em Returns true iff the end of the compressed stream is reached. \end{DoxyCompactList}\item
|
---|
| 55 | virtual qint64 {\bf bytesAvailable} () const \label{classQuaZIODevice_ac18b45c3d7009c8d231b13fe994ebcb9}
|
---|
| 56 |
|
---|
| 57 | \begin{DoxyCompactList}\small\item\em Returns the number of the bytes buffered. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
---|
| 58 | \subsection*{Protected Member Functions}
|
---|
| 59 | \begin{DoxyCompactItemize}
|
---|
| 60 | \item
|
---|
| 61 | virtual qint64 {\bf readData} (char $\ast$data, qint64 maxSize)\label{classQuaZIODevice_aa12b8bc9c923e543eda9ae22dbd1ecbb}
|
---|
| 62 |
|
---|
| 63 | \begin{DoxyCompactList}\small\item\em Implementation of {\bf QIODevice::readData()}. \end{DoxyCompactList}\item
|
---|
| 64 | virtual qint64 {\bf writeData} (const char $\ast$data, qint64 maxSize)\label{classQuaZIODevice_aab23b6badbc3548eb71ca86bf6211902}
|
---|
| 65 |
|
---|
| 66 | \begin{DoxyCompactList}\small\item\em Implementation of {\bf QIODevice::writeData()}. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
---|
| 67 |
|
---|
| 68 |
|
---|
| 69 | \subsection{Detailed Description}
|
---|
| 70 | A class to compress/decompress {\bf QIODevice}.
|
---|
| 71 |
|
---|
| 72 | This class can be used to compress any data written to {\bf QIODevice} or decompress it back. Compressing data sent over a QTcpSocket is a good example.
|
---|
| 73 |
|
---|
| 74 | \subsection{Constructor \& Destructor Documentation}
|
---|
| 75 | \index{QuaZIODevice@{QuaZIODevice}!QuaZIODevice@{QuaZIODevice}}
|
---|
| 76 | \index{QuaZIODevice@{QuaZIODevice}!QuaZIODevice@{QuaZIODevice}}
|
---|
| 77 | \subsubsection[{QuaZIODevice}]{\setlength{\rightskip}{0pt plus 5cm}QuaZIODevice::QuaZIODevice (
|
---|
| 78 | \begin{DoxyParamCaption}
|
---|
| 79 | \item[{{\bf QIODevice} $\ast$}]{io, }
|
---|
| 80 | \item[{{\bf QObject} $\ast$}]{parent = {\ttfamily NULL}}
|
---|
| 81 | \end{DoxyParamCaption}
|
---|
| 82 | )}\label{classQuaZIODevice_a8321ed35ee9b57cf9b1104912e236361}
|
---|
| 83 |
|
---|
| 84 |
|
---|
| 85 | Constructor.
|
---|
| 86 |
|
---|
| 87 |
|
---|
| 88 | \begin{DoxyParams}{Parameters}
|
---|
| 89 | {\em io} & The {\bf QIODevice} to read/write. \\
|
---|
| 90 | \hline
|
---|
| 91 | {\em parent} & The parent object, as per {\bf QObject} logic. \\
|
---|
| 92 | \hline
|
---|
| 93 | \end{DoxyParams}
|
---|
| 94 |
|
---|
| 95 |
|
---|
| 96 | References QObject::connect(), and QIODevice::readyRead().
|
---|
| 97 |
|
---|
| 98 |
|
---|
| 99 |
|
---|
| 100 | \subsection{Member Function Documentation}
|
---|
| 101 | \index{QuaZIODevice@{QuaZIODevice}!flush@{flush}}
|
---|
| 102 | \index{flush@{flush}!QuaZIODevice@{QuaZIODevice}}
|
---|
| 103 | \subsubsection[{flush}]{\setlength{\rightskip}{0pt plus 5cm}bool QuaZIODevice::flush (
|
---|
| 104 | \begin{DoxyParamCaption}
|
---|
| 105 | {}
|
---|
| 106 | \end{DoxyParamCaption}
|
---|
| 107 | )\hspace{0.3cm}{\ttfamily [virtual]}}\label{classQuaZIODevice_a25f586eb564841b51c395fd17f1cc080}
|
---|
| 108 |
|
---|
| 109 |
|
---|
| 110 | Flushes data waiting to be written.
|
---|
| 111 |
|
---|
| 112 | Unfortunately, as {\bf QIODevice} doesn't support \doxyref{flush()}{p.}{classQuaZIODevice_a25f586eb564841b51c395fd17f1cc080} by itself, the only thing this method does is write the compressed data into the device using Z\_\-SYNC\_\-FLUSH mode. If you need the compressed data to actually be flushed from the buffer of the underlying {\bf QIODevice}, you need to call its \doxyref{flush()}{p.}{classQuaZIODevice_a25f586eb564841b51c395fd17f1cc080} method as well, providing it supports it (like QTcpSocket does). Example:
|
---|
| 113 | \begin{DoxyCode}
|
---|
| 114 | QuaZIODevice dev(&sock);
|
---|
| 115 | dev.open(QIODevice::Write);
|
---|
| 116 | dev.write(yourDataGoesHere);
|
---|
| 117 | dev.flush();
|
---|
| 118 | sock->flush(); // this actually sends data to network
|
---|
| 119 | \end{DoxyCode}
|
---|
| 120 |
|
---|
| 121 |
|
---|
| 122 | This may change in the future versions of QuaZIP by implementing an ugly hack: trying to cast the {\bf QIODevice} using qobject\_\-cast to known \doxyref{flush()}{p.}{classQuaZIODevice_a25f586eb564841b51c395fd17f1cc080}-\/supporting subclasses, and calling flush if the resulting pointer is not zero.
|
---|
| 123 |
|
---|
| 124 | References QString::fromLocal8Bit(), and QIODevice::setErrorString().
|
---|
| 125 |
|
---|
| 126 |
|
---|
| 127 |
|
---|
| 128 | Referenced by close().
|
---|
| 129 |
|
---|
| 130 | \index{QuaZIODevice@{QuaZIODevice}!open@{open}}
|
---|
| 131 | \index{open@{open}!QuaZIODevice@{QuaZIODevice}}
|
---|
| 132 | \subsubsection[{open}]{\setlength{\rightskip}{0pt plus 5cm}bool QuaZIODevice::open (
|
---|
| 133 | \begin{DoxyParamCaption}
|
---|
| 134 | \item[{{\bf QIODevice::OpenMode}}]{mode}
|
---|
| 135 | \end{DoxyParamCaption}
|
---|
| 136 | )\hspace{0.3cm}{\ttfamily [virtual]}}\label{classQuaZIODevice_a175446c18eb20c9aff6faf23f09cc67a}
|
---|
| 137 |
|
---|
| 138 |
|
---|
| 139 | Opens the device.
|
---|
| 140 |
|
---|
| 141 |
|
---|
| 142 | \begin{DoxyParams}{Parameters}
|
---|
| 143 | {\em mode} & Neither QIODevice::ReadWrite nor QIODevice::Append are not supported. \\
|
---|
| 144 | \hline
|
---|
| 145 | \end{DoxyParams}
|
---|
| 146 |
|
---|
| 147 |
|
---|
| 148 | References QIODevice::setErrorString(), and QObject::trUtf8().
|
---|
| 149 |
|
---|
| 150 | \index{QuaZIODevice@{QuaZIODevice}!close@{close}}
|
---|
| 151 | \index{close@{close}!QuaZIODevice@{QuaZIODevice}}
|
---|
| 152 | \subsubsection[{close}]{\setlength{\rightskip}{0pt plus 5cm}void QuaZIODevice::close (
|
---|
| 153 | \begin{DoxyParamCaption}
|
---|
| 154 | {}
|
---|
| 155 | \end{DoxyParamCaption}
|
---|
| 156 | )\hspace{0.3cm}{\ttfamily [virtual]}}\label{classQuaZIODevice_ad27e447544d57f897316ee6f44535895}
|
---|
| 157 |
|
---|
| 158 |
|
---|
| 159 | Closes this device, but not the underlying one.
|
---|
| 160 |
|
---|
| 161 | The underlying {\bf QIODevice} is not closed in case you want to write something else to it.
|
---|
| 162 |
|
---|
| 163 | Reimplemented from {\bf QIODevice}.
|
---|
| 164 |
|
---|
| 165 |
|
---|
| 166 |
|
---|
| 167 | References flush(), QIODevice::openMode(), and QIODevice::setErrorString().
|
---|
| 168 |
|
---|
| 169 |
|
---|
| 170 |
|
---|
| 171 | Referenced by $\sim$QuaZIODevice().
|
---|
| 172 |
|
---|
| 173 |
|
---|
| 174 |
|
---|
| 175 | The documentation for this class was generated from the following files:\begin{DoxyCompactItemize}
|
---|
| 176 | \item
|
---|
| 177 | quazip/quaziodevice.h\item
|
---|
| 178 | quazip/quaziodevice.cpp\end{DoxyCompactItemize}
|
---|