\section{QuaGzipFile Class Reference}
\label{classQuaGzipFile}\index{QuaGzipFile@{QuaGzipFile}}


GZIP file.  




{\ttfamily \#include $<$quagzipfile.h$>$}



Inheritance diagram for QuaGzipFile:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=114pt]{classQuaGzipFile__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for QuaGzipFile:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=114pt]{classQuaGzipFile__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
{\bf QuaGzipFile} ()
\begin{DoxyCompactList}\small\item\em Empty constructor. \end{DoxyCompactList}\item 
{\bf QuaGzipFile} ({\bf QObject} $\ast${\bf parent})
\begin{DoxyCompactList}\small\item\em Empty constructor with a parent. \end{DoxyCompactList}\item 
{\bf QuaGzipFile} (const {\bf QString} \&fileName, {\bf QObject} $\ast${\bf parent}=NULL)
\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item 
virtual {\bf $\sim$QuaGzipFile} ()\label{classQuaGzipFile_a1200bc76f36bb2e1991e1e0467befbf2}

\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
void {\bf setFileName} (const {\bf QString} \&fileName)\label{classQuaGzipFile_a253fbaf410a3d4ae0a719505c5525149}

\begin{DoxyCompactList}\small\item\em Sets the name of the GZIP file to be opened. \end{DoxyCompactList}\item 
{\bf QString} {\bf getFileName} () const \label{classQuaGzipFile_a9a0954a1db1fcf2aeba0530239bce71c}

\begin{DoxyCompactList}\small\item\em Returns the name of the GZIP file. \end{DoxyCompactList}\item 
virtual bool {\bf isSequential} () const 
\begin{DoxyCompactList}\small\item\em Returns true. \end{DoxyCompactList}\item 
virtual bool {\bf open} ({\bf QIODevice::OpenMode} mode)
\begin{DoxyCompactList}\small\item\em Opens the file. \end{DoxyCompactList}\item 
virtual bool {\bf open} (int fd, {\bf QIODevice::OpenMode} mode)
\begin{DoxyCompactList}\small\item\em Opens the file. \end{DoxyCompactList}\item 
virtual bool {\bf flush} ()
\begin{DoxyCompactList}\small\item\em Flushes data to file. \end{DoxyCompactList}\item 
virtual void {\bf close} ()\label{classQuaGzipFile_a273205350b1235a242a1eb5cbf586434}

\begin{DoxyCompactList}\small\item\em Closes the file. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual qint64 {\bf readData} (char $\ast$data, qint64 maxSize)\label{classQuaGzipFile_a9eab41b46367e63e0c269c42ca883d82}

\begin{DoxyCompactList}\small\item\em Implementation of {\bf QIODevice::readData()}. \end{DoxyCompactList}\item 
virtual qint64 {\bf writeData} (const char $\ast$data, qint64 maxSize)\label{classQuaGzipFile_a6dd09d41d8a51c96b0f2134eff37f676}

\begin{DoxyCompactList}\small\item\em Implementation of {\bf QIODevice::writeData()}. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
GZIP file. 

This class is a wrapper around GZIP file access functions in zlib. Unlike \doxyref{QuaZip}{p.}{classQuaZip} classes, it doesn't allow reading from a GZIP file opened as {\bf QIODevice}, for example, if your GZIP file is in {\bf QBuffer}. It only provides {\bf QIODevice} access to a GZIP file contents, but the GZIP file itself must be identified by its name on disk or by descriptor id. 

\subsection{Constructor \& Destructor Documentation}
\index{QuaGzipFile@{QuaGzipFile}!QuaGzipFile@{QuaGzipFile}}
\index{QuaGzipFile@{QuaGzipFile}!QuaGzipFile@{QuaGzipFile}}
\subsubsection[{QuaGzipFile}]{\setlength{\rightskip}{0pt plus 5cm}QuaGzipFile::QuaGzipFile (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}\label{classQuaGzipFile_a709608207b41ca81d5beed2b34982809}


Empty constructor. 

Must call \doxyref{setFileName()}{p.}{classQuaGzipFile_a253fbaf410a3d4ae0a719505c5525149} before trying to open. \index{QuaGzipFile@{QuaGzipFile}!QuaGzipFile@{QuaGzipFile}}
\index{QuaGzipFile@{QuaGzipFile}!QuaGzipFile@{QuaGzipFile}}
\subsubsection[{QuaGzipFile}]{\setlength{\rightskip}{0pt plus 5cm}QuaGzipFile::QuaGzipFile (
\begin{DoxyParamCaption}
\item[{{\bf QObject} $\ast$}]{parent}
\end{DoxyParamCaption}
)}\label{classQuaGzipFile_a13996f5db660c4a29645f8d208b9ca6b}


Empty constructor with a parent. 

Must call \doxyref{setFileName()}{p.}{classQuaGzipFile_a253fbaf410a3d4ae0a719505c5525149} before trying to open. 
\begin{DoxyParams}{Parameters}
{\em parent} & The parent object, as per {\bf QObject} logic. \\
\hline
\end{DoxyParams}
\index{QuaGzipFile@{QuaGzipFile}!QuaGzipFile@{QuaGzipFile}}
\index{QuaGzipFile@{QuaGzipFile}!QuaGzipFile@{QuaGzipFile}}
\subsubsection[{QuaGzipFile}]{\setlength{\rightskip}{0pt plus 5cm}QuaGzipFile::QuaGzipFile (
\begin{DoxyParamCaption}
\item[{const {\bf QString} \&}]{fileName, }
\item[{{\bf QObject} $\ast$}]{parent = {\ttfamily NULL}}
\end{DoxyParamCaption}
)}\label{classQuaGzipFile_ac7f7703bda9c6169c001aa15641bb2ea}


Constructor. 


\begin{DoxyParams}{Parameters}
{\em fileName} & The name of the GZIP file. \\
\hline
{\em parent} & The parent object, as per {\bf QObject} logic. \\
\hline
\end{DoxyParams}


\subsection{Member Function Documentation}
\index{QuaGzipFile@{QuaGzipFile}!isSequential@{isSequential}}
\index{isSequential@{isSequential}!QuaGzipFile@{QuaGzipFile}}
\subsubsection[{isSequential}]{\setlength{\rightskip}{0pt plus 5cm}bool QuaGzipFile::isSequential (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  [virtual]}}\label{classQuaGzipFile_ae97f4e15d86c965c156df33d00318176}


Returns true. 

Strictly speaking, zlib supports seeking for GZIP files, but it is poorly implemented, because there is no way to implement it properly. For reading, seeking backwards is very slow, and for writing, it is downright impossible. Therefore, \doxyref{QuaGzipFile}{p.}{classQuaGzipFile} does not support seeking at all. 

Reimplemented from {\bf QIODevice}.

\index{QuaGzipFile@{QuaGzipFile}!open@{open}}
\index{open@{open}!QuaGzipFile@{QuaGzipFile}}
\subsubsection[{open}]{\setlength{\rightskip}{0pt plus 5cm}bool QuaGzipFile::open (
\begin{DoxyParamCaption}
\item[{{\bf QIODevice::OpenMode}}]{mode}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  [virtual]}}\label{classQuaGzipFile_a1d560babdfff3a3441d704099a5bc1e4}


Opens the file. 


\begin{DoxyParams}{Parameters}
{\em mode} & Can be either QIODevice::Write or QIODevice::Read. ReadWrite and Append aren't supported. \\
\hline
\end{DoxyParams}


References QIODevice::setErrorString().



Referenced by open().

\index{QuaGzipFile@{QuaGzipFile}!open@{open}}
\index{open@{open}!QuaGzipFile@{QuaGzipFile}}
\subsubsection[{open}]{\setlength{\rightskip}{0pt plus 5cm}bool QuaGzipFile::open (
\begin{DoxyParamCaption}
\item[{int}]{fd, }
\item[{{\bf QIODevice::OpenMode}}]{mode}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  [virtual]}}\label{classQuaGzipFile_adf5a954bb9bfda2d33cd336a213e2549}


Opens the file. 

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. 
\begin{DoxyParams}{Parameters}
{\em fd} & The file descriptor to read/write the GZIP file from/to. \\
\hline
{\em mode} & Can be either QIODevice::Write or QIODevice::Read. ReadWrite and Append aren't supported. \\
\hline
\end{DoxyParams}


References open(), and QIODevice::setErrorString().

\index{QuaGzipFile@{QuaGzipFile}!flush@{flush}}
\index{flush@{flush}!QuaGzipFile@{QuaGzipFile}}
\subsubsection[{flush}]{\setlength{\rightskip}{0pt plus 5cm}bool QuaGzipFile::flush (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  [virtual]}}\label{classQuaGzipFile_ab745f345b727c81abbc3eb5af4dca844}


Flushes data to file. 

The data is written using Z\_\-SYNC\_\-FLUSH mode. Doesn't make any sense when reading. 

The documentation for this class was generated from the following files:\begin{DoxyCompactItemize}
\item 
quazip/quagzipfile.h\item 
quazip/quagzipfile.cpp\end{DoxyCompactItemize}
