Separated QuaZip and QExtSerialPort, Oximetry work

Using official source which has been placed in 3rdparty folder
Oximetry button temporarily autostarts import.. Still a Work in progress.
This commit is contained in:
Mark Watkins 2013-09-16 14:30:38 +10:00
parent 4fd9ef2dd2
commit 392b0b5111
293 changed files with 33065 additions and 11418 deletions

1
3rdparty/qextserialport vendored Submodule

@ -0,0 +1 @@
Subproject commit 3be3fbf31edf6c91c7838f585b77acd787811296

14
3rdparty/qtxmlrpc/client/client.pri vendored Normal file
View File

@ -0,0 +1,14 @@
QT *= network xml
SOURCES += $$PWD/src/clientprotocol.cpp \
$$PWD/src/httpclient.cpp \
$$PWD/src/httpsclient.cpp \
$$PWD/src/xmlrpcconv.cpp \
$$PWD/src/xmlrpcclient.cpp \
HEADERS += $$PWD/src/clientprotocol.h \
$$PWD/src/httpclient.h \
$$PWD/src/httpsclient.h \
$$PWD/src/xmlrpcconv.h \
$$PWD/src/xmlrpcclient.h

View File

@ -0,0 +1,251 @@
#include "clientprotocol.h"
#include <QTcpSocket>
Client_::Client_( const QString &dstHost, const quint16 dstPort )
: dstHost( dstHost ), dstPort( dstPort ),
protocolRetry( 0 ), maxProtocolRetries( 10 ), protocolStarted( false )
{
#ifdef DEBUG_PROTOCOL
qDebug() << this << "Protocol(...)";
#endif
connectTimeoutTimer = new QTimer( this );
connectTimeoutTimer->setSingleShot( true );
connect( connectTimeoutTimer, SIGNAL( timeout() ), SLOT( onConnectTimeout() ) );
reconnectSleepTimer = new QTimer( this );
reconnectSleepTimer->setSingleShot( true );
connect( reconnectSleepTimer, SIGNAL( timeout() ), SLOT( deferredStart() ) );
}
Client_::~Client_()
{
#ifdef DEBUG_PROTOCOL
qDebug() << this << "~Protocol()";
#endif
}
QAbstractSocket *Client_::buildSocket()
{
#ifdef DEBUG_PROTOCOL
qDebug() << this << "buildSocket()";
#endif
return new QTcpSocket;
}
void Client_::deferredStart()
{
#ifdef DEBUG_PROTOCOL
qDebug() << this << "deferredStart()";
#endif
if ( protocolRetry == 0 ) {
socket = buildSocket();
connect( socket, SIGNAL( error(QAbstractSocket::SocketError) ),
SLOT( onSocketError(QAbstractSocket::SocketError) ) );
connect( socket, SIGNAL( stateChanged(QAbstractSocket::SocketState) ),
SLOT( onSocketStateChanged(QAbstractSocket::SocketState) ) );
setParent( socket );
}
if ( protocolRetry >= maxProtocolRetries ) {
emitError( "Maximum protocol retries has reached" );
return;
}
if ( !connectTimeoutTimer->isActive() )
connectTimeoutTimer->start( connectTimeout );
if ( reconnectSleepTimer->isActive() )
reconnectSleepTimer->stop();
switch ( socket->state() ) {
case QAbstractSocket::UnconnectedState: connectSocket(); break;
case QAbstractSocket::ConnectedState: protocolStart(); break;
default:;
}
}
void Client_::connectSocket()
{
#ifdef DEBUG_PROTOCOL
qDebug() << this << "connectSocket()";
#endif
socket->connectToHost( dstHost, dstPort );
}
void Client_::onConnectTimeout()
{
#ifdef DEBUG_PROTOCOL
qDebug() << this << "onConnectTimeout()";
#endif
emitError( "Connect timeout" );
}
void Client_::onSocketStateChanged( QAbstractSocket::SocketState socketState )
{
#ifdef DEBUG_PROTOCOL
qDebug() << this << "onSocketStateChanged(" << socketState << ")";
#endif
if( protocolRetry >= maxProtocolRetries ) {
emitError( "maxProtocolRetries reached" );
return;
}
switch( socketState ) {
case QAbstractSocket::ConnectedState:
if( !protocolStarted )
protocolStart();
break;
case QAbstractSocket::UnconnectedState:
if( protocolStarted )
protocolStop();
reconnectSleepTimer->start( reconnectSleep );
break;
default:;
}
}
void Client_::onSocketError( QAbstractSocket::SocketError socketError )
{
#ifdef DEBUG_PROTOCOL
qDebug() << this << "onSocketError(" << socketError << ")";
#endif
switch( socketError ) {
case QAbstractSocket::ConnectionRefusedError:
case QAbstractSocket::SocketTimeoutError:
case QAbstractSocket::RemoteHostClosedError:
break;
case QAbstractSocket::HostNotFoundError:
qWarning() << this << "onSocketError(): host not found" << dstHost << ":" << dstPort;
emitError( QString("Host not found: ") + dstHost + ":" + QString::number(dstPort) );
break;
case QAbstractSocket::SocketAccessError:
case QAbstractSocket::SocketResourceError:
case QAbstractSocket::DatagramTooLargeError:
case QAbstractSocket::AddressInUseError:
case QAbstractSocket::NetworkError:
case QAbstractSocket::SocketAddressNotAvailableError:
case QAbstractSocket::UnsupportedSocketOperationError:
case QAbstractSocket::ProxyAuthenticationRequiredError:
case QAbstractSocket::UnknownSocketError:
qCritical() << this << "onSocketError(): bad socket error, aborting" << socketError;
emitError( "Bad socket error" );
break;
default:
qCritical() << this << "onSocketError(): unknown socket error" << socketError;
emitError( "Unknown socket error" );
}
}
void Client_::protocolStart()
{
#ifdef DEBUG_PROTOCOL
qDebug() << this << "protocolStart()";
#endif
stopTimers();
protocolRetry++;
protocolStarted = true;
connect( socket, SIGNAL( readyRead() ), this, SLOT( onReadyRead() ) );
connect( socket, SIGNAL( bytesWritten(qint64) ), this, SLOT( onBytesWritten(qint64) ) );
}
void Client_::protocolStop()
{
#ifdef DEBUG_PROTOCOL
qDebug() << this << "protocolStop()";
#endif
protocolStarted = false;
disconnect( socket, SIGNAL( readyRead() ), this, SLOT( onReadyRead() ) );
disconnect( socket, SIGNAL( bytesWritten(qint64) ), this, SLOT( onBytesWritten(qint64) ) );
}
void Client_::onBytesWritten( qint64 /*bytes*/ )
{
#ifdef DEBUG_PROTOCOL
qDebug() << this << "onBytesWritten(" << bytes << ")";
#endif
}
void Client_::onReadyRead()
{
#ifdef DEBUG_PROTOCOL
qDebug() << this << "onReadyRead()";
#endif
QByteArray data = socket->readAll();
#ifdef DEBUG_PROTOCOL
qDebug() << data;
#endif
}
void Client_::emitError( const QString &errTxt )
{
#ifdef DEBUG_PROTOCOL
qDebug() << this << "emitError(...)";
#endif
if ( protocolStarted )
protocolStop();
else
stopTimers();
socket->disconnect( this );
socket->abort();
emit error( errTxt );
}
void Client_::emitDone()
{
#ifdef DEBUG_PROTOCOL
qDebug() << this << "emitDone()";
#endif
if ( protocolStarted )
protocolStop();
else
stopTimers();
socket->disconnect( this );
emit done();
}
void Client_::sureWrite( const QByteArray &response )
{
#ifdef DEBUG_PROTOCOL
qDebug() << this << "sureWrite(...)" << endl << response;
#endif
qint64 len = response.size();
const char * ptr = response.data();
while ( len ) {
qint64 res = socket->write( ptr, len );
if ( res < 0 ) break;
len -= res;
ptr += res;
}
socket->flush();
}
void Client_::stopTimers()
{
#ifdef DEBUG_PROTOCOL
qDebug() << this << "stopTimers()";
#endif
if( connectTimeoutTimer->isActive() ) connectTimeoutTimer->stop();
if( reconnectSleepTimer->isActive() ) reconnectSleepTimer->stop();
}

View File

@ -0,0 +1,63 @@
#ifndef PROTOCOL_H
#define PROTOCOL_H
#include <QObject>
#include <QString>
#include <QTimer>
#include <QAbstractSocket>
// #define DEBUG_PROTOCOL
class Client_ : public QObject
{
Q_OBJECT
public:
Client_( const QString &dstHost, const quint16 dstPort );
~Client_();
public slots:
void deferredStart();
protected slots:
void onSocketStateChanged( QAbstractSocket::SocketState socketState );
void onSocketError( QAbstractSocket::SocketError socketError );
void onConnectTimeout();
virtual void onBytesWritten( qint64 bytes );
virtual void onReadyRead();
signals:
void error( const QString &errTxt );
void done();
protected:
QAbstractSocket *socket;
QString dstHost;
quint16 dstPort;
int protocolRetry;
int maxProtocolRetries;
bool protocolStarted;
virtual QAbstractSocket *buildSocket();
virtual void connectSocket();
virtual void protocolStart();
virtual void protocolStop();
void sureWrite( const QByteArray &response );
void emitError( const QString &error );
void emitDone();
private:
void stopTimers();
QTimer * connectTimeoutTimer;
QTimer * reconnectSleepTimer;
static const int connectTimeout = 30000; // msec
static const int reconnectSleep = 1000; // msec
};
#endif // PROTOCOL_H

View File

@ -0,0 +1,208 @@
#include "httpclient.h"
HttpClient::HttpClient( const QString &host, const quint16 port, const QString &path, const HttpMethod method )
: Client_( host, port ), httpState( Waiting ), method( method )
{
#ifdef HTTP_CLIENT_DEBUG
qDebug() << this << "HttpClient(" << host << "," << (method==GET?"GET":"POST") << ")";
#endif
url.setScheme( "http" );
url.setHost( host );
url.setPort( port );
url.setPath( path );
connect( this, SIGNAL( done() ), SLOT( onProtocolDone() ) );
}
HttpClient::~HttpClient() {}
void HttpClient::onReadyRead()
{
switch( httpState ) {
case Sending:
#ifdef HTTP_CLIENT_DEBUG
qDebug() << this << "onReadyRead(), Sending";
#endif
httpState = ReadingResponseHeader;
case ReadingResponseHeader:
#ifdef HTTP_CLIENT_DEBUG
qDebug() << this << "onReadyRead(), ReadingResponseHeader";
#endif
// если не дочитан
if( !readResponseHeader() )
break;
if( responseHeader.statusCode() == 100 ) {
// Continue
// это нам говорят продолжай слать пост, игнорируем,
// опять будем читать хидер
break;
}
else if ( responseHeader.statusCode() == 302 ) {
// Moved temporary
if ( responseHeader.hasKey( "Location" ) ) {
QString location = responseHeader.value( "Location" );
if ( location.at( 0 ) == '/' )
url.setPath( location );
else
url.setUrl( location );
method = GET;
}
break;
}
httpState = ReadingResponseBody;
case ReadingResponseBody:
#ifdef HTTP_CLIENT_DEBUG
qDebug() << this << "onReadyRead(), ReadingResponseBody";
#endif
// если не дочитан
if( !readResponseBody() )
break;
emitDone();
break;
default:
qCritical() << this << "onReadyRead(): unknown httpState";
qFatal( "programming error" );
}
}
void HttpClient::protocolStop()
{
Client_::protocolStop();
httpState = Waiting;
}
void HttpClient::protocolStart()
{
Client_::protocolStart();
Q_ASSERT( httpState == Waiting );
QString path = url.path();
if ( path.isEmpty() )
path = "/";
if ( method == GET && url.hasQuery() )
path += "?" + url.encodedQuery();
QHttpRequestHeader h( method==GET?"GET":"POST", path );
h.setValue( "Host", QUrl::toAce( url.host() ) );
h.setValue( "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648)" );
h.setValue( "Accept", "*/*" );
if ( !referer.isEmpty() )
h.setValue( "Referer", referer );
QList<QNetworkCookie> cookieList = cookieJar.cookiesForUrl( url );
foreach ( QNetworkCookie nc, cookieList ) {
QByteArray cookieNameVal;
cookieNameVal.append( nc.name() );
cookieNameVal.append( "=" );
cookieNameVal.append( nc.value() );
h.addValue( "Cookie", cookieNameVal );
}
if ( method == POST ) {
h.setValue( "Content-Type", "application/x-www-form-urlencoded" );
h.setValue( "Content-Length", QString::number( postData.length() ) );
}
QByteArray requestHeader( h.toString().toLatin1() );
if ( method == POST )
requestHeader.append( postData );
#ifdef TRACE_HTTP
qDebug() << "--- request header ---" << endl << requestHeader;
#endif
sureWrite( requestHeader );
httpState = Sending;
responseHeaderData.clear();
responseBodyData.clear();
}
bool HttpClient::readResponseHeader()
{
#ifdef HTTP_CLIENT_DEBUG
qDebug() << this << "HttpClient::readResponseHeader()";
#endif
bool end = false;
QByteArray tmp;
QByteArray rn( "\r\n", 2 ), n( "\n",1 );
while ( !end && socket->canReadLine() ) {
tmp = socket->readLine();
if ( tmp == rn || tmp == n || tmp.isEmpty() )
end = true;
else
responseHeaderData += tmp;
}
if( !end )
return false;
responseHeader = QHttpResponseHeader( QString(responseHeaderData) );
#ifdef TRACE_HTTP
qDebug() << "--- response header ---" << endl << responseHeader.toString();
#endif
if( responseHeader.isValid() ) {
if ( responseHeader.hasKey( "Set-Cookie" ) ) {
QByteArray cba;
QList<QPair<QString, QString> > keys = responseHeader.values();
QPair<QString, QString> p;
foreach( p, keys ) {
if ( p.first == "Set-Cookie" ) {
cba.append( p.second );
cba.append( "\n" );
}
}
QList<QNetworkCookie> cookieList = QNetworkCookie::parseCookies( cba );
cookieJar.setCookiesFromUrl( cookieList, url );
}
return true;
}
qWarning() << this << "readResponseHeader(): invalid responseHeader";
emitError( "Invalid response header" );
return false;
}
bool HttpClient::readResponseBody()
{
if ( responseHeader.hasContentLength() )
return readContentLength();
else if ( responseHeader.value( "Connection" ) == "close" ) {
responseBodyData += socket->readAll();
return false;
}
else {
QByteArray data = socket->readAll();
qCritical() << this << "XmlRpcClient::readResponseBody():"
<< "unknown content read method" << endl
<< responseHeader.toString() << endl;
emitError( "Unknown content read method" );
}
return false;
}
bool HttpClient::readContentLength()
{
qint64 l = (qint64)responseHeader.contentLength();
qint64 n = qMin( socket->bytesAvailable(), l - responseBodyData.size() );
QByteArray readed( socket->read(n) );
responseBodyData += readed;
#ifdef HTTP_CLIENT_DEBUG
qDebug() << this << "readContentLength(), left:" << (l - responseBodyData.length() );
#endif
return responseBodyData.length() == l;
}
void HttpClient::onProtocolDone()
{
#ifdef HTTP_CLIENT_DEBUG
qDebug() << this << "onProtocolDone()";
#endif
emit dataRecieved();
emit dataReady( responseBodyData );
}

View File

@ -0,0 +1,66 @@
#ifndef HTTPCLIENT_H
#define HTTPCLIENT_H
#include "clientprotocol.h"
#include <QUrl>
#include <QMap>
#include <QList>
#include <QByteArray>
#include <QHttpResponseHeader>
#include <QNetworkCookieJar>
#include <QNetworkCookie>
//#define HTTP_CLIENT_DEBUG
//#define TRACE_HTTP
class HttpClient : public Client_
{
Q_OBJECT
public:
enum HttpMethod { GET, POST };
HttpClient( const QString &host, const quint16 port = 80, const QString &path = "/", const HttpMethod method = GET );
~HttpClient();
inline void setPostData( const QByteArray &ba ) { postData = ba; }
inline void setReferer( const QString &value ) { referer = value; }
signals:
void dataRecieved();
void dataReady( const QByteArray &data );
protected slots:
void onReadyRead();
void onProtocolDone();
protected:
void protocolStop();
void protocolStart();
private:
enum HttpState { Waiting, Sending, ReadingResponseHeader, ReadingResponseBody } httpState;
bool readResponseHeader();
bool readResponseBody();
bool readChunked();
bool readContentLength();
QUrl url;
HttpMethod method;
QByteArray postData;
QString referer;
QNetworkCookieJar cookieJar;
QHttpResponseHeader responseHeader;
QByteArray responseHeaderData;
QByteArray responseBodyData;
qint64 chunkedSize;
static const int requestTimeout = 60000; // msecs
};
#endif // HTTPCLIENT_H

View File

@ -0,0 +1,78 @@
#include "httpsclient.h"
SslParams_::SslParams_( const QString & certFile, const QString & keyFile,
const QByteArray &passwd, QObject * parent )
: QObject( parent )
{
if ( !certFile.isEmpty() ) {
QFile fc( certFile, this );
fc.open( QFile::ReadOnly );
certificate = QSslCertificate( fc.readAll() );
fc.close();
}
if ( !keyFile.isEmpty() ) {
QFile fk( keyFile, this );
fk.open( QFile::ReadOnly );
privateKey = QSslKey( fk.readAll(), QSsl::Rsa, QSsl::Pem, QSsl::PrivateKey, passwd );
fk.close();
}
}
HttpsClient::HttpsClient( const QString &host, const quint16 port, const QString &path,
const HttpClient::HttpMethod method,
const QString &cert, const QString &key, const QByteArray &passwd )
: HttpClient( host, port, path, method ), ssl( cert, key, passwd, this )
{
}
HttpsClient::~HttpsClient()
{
}
QAbstractSocket *HttpsClient::buildSocket()
{
QSslSocket *socket = new QSslSocket;
if ( !ssl.certificate.isNull() )
socket->setLocalCertificate( ssl.certificate );
if ( !ssl.privateKey.isNull() )
socket->setPrivateKey( ssl.privateKey );
connect( socket, SIGNAL( encrypted() ), this, SLOT( onEncryptedConnection() ) );
connect( socket, SIGNAL( sslErrors(QList<QSslError>) ), this, SLOT( onSslErrors( QList<QSslError> ) ) );
return socket;
}
void HttpsClient::onEncryptedConnection()
{
#ifdef HTTPS_CLIENT_DEBUG
qDebug() << this << "HttpsClient::onEncryptedConnection()";
#endif
protocolStart();
}
void HttpsClient::connectSocket()
{
QSslSocket *socketEnc = qobject_cast<QSslSocket *>( socket );
socketEnc->connectToHostEncrypted( dstHost, dstPort );
}
void HttpsClient::protocolStart()
{
if ( qobject_cast<QSslSocket *>( socket )->isEncrypted() )
HttpClient::protocolStart();
}
void HttpsClient::onSslErrors( const QList<QSslError> & )
{
qobject_cast<QSslSocket *>( socket )->ignoreSslErrors();
}

View File

@ -0,0 +1,51 @@
#ifndef HTTPSCLIENT_H
#define HTTPSCLIENT_H
#include "httpclient.h"
#include <QAbstractSocket>
#include <QSslSocket>
#include <QSslCertificate>
#include <QFile>
#include <QSslKey>
#include <QObject>
#include <QSslError>
// #define HTTPS_CLIENT_DEBUG
class SslParams_ : public QObject
{
Q_OBJECT
public:
SslParams_( const QString & certFile = "", const QString & keyFile = "",
const QByteArray &passwd = QByteArray(), QObject * parent = 0 );
QSslCertificate certificate;
QSslKey privateKey;
};
class HttpsClient : public HttpClient
{
Q_OBJECT
public:
HttpsClient( const QString &host, const quint16 port = 443, const QString &path = "/",
const HttpClient::HttpMethod method = HttpClient::GET,
const QString &cert = "", const QString &key = "", const QByteArray &passwd = QByteArray() );
~HttpsClient();
protected:
QAbstractSocket *buildSocket();
void connectSocket();
void protocolStart();
private:
SslParams_ ssl;
private slots:
void onEncryptedConnection();
void onSslErrors(const QList<QSslError> &errors);
};
#endif // HTTPSCLIENT_H

View File

@ -0,0 +1,24 @@
#include "xmlrpcclient.h"
#include "xmlrpcconv.h"
XmlRpcClient::XmlRpcClient( const QString &host, const quint16 port )
: HttpClient( host, port, "/RPC2", HttpClient::POST )
{
}
void XmlRpcClient::execute( const QString &method, const QVariantList &params )
{
setPostData( toXmlRpcRequest( method, params ) );
connect( this, SIGNAL( dataReady( QByteArray ) ), SLOT(onDataReady( QByteArray ) ) );
deferredStart();
}
void XmlRpcClient::onDataReady( const QByteArray &data )
{
QString err;
QVariant response = fromXmlRpcResponse( data, err );
// TODO fault
emit dataReady( response );
}

View File

@ -0,0 +1,28 @@
#ifndef XMLRPCCLIENT_H
#define XMLRPCCLIENT_H
#include "httpclient.h"
#include <QObject>
#include <QString>
#include <QVariant>
#include <QByteArray>
#include <QVariantList>
class XmlRpcClient : public HttpClient
{
Q_OBJECT
public:
XmlRpcClient( const QString &host,
const quint16 port );
void execute( const QString &method,
const QVariantList &params );
signals:
void dataReady( const QVariant &data );
private slots:
void onDataReady( const QByteArray &data );
};
#endif // XMLRPCCLIENT_H

View File

@ -0,0 +1,333 @@
#include <QDomDocument>
#include <QMetaMethod>
#include <QTimerEvent>
#include <QStringList>
#include <QDateTime>
#include <QDebug>
#include "xmlrpcconv.h"
#define XMLRPC_WITHSPACES
// QVariant to xml conversions
// use QByteArray & reference, becouse it is faster, then return QByteArray
static void toXmlRpcValue( const int spaces, const QVariant & child, QByteArray & b );
static void toXmlRpcStruct( const int spaces, const QVariantMap & child, QByteArray & b );
static void toXmlRpcArray( const int spaces, const QVariantList & child, QByteArray & b );
// xml to QVariant conversions
static QVariant parseXmlRpcValue( const QDomElement & e, QString& err );
static QVariant parseXmlRpcStruct( const QDomElement & e, QString& err );
static QVariant parseXmlRpcArray( const QDomElement & e, QString& err );
QVariant fromXmlRpcResponse( const QString d, QString &err )
{
QVariant res = QVariant::Invalid;
QDomDocument doc;
if ( doc.setContent( d, &err ) ) {
QDomElement methodResponse = doc.firstChildElement("methodResponse");
if ( methodResponse.isNull() )
err = "Element 'methodResponse' is absent in response";
else {
QDomElement result = methodResponse.firstChildElement();
if ( result.isNull() ) {
err = "Element 'params' is absent in response";
return QVariant::Invalid;
}
else if ( result.tagName() == "params" ) {
QDomElement param = result.firstChild().firstChild().toElement();
res = parseXmlRpcValue( param, err );
}
else {
err = result.text();
}
}
}
return res;
}
QByteArray toXmlRpcRequest( const QString m, const QList<QVariant>& l )
{
#ifdef XMLRPC_WITHSPACES
QByteArray r( "<?xml version=\"1.0\"?>\n<methodCall>" );
#else
QByteArray r( "<?xml version=\"1.0\"?><methodCall>" );
#endif
#ifdef XMLRPC_WITHSPACES
r.append( "\n <methodName>" );
r.append( m );
r.append( "</methodName>" );
#else
r.append( "<methodName>" );
r.append( m );
r.append( "</methodName>" );
#endif
#ifdef XMLRPC_WITHSPACES
r.append( "\n <params>" );
#else
r.append( "<params>" );
#endif
for ( int i = 0; i < l.size(); i++ )
{
#ifdef XMLRPC_WITHSPACES
r.append( "\n <param>" );
#else
r.append( "<param>" );
#endif
toXmlRpcValue( 6, l.at(i), r );
#ifdef XMLRPC_WITHSPACES
r.append( "\n </param>" );
#else
r.append( "</param>" );
#endif
}
#ifdef XMLRPC_WITHSPACES
r.append( "\n </params>" );
#else
r.append( "</params>" );
#endif
#ifdef XMLRPC_WITHSPACES
r.append( "\n</methodCall>" );
#else
r.append( "</methodCall>" );
#endif
return r;
}
static void toXmlRpcArray( const int spaces, const QVariantList & child, QByteArray & b )
{
#ifdef DEBUG_XMLRPC
qDebug() << "toXmlRpcArray()";
#endif
QListIterator< QVariant > i(child);
while( i.hasNext() )
toXmlRpcValue( spaces + 2, i.next(), b );
}
static void toXmlRpcStruct( const int spaces, const QVariantMap & child, QByteArray & b )
{
#ifdef DEBUG_XMLRPC
qDebug() << "toXmlRpcStruct()";
#endif
QMapIterator< QString, QVariant > i(child);
while( i.hasNext() ) {
i.next();
#ifdef XMLRPC_WITHSPACES
b.append( '\n' );
b.append( QByteArray(spaces, ' ') );
#endif
b.append( "<member>" );
#ifdef XMLRPC_WITHSPACES
b.append( '\n' );
b.append( QByteArray(spaces + 2, ' ') );
#endif
b.append( "<name>" + i.key() + "</name>" );
toXmlRpcValue( spaces + 2, i.value(), b );
#ifdef XMLRPC_WITHSPACES
b.append( '\n' );
b.append( QByteArray(spaces, ' ') );
#endif
b.append( "</member>" );
}
}
static void toXmlRpcValue( const int spaces, const QVariant & child, QByteArray & b )
{
#ifdef DEBUG_XMLRPC
qDebug() << "toXmlRpcValue()";
#endif
switch( child.type() ) {
case QVariant::Int:
#ifdef XMLRPC_WITHSPACES
b.append( '\n' );
b.append( QByteArray(spaces, ' ') );
#endif
b.append( "<value><int>" + QString::number(child.toInt()) + "</int></value>" );
break;
case QVariant::Bool:
#ifdef XMLRPC_WITHSPACES
b.append( '\n' );
b.append( QByteArray(spaces, ' ') );
#endif
b.append( QString("<value><boolean>") + (child.toBool() ? "1" : "0") + "</boolean></value>" );
break;
case QVariant::String:
#ifdef XMLRPC_WITHSPACES
b.append( '\n' );
b.append( QByteArray(spaces, ' ') );
#endif
b.append( "<value><string>" + child.toString() + "</string></value>" );
break;
case QVariant::Double:
#ifdef XMLRPC_WITHSPACES
b.append( '\n' );
b.append( QByteArray(spaces, ' ') );
#endif
b.append( "<value><double>" + QString::number(child.toDouble()) + "</double></value>" );
break;
case QVariant::DateTime:
#ifdef XMLRPC_WITHSPACES
b.append( '\n' );
b.append( QByteArray(spaces, ' ') );
#endif
b.append( "<value><dateTime.iso8601>" + child.toDateTime().toString("yyyyMMddTHH:mm:ss") +
"</dateTime.iso8601></value>" );
break;
case QVariant::ByteArray:
#ifdef XMLRPC_WITHSPACES
b.append( '\n' );
b.append( QByteArray(spaces, ' ') );
#endif
b.append( "<value><base64>" + child.toByteArray().toBase64() + "</base64></value>" );
break;
case QVariant::List:
#ifdef XMLRPC_WITHSPACES
b.append( '\n' );
b.append( QByteArray(spaces, ' ') );
#endif
b.append( "<array><data>" );
toXmlRpcArray( spaces + 2, child.toList(), b );
#ifdef XMLRPC_WITHSPACES
b.append( '\n' );
b.append( QByteArray(spaces, ' ') );
#endif
b.append( "</data></array>" );
break;
case QVariant::Map:
#ifdef XMLRPC_WITHSPACES
b.append( '\n' );
b.append( QByteArray(spaces, ' ') );
#endif
b.append( "<value><struct>" );
toXmlRpcStruct( spaces + 2, child.toMap(), b );
#ifdef XMLRPC_WITHSPACES
b.append( '\n' );
b.append( QByteArray(spaces, ' ') );
#endif
b.append( "</struct></value>" );
break;
default:
qCritical() << "toXmlRpcValue(): unknown return xmlrpc type"
<< child.typeName() << endl << child;
qFatal("programming error");
}
}
static QVariant parseXmlRpcValue( const QDomElement & e, QString& err )
{
#ifdef DEBUG_XMLRPC
qDebug() << "parseXmlRpcValue():" << e.tagName();
#endif
QVariant v = QVariant::Invalid;
QString tagName = e.tagName();
if( tagName != "value" ) {
err = "first param tag is not value";
return v;
}
QDomElement t = e.firstChild().toElement();
QString type = t.tagName();
if( type == "int" || type == "i4" ) {
bool ok;
v = t.firstChild().toText().data().toInt( &ok );
if( !ok )
err = "Can't convert int text '" + t.firstChild().toText().data() + "' to number";
}
else if( type == "boolean" )
v = t.firstChild().toText().data() == "1" ? true : false;
else if( type == "string" )
v = t.firstChild().toText().data();
else if( type == "double" ) {
bool ok;
v = t.firstChild().toText().data().toDouble( &ok );
if( !ok )
err = "Can't convert int text '" + t.firstChild().toText().data() + "' to number";
}
else if( type == "dateTime.iso8601" )
v = QDateTime::fromString( t.firstChild().toText().data(), "yyyyMMddTHH:mm:ss" );
else if( type == "base64" )
v = QByteArray::fromBase64( t.firstChild().toText().data().toLatin1() );
else if ( type == "array" )
v = parseXmlRpcArray( t.firstChild().toElement(), err );
else if ( type == "struct" )
v = parseXmlRpcStruct( t.firstChild().toElement() , err );
else if ( type.length() == 0 )
v = e.toElement().firstChild().toText().data();
else
err = "unknown type: '" + type + "'";
return v;
}
static QVariant parseXmlRpcStruct( const QDomElement &e, QString &err )
{
#ifdef DEBUG_XMLRPC
qDebug() << "parseXmlRpcStruct():" << e.tagName();
#endif
QVariantMap r;
QDomElement t = e;
while( !t.isNull() ) {
if( t.tagName() != "member" ) {
err = "no member tag in struct, tag " + e.tagName();
return r;
}
QDomElement s = t.firstChild().toElement();
if( s.tagName() != "name" ) {
err = "no name tag in member struct, tag " + s.tagName();
return r;
}
// set map value
r[ s.firstChild().toText().data() ] = parseXmlRpcValue( s.nextSibling().toElement(), err );
if( !err.isEmpty() )
return r;
t = t.nextSibling().toElement();
}
return r;
}
static QVariant parseXmlRpcArray( const QDomElement &e, QString &err )
{
#ifdef DEBUG_XMLRPC
qDebug() << "parseXmlRpcArray():" << e.tagName();
#endif
QVariantList r;
if( e.tagName() != "data" ) {
err = "no data tag in array, tag " + e.tagName();
return r;
}
QDomElement t = e.firstChild().toElement();
while( !t.isNull() ) {
r.append( parseXmlRpcValue(t,err) );
if( !err.isEmpty() )
return r;
t = t.nextSibling().toElement();
}
return r;
}

View File

@ -0,0 +1,21 @@
#ifndef XMLRPCCONV_H
#define XMLRPCCONV_H
#include <QTcpServer>
#include <QTcpSocket>
#include <QMap>
#include <QList>
#include <QString>
#include <QVariant>
#include <QHttpHeader>
#include <QDomDocument>
#include <QMetaMethod>
#include <QTimerEvent>
#include <QStringList>
#include <QDateTime>
QByteArray toXmlRpcRequest( const QString m, const QList<QVariant>& l );
QVariant fromXmlRpcResponse( const QString d, QString &err );
#endif

4
3rdparty/qtxmlrpc/server/server.pri vendored Normal file
View File

@ -0,0 +1,4 @@
QT *= network xml
HEADERS += $$PWD/src/protocol.h $$PWD/src/xmlrpcserver.h
SOURCES += $$PWD/src/protocol.cpp $$PWD/src/xmlrpcserver.cpp

View File

@ -0,0 +1,391 @@
#include "protocol.h"
QString ClientProtocol::unconnectedNoDstHost = QString("socket unconnected, no dstHost");
ClientProtocol::ClientProtocol( QTcpSocket *parent,
const QString & _dstHost,
const quint16 _dstPort )
: QObject(parent), socket( parent ),
dstHost( _dstHost ), dstPort( _dstPort ),
protocolRetry( 0 ), maxProtocolRetries( 3 ), protocolStarted( false ),
disconnectFromSocketOnDoneFlag( false )
{
Q_ASSERT( socket );
// check, if no dstHost, socket must be in the ConnectedState
if( dstHost.isEmpty() &&
socket->state() != QAbstractSocket::ConnectedState ) {
qCritical() << this << "constructor, dstHost.isEmpty(), but socket state"
<< socket->state();
qFatal( "you must check socket state, before creating protocol" );
}
connectTimeoutTimer = new QTimer( this );
connectTimeoutTimer->setSingleShot( true );
connect( connectTimeoutTimer, SIGNAL( timeout() ),
SLOT( slotSocketConnectTimeout() ) );
reconnectSleepTimer = new QTimer( this );
reconnectSleepTimer->setSingleShot( true );
connect( reconnectSleepTimer, SIGNAL( timeout() ),
SLOT( deferredStart() ) );
// connect socket signals to my slots
connect( socket, SIGNAL( error(QAbstractSocket::SocketError) ),
SLOT( slotSocketError(QAbstractSocket::SocketError) ) );
connect( socket, SIGNAL( stateChanged(QAbstractSocket::SocketState) ),
SLOT( slotSocketStateChanged(QAbstractSocket::SocketState) ) );
}
void ClientProtocol::slotSocketStateChanged ( QAbstractSocket::SocketState socketState )
{
#ifdef DEBUG_PROTOCOL
qDebug() << this << "slotSocketStateChanged(" << socketState << ")";
#endif
// Не слишком ли много мы ходили в protocolStart?
if( protocolRetry >= maxProtocolRetries ) {
emitError( "maxProtocolRetries reached" );
return;
}
switch( socketState ) {
case QAbstractSocket::ConnectedState:
// уже соединены, запускаем протокол
#ifdef DEBUG_PROTOCOL
qDebug() << this << "slotSocketStateChanged((): connected!"
<< "protocolRetry" << protocolRetry;
#endif
protocolStart();
break;
case QAbstractSocket::UnconnectedState:
if( protocolStarted )
protocolStop();
// can reconnect?
if( dstHost.size() ) {
#ifdef DEBUG_PROTOCOL
qDebug() << this
<< "slotSocketStateChanged(): starting reconnect timer...";
#endif
reconnectSleepTimer->start( reconnectSleep );
}
else
emitError( unconnectedNoDstHost );
break;
default:
; // do nothing
}
}
void ClientProtocol::slotSocketError( QAbstractSocket::SocketError socketError )
{
#ifdef DEBUG_PROTOCOL
qDebug() << this << "slotSocketError(" << socketError << ")";
#endif
switch( socketError ) {
case QAbstractSocket::ConnectionRefusedError:
case QAbstractSocket::SocketTimeoutError:
case QAbstractSocket::RemoteHostClosedError:
// ну чо поделать, как только socketState
// поменяется в UnconnectedState, начнется новый deferredStart
break;
case QAbstractSocket::HostNotFoundError:
qWarning() << this << "slotSocketError(): host not found"
<< dstHost << ":" << dstPort;
emitError( QString("host not found: ") +
dstHost + ":" + QString::number(dstPort) );
break;
case QAbstractSocket::SocketAccessError:
case QAbstractSocket::SocketResourceError:
case QAbstractSocket::DatagramTooLargeError:
case QAbstractSocket::AddressInUseError:
case QAbstractSocket::NetworkError:
case QAbstractSocket::SocketAddressNotAvailableError:
case QAbstractSocket::UnsupportedSocketOperationError:
case QAbstractSocket::ProxyAuthenticationRequiredError:
case QAbstractSocket::UnknownSocketError:
qCritical() << this << "slotSocketError(): bad socket error, aborting"
<< socketError;
emitError( "bad socket error" );
break;
default:
qCritical() << this << "slotSocketError(): unknown socket error"
<< socketError;
emitError( "Unknown socket error" );
}
}
void ClientProtocol::slotSocketConnectTimeout()
{
#ifdef DEBUG_PROTOCOL
qDebug() << this << "slotSocketConnectTimeout()";
#endif
emitError( "socket connect timeout" );
}
void ClientProtocol::deferredStart()
{
#ifdef DEBUG_PROTOCOL
qDebug() << this << "deferredStart()";
#endif
// Не слишком ли много мы ходили в protocolStart?
if( protocolRetry >= maxProtocolRetries ) {
emitError( "maxProtocolRetries reached" );
return;
}
// Не запущен timeoutTimer?
if( ! connectTimeoutTimer->isActive() )
connectTimeoutTimer->start( connectTimeout );
// запущен reconnectSleepTimer?
if( reconnectSleepTimer->isActive() )
reconnectSleepTimer->stop();
switch( socket->state() ) {
case QAbstractSocket::UnconnectedState:
// еще никуда не коннектится, начнем :)
#ifdef DEBUG_PROTOCOL
qDebug() << this << "deferredStart(): socket->connectToHost("
<< dstHost << "," << dstPort << ")";
#endif
if( dstHost.size() )
connectSocket();
else
emitError( "dstHost is empty and socket unconnected" );
break;
case QAbstractSocket::ConnectedState:
// уже соединены, запускаем протокол
#ifdef DEBUG_PROTOCOL
qDebug() << this << "deferredStart(): connected! protocolRetry"
<< protocolRetry;
#endif
protocolStart();
break;
default:
; // do nothing
}
}
void ClientProtocol::connectSocket()
{
#ifdef DEBUG_PROTOCOL
qDebug() << this << "ClientProtocol::connectSocket()";
#endif
Q_ASSERT( dstHost.size() );
socket->connectToHost( dstHost, dstPort );
}
#ifdef DEBUG_PROTOCOL
void ClientProtocol::slotBytesWritten ( qint64 bytes )
{
qDebug() << this << "ClientProtocol::slotBytesWritten(" << bytes << ")";
#else
void ClientProtocol::slotBytesWritten ( qint64 )
{
#endif
}
void ClientProtocol::slotReadyRead()
{
// default implementation just read all data
QByteArray data = socket->readAll();
#ifdef DEBUG_PROTOCOL
qDebug() << this << "ClientProtocol::slotReadyRead(): " << data;
#endif
}
void ClientProtocol::emitError( const QString & errTxt )
{
#ifdef DEBUG_PROTOCOL
qDebug() << this << "emitError(" << errTxt << ")";
#endif
if( protocolStarted )
protocolStop();
else
stopTimers();
// disconnect all signals to me
socket->disconnect( this );
socket->abort();
emit error( errTxt );
}
void ClientProtocol::emitDone()
{
#ifdef DEBUG_PROTOCOL
qDebug() << this << "emitDone()";
#endif
if( protocolStarted )
protocolStop();
else
stopTimers();
if( disconnectFromSocketOnDoneFlag )
socket->disconnect( this );
emit done();
}
void ClientProtocol::sureWrite( const QByteArray & response )
{
qint64 len = response.size();
const char * ptr = response.data();
while( len ) {
qint64 res = socket->write( ptr, len );
if ( res < 0 )
break;
len -= res;
ptr += res;
}
socket->flush();
}
void ClientProtocol::stopTimers()
{
#ifdef DEBUG_PROTOCOL
qDebug() << this << "ClientProtocol::stopTimers()";
#endif
// stop my timers
if( connectTimeoutTimer->isActive() )
connectTimeoutTimer->stop();
if( reconnectSleepTimer->isActive() )
reconnectSleepTimer->stop();
}
void ClientProtocol::protocolStop()
{
#ifdef DEBUG_PROTOCOL
qDebug() << this << "ClientProtocol::protocolStop()";
#endif
protocolStarted = false;
// disconnect socket data signals from protocol handlers
disconnect( socket, SIGNAL( readyRead() ),
this, SLOT( slotReadyRead() ) );
disconnect( socket, SIGNAL( bytesWritten(qint64) ),
this, SLOT( slotBytesWritten(qint64) ) );
}
void ClientProtocol::protocolStart()
{
#ifdef DEBUG_PROTOCOL
qDebug() << this << "ClientProtocol::protocolStart()";
#endif
stopTimers();
protocolRetry++;
protocolStarted = true;
// connect socket data signals to protocol handlers
connect( socket, SIGNAL( readyRead() ),
this, SLOT( slotReadyRead() ) );
connect( socket, SIGNAL( bytesWritten(qint64) ),
this, SLOT( slotBytesWritten(qint64) ) );
// noProxyMode?
if( !qstrcmp(metaObject()->className(), "ClientProtocol") )
emitDone();
}
ClientProtocolWithTimeout::ClientProtocolWithTimeout( QTcpSocket * parent,
const int _protocolTimeout,
const QString & dstHost,
const quint16 dstPort )
: ClientProtocol( parent, dstHost, dstPort ),
protocolTimeout( _protocolTimeout )
{
protocolTimeoutTimer = new QTimer( this );
protocolTimeoutTimer->setSingleShot( true );
connect( protocolTimeoutTimer, SIGNAL( timeout() ),
SLOT( slotProtocolTimeout() ) );
}
void ClientProtocolWithTimeout::protocolStop()
{
#ifdef DEBUG_PROTOCOL
qDebug() << this << "ClientProtocolWithTimeout::protocolStop():"
<< "stop protocol timeout timer";
#endif
ClientProtocol::protocolStop();
if( protocolTimeoutTimer->isActive() )
protocolTimeoutTimer->stop();
}
void ClientProtocolWithTimeout::protocolStart()
{
#ifdef DEBUG_PROTOCOL
qDebug() << this << "ClientProtocolWithTimeout::protocolStart():"
<< "start protocol timeout timer"
<< protocolTimeout / 1000 << "secs";
#endif
ClientProtocol::protocolStart();
protocolTimeoutTimer->start( protocolTimeout );
}
void ClientProtocolWithTimeout::slotProtocolTimeout()
{
#ifdef DEBUG_PROTOCOL
qDebug() << this << "ClientProtocolWithTimeout::slotProtocolTimeout()";
#endif
if( !objectName().length() ) {
qCritical() << this << "ClientProtocolWithTimeout::slotProtocolTimeout():"
<< "protocol name empty!"
<< "Please setObjectName() for your protocols!";
qFatal( "programming error" );
}
emitError( objectName() + " protocol timeout" );
}
#ifdef DEBUG_PROTOCOL
void ClientProtocolWithTimeout::slotBytesWritten( qint64 bytes )
{
qDebug() << this << "ClientProtocolWithTimeout::slotBytesWritten("
<< bytes << "): restart protocol timeout timer"
<< protocolTimeout / 1000 << "secs";
#else
void ClientProtocolWithTimeout::slotBytesWritten( qint64 )
{
#endif
Q_ASSERT( protocolStarted );
Q_ASSERT( protocolTimeoutTimer->isActive() );
// restart timeout timer.
protocolTimeoutTimer->start( protocolTimeout );
}
void ClientProtocolWithTimeout::slotReadyRead()
{
#ifdef DEBUG_PROTOCOL
qDebug() << this << "ClientProtocolWithTimeout::slotReadyRead():"
<< "restart protocol timeout timer"
<< protocolTimeout / 1000 << "secs";
#endif
Q_ASSERT( protocolStarted );
Q_ASSERT( protocolTimeoutTimer->isActive() );
// restart timeout timer.
protocolTimeoutTimer->start( protocolTimeout );
}

120
3rdparty/qtxmlrpc/server/src/protocol.h vendored Normal file
View File

@ -0,0 +1,120 @@
#ifndef PROTOCOL_H
#define PROTOCOL_H
#include <QtDebug>
#include <QObject>
#include <QTimer>
#include <QtNetwork/QTcpSocket>
#include <QtNetwork/QHostAddress>
// #define DEBUG_PROTOCOL
class QTcpSocket;
class ClientProtocol : public QObject
{
Q_OBJECT
public:
// parent - должен быть ребенком QTcpSocket,
// от и есть Socket, с которой работаем. Если кто-то удаляет
// Socket, она удалит нас как детей, таким образом протоколы не будут
// работать с удаленной Socket
//
// если _dstHost == QString::null, то для работы протокола необходим
// сконнекченный сокет. Иначе выбрасываем error.
ClientProtocol( QTcpSocket * parent,
const QString & _dstHost = QString::null,
const quint16 _dstPort = 0 );
#ifdef DEBUG_PROTOCOL
~ClientProtocol()
{
qDebug() << this << "destructor";
}
#endif
void disconnectFromSocketOnDone() { disconnectFromSocketOnDoneFlag = true; }
QTcpSocket * getSocket() { return socket; }
static QString unconnectedNoDstHost;
public slots:
// if socket connected, call protocolStart(), slotReadyRead() if bytes available
// otherwise connects and do same thing.
void deferredStart();
protected slots:
void slotSocketStateChanged ( QAbstractSocket::SocketState socketState );
void slotSocketError( QAbstractSocket::SocketError socketError );
// to be overloaded in child protocol, no need to call this implementations
virtual void slotBytesWritten ( qint64 bytes );
virtual void slotReadyRead();
void slotSocketConnectTimeout();
signals:
void error( const QString& errTxt );
void done();
protected:
// socket == parent, сделано чтобы не кастить каждый раз парента
QTcpSocket * socket;
QString dstHost;
quint16 dstPort;
int protocolRetry;
int maxProtocolRetries;
bool protocolStarted;
bool disconnectFromSocketOnDoneFlag;
// Cыны обязаны вызвать родителей первой строкой.
virtual void protocolStop();
// Может вызываться maxProtocolRetries раз, если в процессе
// работы происходит Disconnect, либо 1 раз, если дали сконнекченный socket
virtual void protocolStart();
// если дают QSSLSocket, можно перекрыть
// обычное поведение тут (родителя вызывать уже не нужно)
// основная задача socket->connectToHost..
virtual void connectSocket();
// stop() and emit error
void emitError( const QString & errTxt );
// disconnect my slots, stop timers, emit done()
void emitDone();
// emitError, if can't write a bit
void sureWrite( const QByteArray & response );
private:
void stopTimers();
QTimer * connectTimeoutTimer;
QTimer * reconnectSleepTimer;
static const int connectTimeout = 30000; // msec
static const int reconnectSleep = 1000; // msec
};
// Протокол, который выпадает в emitError("protocol timeout"),
// если работает дольше, чем указали при конструировании
class ClientProtocolWithTimeout : public ClientProtocol
{
Q_OBJECT
public:
ClientProtocolWithTimeout( QTcpSocket * parent,
const int _protocolTimeout,
const QString & dstHost = QString::null,
const quint16 dstPort = 0 );
#ifdef DEBUG_PROTOCOL
~ClientProtocolWithTimeout()
{
qDebug() << this << "destructor";
}
#endif
protected slots:
void slotProtocolTimeout();
// restart timer, if protocolStated
void slotBytesWritten ( qint64 bytes );
// restart timer, if protocolStated
void slotReadyRead();
protected:
void protocolStop();
void protocolStart();
int protocolTimeout;
QTimer * protocolTimeoutTimer;
};
#endif

View File

@ -0,0 +1,273 @@
/*
Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies)
These were part of the QtNetwork module of the Qt Toolkit.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#include "config.h"
#include "qhttpheader_p.h"
using namespace WebKit;
static QString contentLengthString = QLatin1String("content-length");
static QString contentTypeString = QLatin1String("content-type");
QHttpHeader::QHttpHeader()
{
setValid(true);
}
QHttpHeader::QHttpHeader(const QString& str)
{
setValid(true);
parse(str);
}
QHttpHeader::~QHttpHeader()
{
}
bool QHttpHeader::parse(const QString& str)
{
QStringList lst;
int pos = str.indexOf(QLatin1Char('\n'));
if (pos > 0 && str.at(pos - 1) == QLatin1Char('\r'))
lst = str.trimmed().split(QLatin1String("\r\n"));
else
lst = str.trimmed().split(QLatin1String("\n"));
lst.removeAll(QString());
if (lst.isEmpty())
return true;
QStringList lines;
QStringList::Iterator it = lst.begin();
for (; it != lst.end(); ++it) {
if (!(*it).isEmpty()) {
if ((*it)[0].isSpace()) {
if (!lines.isEmpty()) {
lines.last() += QLatin1Char(' ');
lines.last() += (*it).trimmed();
}
} else
lines.append((*it));
}
}
int number = 0;
for (it = lines.begin(); it != lines.end(); ++it) {
if (!parseLine(*it, number++)) {
setValid(false);
return false;
}
}
return true;
}
QString QHttpHeader::value(const QString& key) const
{
QString lowercaseKey = key.toLower();
QList<QPair<QString, QString> >::ConstIterator it = m_values.constBegin();
while (it != m_values.constEnd()) {
if ((*it).first.toLower() == lowercaseKey)
return (*it).second;
++it;
}
return QString();
}
bool QHttpHeader::hasKey(const QString& key) const
{
QString lowercaseKey = key.toLower();
QList<QPair<QString, QString> >::ConstIterator it = m_values.constBegin();
while (it != m_values.constEnd()) {
if ((*it).first.toLower() == lowercaseKey)
return true;
++it;
}
return false;
}
void QHttpHeader::setValue(const QString& key, const QString& value)
{
QString lowercaseKey = key.toLower();
QList<QPair<QString, QString> >::Iterator it = m_values.begin();
while (it != m_values.end()) {
if ((*it).first.toLower() == lowercaseKey) {
(*it).second = value;
return;
}
++it;
}
addValue(key, value);
}
void QHttpHeader::addValue(const QString& key, const QString& value)
{
m_values.append(qMakePair(key, value));
}
bool QHttpHeader::parseLine(const QString& line, int)
{
int i = line.indexOf(QLatin1Char(':'));
if (i == -1)
return false;
addValue(line.left(i).trimmed(), line.mid(i + 1).trimmed());
return true;
}
QString QHttpHeader::toString() const
{
if (!isValid())
return QLatin1String("");
QString ret = QLatin1String("");
QList<QPair<QString, QString> >::ConstIterator it = m_values.constBegin();
while (it != m_values.constEnd()) {
ret += (*it).first + QLatin1String(": ") + (*it).second + QLatin1String("\r\n");
++it;
}
return ret;
}
bool QHttpHeader::hasContentLength() const
{
return hasKey(contentLengthString);
}
uint QHttpHeader::contentLength() const
{
return value(contentLengthString).toUInt();
}
void QHttpHeader::setContentLength(int len)
{
setValue(contentLengthString, QString::number(len));
}
bool QHttpHeader::hasContentType() const
{
return hasKey(contentTypeString);
}
QString QHttpHeader::contentType() const
{
QString type = value(contentTypeString);
if (type.isEmpty())
return QString();
int pos = type.indexOf(QLatin1Char(';'));
if (pos == -1)
return type;
return type.left(pos).trimmed();
}
void QHttpHeader::setContentType(const QString &type)
{
setValue(contentTypeString, type);
}
QHttpResponseHeader::QHttpResponseHeader(int code, const QString &text, int majorVer, int minorVer)
: QHttpHeader()
, m_statusCode(code)
, m_reasonPhrase(text)
, m_majorVersion(majorVer)
, m_minorVersion(minorVer)
{
}
bool QHttpResponseHeader::parseLine(const QString& line, int number)
{
if (number)
return QHttpHeader::parseLine(line, number);
QString l = line.simplified();
if (l.length() < 10)
return false;
if (l.left(5) == QLatin1String("HTTP/") && l[5].isDigit() && l[6] == QLatin1Char('.')
&& l[7].isDigit() && l[8] == QLatin1Char(' ') && l[9].isDigit()) {
m_majorVersion = l[5].toLatin1() - '0';
m_minorVersion = l[7].toLatin1() - '0';
int pos = l.indexOf(QLatin1Char(' '), 9);
if (pos != -1) {
m_reasonPhrase = l.mid(pos + 1);
m_statusCode = l.mid(9, pos - 9).toInt();
} else {
m_statusCode = l.mid(9).toInt();
m_reasonPhrase.clear();
}
} else
return false;
return true;
}
QString QHttpResponseHeader::toString() const
{
static QString ret(QLatin1String("HTTP/%1.%2 %3 %4\r\n%5\r\n"));
return ret.arg(m_majorVersion).arg(m_minorVersion).arg(m_statusCode).arg(m_reasonPhrase).arg(QHttpHeader::toString());
}
QHttpRequestHeader::QHttpRequestHeader()
: QHttpHeader()
{
setValid(false);
}
QHttpRequestHeader::QHttpRequestHeader(const QString& str)
{
parse(str);
}
bool QHttpRequestHeader::parseLine(const QString& line, int number)
{
if (number)
return QHttpHeader::parseLine(line, number);
QStringList lst = line.simplified().split(QLatin1String(" "));
if (lst.count() > 0) {
m_method = lst[0];
if (lst.count() > 1) {
m_path = lst[1];
if (lst.count() > 2) {
QString v = lst[2];
if (v.length() >= 8 && v.left(5) == QLatin1String("HTTP/")
&& v[5].isDigit() && v[6] == QLatin1Char('.') && v[7].isDigit()) {
m_majorVersion = v[5].toLatin1() - '0';
m_minorVersion = v[7].toLatin1() - '0';
return true;
}
}
}
}
return false;
}
QString QHttpRequestHeader::toString() const
{
static QString first(QLatin1String("%1 %2"));
static QString last(QLatin1String(" HTTP/%3.%4\r\n%5\r\n"));
return first.arg(m_method).arg(m_path) + last.arg(m_majorVersion).arg(m_minorVersion).arg(QHttpHeader::toString());
}

View File

@ -0,0 +1,112 @@
/*
Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies)
These were part of the QtNetwork module of the Qt Toolkit.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#ifndef qhttpheader_p_h
#define qhttpheader_p_h
#include <QPair>
#include <QString>
#include <QStringList>
namespace WebKit {
class QHttpHeader {
public:
QHttpHeader();
QHttpHeader(const QString&);
virtual ~QHttpHeader();
void setValue(const QString& key, const QString& value);
void addValue(const QString& key, const QString& value);
QString value(const QString& key) const;
bool hasKey(const QString&) const;
// ### Qt 5: change to qint64
bool hasContentLength() const;
uint contentLength() const;
void setContentLength(int);
bool hasContentType() const;
QString contentType() const;
void setContentType(const QString&);
virtual QString toString() const;
bool isValid() const { return m_valid; }
virtual int majorVersion() const = 0;
virtual int minorVersion() const = 0;
protected:
virtual bool parseLine(const QString& line, int number);
bool parse(const QString&);
void setValid(bool v) { m_valid = v; }
private:
bool m_valid;
QList<QPair<QString, QString> > m_values;
};
class QHttpResponseHeader : public QHttpHeader {
public:
QHttpResponseHeader(int code, const QString& text = QString(), int majorVer = 1, int minorVer = 1);
int statusCode() const { return m_statusCode; }
QString reasonPhrase() const {return m_reasonPhrase; }
int majorVersion() const { return m_majorVersion; }
int minorVersion() const { return m_minorVersion; }
QString toString() const;
protected:
bool parseLine(const QString& line, int number);
private:
int m_statusCode;
QString m_reasonPhrase;
int m_majorVersion;
int m_minorVersion;
};
class QHttpRequestHeader : public QHttpHeader {
public:
QHttpRequestHeader();
QHttpRequestHeader(const QString&);
QString method() const { return m_method; }
QString path() const { return m_path; }
int majorVersion() const { return m_majorVersion; }
int minorVersion() const { return m_minorVersion; }
QString toString() const;
protected:
bool parseLine(const QString& line, int number);
private:
QString m_method;
QString m_path;
int m_majorVersion;
int m_minorVersion;
};
}
#endif

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,226 @@
#ifndef XMLRPCSERVER_H
#define XMLRPCSERVER_H
#include <QTcpServer>
#include <QTcpSocket>
#include <QMap>
#include <QList>
#include <QString>
#include <QVariant>
#include <QHttpHeader>
// ssl
#include <QSslCertificate>
#include <QSslKey>
// #define DEBUG_XMLRPC
// use spaces in xmlrpc formatting
#define XMLRPC_WITHSPACES
/*
* Types from http://www.xmlrpc.com/spec maps into QVariant as:
*
* int - int,
* boolean - bool,
* string - QString,
* double - double,
* dateTime.iso8601 - QDateTime,
* base64 - QByteArray
* array - QVariantList
* struct - QVariantMap
*
* Fault method response generated, if return value is
* QVariantMap with two fields: faultCode, faultString.
*
*/
// creates xmlrpc fault
// Use this in your callbacks, as return createFault( code, msg );
// For example, in python, xmlrpclib.Fault exception will be raised.
inline QVariant createFault( const int code, const QString & msg )
{
QVariantMap f;
f["faultCode"] = code;
f["faultString"] = msg;
return f;
}
/*
* Protocol is base class for Network protocols.
* This implementation implement timeout, if not data sent/received.
*
* Protocol shoud be created as QAbstractSocket child,
* if you delete socket, protocol will be deleted automaticly
*
* Socket can have only one protocol at one time.
*
* Protocol have no start/stop policy, it start when construct and stops
* when destruct.
*/
class Protocol : public QObject
{
Q_OBJECT
public:
// Timeout activates, if it is above zero, msecs.
Protocol( QAbstractSocket * parent, const int _timeout = 0 );
~Protocol();
void setTimeout( const int _timeout );
void stopProtocolTimeout() { setTimeout(0); }
QAbstractSocket * getSocket() { return socket; }
private slots:
// restarts timeout
void __slotReadyRead();
void __slotBytesWritten( qint64 bytes );
signals:
void protocolTimeout( Protocol * );
protected:
void timerEvent( QTimerEvent *event );
void restartProtocolTimeoutTimer();
int timeout; // таймаут протокола.
int timeoutTimerId;
// Just not to cast parent() every time you need socket
QAbstractSocket * socket;
};
// very basic HttpServer for XmlRpc
class QHttpRequestHeader;
class HttpServer : public Protocol {
Q_OBJECT
public:
HttpServer( QAbstractSocket * parent );
public slots:
// sends xmlrpc response from QVariant param
void slotSendReply( const QByteArray& );
void slotSendReply( const QVariant& );
protected slots:
void slotReadyRead();
void slotBytesWritten( qint64 bytes );
signals:
void parseError( HttpServer * );
void requestReceived( HttpServer *, const QHttpRequestHeader & h, const QByteArray & body );
void replySent( HttpServer * );
private:
bool readRequestHeader();
bool readRequestBody();
bool requestContainsBody();
enum State { ReadingHeader, ReadingBody, WaitingReply, SendingReply, Done } state;
QString requestHeaderBody;
QByteArray requestBody;
QHttpRequestHeader requestHeader;
qint64 bytesWritten;
qint64 bytesToWrite;
const static int defaultTimeout = 100000; // 100 secs
};
// you can deriver from this class and implement deferredRun
// After deferred sql, network and so, you can emit sendReply signal with result.
//
// This signal will be connected to your HttpServer slotSendReply.
//
// DeferredResult will be deleted, as socket child, or you can this->deleteLater(),
// after emmiting result.
class DeferredResult : public QObject
{
Q_OBJECT
public:
DeferredResult();
~DeferredResult();
signals:
void sendReply( const QVariant& );
void sendReply( const QByteArray& );
};
class DeferredEcho : public DeferredResult
{
Q_OBJECT
public:
DeferredEcho( const QVariant& e );
private:
void timerEvent( QTimerEvent * );
QVariant echo;
};
class SslParams : public QObject
{
Q_OBJECT
public:
SslParams( const QString & certFile, const QString & keyFile, QObject * parent = 0 );
QSslCertificate certificate;
QList<QSslCertificate> ca;
QSslKey privateKey;
};
/**
@author kisel2626@gmail.com
*/
class QDomElement;
class XmlRpcServer : public QTcpServer
{
Q_OBJECT
public:
XmlRpcServer( QObject *parent = 0,
const QString & cert = "",
const QString & key = "",
const QByteArray & passwd = QByteArray() );
// Slots should return QVariant and accept const QVariant& as params.
// QVariant method( const QVariant &, ... );
// path + slot should be unique.
void registerSlot( QObject * receiver, const char * slot, QByteArray path = "/RPC2/" );
public slots:
QVariant echo( const QVariant& e ) { return e; }
DeferredResult * deferredEcho( const QVariant& e ) { return new DeferredEcho( e ); }
private slots:
// we don't support SSL yet,
// if you need SSL, connection handling design must be revised a bit
// void slotNewConnection();
// we don't need socket more, if it's disconnected
void slotSocketDisconnected();
// protocol errors
void slotProtocolTimeout( Protocol * );
void slotParseError( HttpServer * );
// when HttpServer receives request
void slotRequestReceived( HttpServer *, const QHttpRequestHeader & h, const QByteArray & body );
// when reply sent
void slotReplySent( HttpServer * );
// when registrant dies, we need to remove their callbacks методов.
void slotReceiverDestroed( QObject * );
protected:
void incomingConnection ( int socketDescriptor );
private:
// if Method is deffered
typedef QPair< QObject *, bool > IsMethodDeffered;
// fast access for invokeMethod
typedef QHash< QByteArray, IsMethodDeffered > Callbacks;
// fast callbacks delete, when registrant dies
typedef QList< QByteArray > Methods;
typedef QMap< QObject *, Methods > ObjectMethods;
Callbacks callbacks;
ObjectMethods objectMethods;
SslParams * sslParams;
};
#endif

24
3rdparty/qtxmlrpc/xmlrpctest/client.cpp vendored Normal file
View File

@ -0,0 +1,24 @@
#include "client.h"
#include "xmlrpcclient.h"
#include <QVariantList>
Client::Client( const QString &address, quint16 port, QObject *parent )
: QObject( parent ), address( address ), port( port )
{
}
void Client::testFunc( const QVariant &param )
{
XmlRpcClient *client = new XmlRpcClient( address, port );
connect( client, SIGNAL( dataReady(QVariant) ), this, SLOT( onDataReady(QVariant) ) );
client->execute( "testFunc", QVariantList() << param );
}
void Client::onDataReady( const QVariant &response )
{
qDebug() << response;
}

26
3rdparty/qtxmlrpc/xmlrpctest/client.h vendored Normal file
View File

@ -0,0 +1,26 @@
#ifndef CLIENT_H
#define CLIENT_H
#include <QObject>
#include <QVariant>
class Client : QObject
{
Q_OBJECT
public:
Client( const QString &address, quint16 port, QObject *parent = 0 );
void testFunc( const QVariant &param );
private slots:
void onDataReady( const QVariant &response );
private:
QString address;
quint16 port;
};
#endif // CLIENT_H

13
3rdparty/qtxmlrpc/xmlrpctest/client.py vendored Normal file
View File

@ -0,0 +1,13 @@
#!/usr/bin/python
from xmlrpclib import ServerProxy
import datetime
s = ServerProxy('http://localhost:8080')
print s.testFunc('abc')
print s.testFunc(1)
print s.testFunc(True)
print s.testFunc(0.5)
print s.testFunc(datetime.datetime.now())
print s.testFunc({'a':1, 'b':2, 'c':3})

30
3rdparty/qtxmlrpc/xmlrpctest/main.cpp vendored Normal file
View File

@ -0,0 +1,30 @@
#include <QCoreApplication>
#include "server.h"
#include "client.h"
int main( int argc, char **argv )
{
QCoreApplication app( argc, argv );
QString address = "127.0.0.1";
quint16 port = 8080;
Server s( address, port );
Client c( address, port );
/* NB: Responses are not syncronized */
c.testFunc( QVariant( "test" ) );
c.testFunc( QVariant( 1 ) );
c.testFunc( QVariant( true ) );
c.testFunc( QVariant( 1.5 ) );
QVariantMap m;
m["one"] = 1;
m["two"] = 2;
m["three"] = 3;
c.testFunc( QVariant( m ) );
return app.exec();
}

19
3rdparty/qtxmlrpc/xmlrpctest/server.cpp vendored Normal file
View File

@ -0,0 +1,19 @@
#include "server.h"
#include "xmlrpcserver.h"
#include <QHostAddress>
Server::Server( const QString &address, quint16 port, QObject *parent )
: QObject( parent )
{
XmlRpcServer *srv = new XmlRpcServer;
if ( srv->listen( QHostAddress( address ), port ) ) {
srv->registerSlot( this, SLOT( testFunc(QVariant) ) );
}
}
QVariant Server::testFunc( const QVariant &param )
{
return param;
}

18
3rdparty/qtxmlrpc/xmlrpctest/server.h vendored Normal file
View File

@ -0,0 +1,18 @@
#ifndef SERVER_H
#define SERVER_H
#include <QObject>
#include <QVariant>
class Server : QObject
{
Q_OBJECT
public:
Server( const QString &address, quint16 port, QObject *parent = 0 );
private slots:
QVariant testFunc( const QVariant &param );
};
#endif // SERVER_H

View File

@ -0,0 +1,6 @@
include(../server/server.pri)
include(../client/client.pri)
INCLUDEPATH += ../server/src
INCLUDEPATH += ../client/src
SOURCES += main.cpp server.cpp client.cpp
HEADERS += server.h client.h

28
3rdparty/quazip-0.5.1/CMakeLists.txt vendored Normal file
View File

@ -0,0 +1,28 @@
project (QuaZip)
cmake_minimum_required(VERSION 2.6)
set(qt_min_version "4.5.0")
find_package(Qt4 REQUIRED)
set(QT_USE_QTGUI false)
include(${QT_USE_FILE})
# Use system zlib on unix and Qt ZLIB on Windows
IF(UNIX)
find_package(ZLIB REQUIRED)
ELSE(UNIX)
SET(ZLIB_INCLUDE_DIRS "${QT_ROOT}/src/3rdparty/zlib" CACHE STRING "Path to ZLIB headers of Qt")
SET(ZLIB_LIBRARIES "")
IF(NOT EXISTS "${ZLIB_INCLUDE_DIRS}/zlib.h")
MESSAGE("Please specify a valid zlib include dir")
ENDIF(NOT EXISTS "${ZLIB_INCLUDE_DIRS}/zlib.h")
ENDIF(UNIX)
# All build libraries are moved to this directory
SET(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR})
set(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)")
set(LIB_DESTINATION "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}" CACHE STRING "Library directory name" FORCE)
add_subdirectory(quazip)
install(FILES FindQuaZip.cmake DESTINATION ${CMAKE_ROOT}/Modules)

458
3rdparty/quazip-0.5.1/COPYING vendored Normal file
View File

@ -0,0 +1,458 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts
as the successor of the GNU Library Public License, version 2, hence
the version number 2.1.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it. You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do
these things.
To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that
there is no warranty for the free library. Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with
the library.
We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License. It also provides other free software developers Less
of an advantage over competing non-free programs. These disadvantages
are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard. To achieve this, non-free programs must be
allowed to use the library. A more frequent case is that a free
library does the same job as widely used non-free libraries. In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.
Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
e) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS

1722
3rdparty/quazip-0.5.1/Doxyfile vendored Normal file

File diff suppressed because it is too large Load Diff

40
3rdparty/quazip-0.5.1/FindQuaZip.cmake vendored Normal file
View File

@ -0,0 +1,40 @@
# QUAZIP_FOUND - QuaZip library was found
# QUAZIP_INCLUDE_DIR - Path to QuaZip include dir
# QUAZIP_INCLUDE_DIRS - Path to QuaZip and zlib include dir (combined from QUAZIP_INCLUDE_DIR + ZLIB_INCLUDE_DIR)
# QUAZIP_LIBRARIES - List of QuaZip libraries
# QUAZIP_ZLIB_INCLUDE_DIR - The include dir of zlib headers
IF (QUAZIP_INCLUDE_DIRS AND QUAZIP_LIBRARIES)
# in cache already
SET(QUAZIP_FOUND TRUE)
ELSE (QUAZIP_INCLUDE_DIRS AND QUAZIP_LIBRARIES)
IF (WIN32)
FIND_PATH(QUAZIP_LIBRARY_DIR
WIN32_DEBUG_POSTFIX d
NAMES libquazip.dll
HINTS "C:/Programme/" "C:/Program Files"
PATH_SUFFIXES QuaZip/lib
)
FIND_LIBRARY(QUAZIP_LIBRARIES NAMES libquazip.dll HINTS ${QUAZIP_LIBRARY_DIR})
FIND_PATH(QUAZIP_INCLUDE_DIR NAMES quazip.h HINTS ${QUAZIP_LIBRARY_DIR}/../ PATH_SUFFIXES include/quazip)
FIND_PATH(QUAZIP_ZLIB_INCLUDE_DIR NAMES zlib.h)
ELSE(WIN32)
FIND_PACKAGE(PkgConfig)
# pkg_check_modules(PC_QCA2 QUIET qca2)
pkg_check_modules(PC_QUAZIP quazip)
FIND_LIBRARY(QUAZIP_LIBRARIES
WIN32_DEBUG_POSTFIX d
NAMES quazip
HINTS /usr/lib /usr/lib64
)
FIND_PATH(QUAZIP_INCLUDE_DIR quazip.h
HINTS /usr/include /usr/local/include
PATH_SUFFIXES quazip
)
FIND_PATH(QUAZIP_ZLIB_INCLUDE_DIR zlib.h HINTS /usr/include /usr/local/include)
ENDIF (WIN32)
INCLUDE(FindPackageHandleStandardArgs)
SET(QUAZIP_INCLUDE_DIRS ${QUAZIP_INCLUDE_DIR} ${QUAZIP_ZLIB_INCLUDE_DIR})
find_package_handle_standard_args(QUAZIP DEFAULT_MSG QUAZIP_LIBRARIES QUAZIP_INCLUDE_DIR QUAZIP_ZLIB_INCLUDE_DIR QUAZIP_INCLUDE_DIRS)
ENDIF (QUAZIP_INCLUDE_DIRS AND QUAZIP_LIBRARIES)

111
3rdparty/quazip-0.5.1/NEWS.txt vendored Normal file
View File

@ -0,0 +1,111 @@
QuaZIP changes
* 2013-03-02 0.5.1
* Lots of QuaZipDir fixes, thanks to all bug reporters.
* Full Qt Creator support.
* MS VS 2010 Express support.
* Qt5 support (didn't need any source code changes anyway).
* Lots of minor bug fixes.
* 2012-09-07 0.5
* Added run_moc.bat files for building under Windows in case Qt
integration is not available (e. g. VS 2008 Express).
* Added the QuaZipDir class to simplify ZIP navigation in terms
of directories.
* Added the QuaGzipFile class for working with GZIP archives. It
was added as a bonus since it has nothing to do with the main
purpose of the library. It probably won't get any major
improvements, although minor bug fixes are possible.
* Added the QuaZIODevice class for working with zlib
compression. It has nothing to do with the ZIP format, and
therefore the same notice as for the QuaGzipFile applies.
* The global comment is no longer erased when adding files to
an archive.
* Many bug fixes.
* 2012-01-14 0.4.4
* Fixed isSequential() test that was causing open() failures on
Unix.
* Fixed sub-directory compressing in JlCompress.
* Added MS VS 2008 solution, compatible with the binary Qt
distribution (tested on MS VS 2008 Express, had to run MOC
manually due to the lack of plugin in Express).
* Fixed extracting directories in JlCompress.
* Fixed JlCompress.h includes in the test suite, which used
lowercase names thus breaking on case-sensitive systems.
* Implemented missing QuaZipFile::getZip() that was only
declared.
* Fixed reopening closed files.
* Fixed possible memory leak in case of open error.
* 2011-09-09 0.4.3
* New test suite using QTestLib.
* Fixed bytesAvailable(), pos() and atEnd().
* Added ZIP v1.0 support and disabling data descriptor for
compatibility with some older software.
* Fixed DLL export/import issues for some symbols.
* Added QUAZIP_STATIC macro for compiling as a static library or
directly including the source.
* Added getFileNameList() and getFileInfoList() convenience
functions.
* Added some buffering to JlCompress to improve performance.
* 2011-08-10 0.4.2
* Cmake patch (thanks to Bernhard Rosenkraenzer).
* Symbian patch (thanks to Hamish Willee).
* Documented the multiple files limitation of QuaZipFile.
* Fixed relative paths handling in JlCompress.
* Fixed linking to MinGW zlib.
* 2011-05-26 0.4.1
* License statement updated to avoid confusion. GPL license
removed for the very same reason.
* Parts of original package are now clearly marked as modified,
just as their license requires.
* 2011-05-23 0.4
* QuaZip and QuaZipFile classes now use the Pimpl idiom. This
means that future releases will probably be binary compatible
with this one, but it also means that this one is binary
incompatible with the old ones.
* IO API has been rewritten using QIODevice instead of standard
C library. Among other things it means that QuaZip now supports
files up to 4 GB in size instead of 2 GB.
* Added QuaZip methods allowing access to ZIP files represented
by any seekable QIODevice implementation (QBuffer is a good
example).
* 2010-07-23 0.3
* Fixed getComment() for global comments.
* Added some useful classes for calculating checksums (thanks to
Adam Walczak).
* Added some utility classes for working with whole directories
(thanks to Roberto Pompermaier). It would be nice if someone
documents these in English, though.
* Probably fixed some problems with passwords (thanks to Vasiliy
Sorokin). I didn't test it, though.
* 2008-09-17 0.2.3
* Fixed license notices in sources.
* SVN
* Fixed a small bug in QuaZipFile::atEnd().
* 2007-01-16 0.2.2
* Added LGPL as alternative license.
* Added FAQ documentation page.
* 2006-03-21 0.2.1
* Fixed setCommentCodec() bug.
* Fixed bug that set month 1-12 instead of 0-11, as specified in
zip.h.
* Added workaround for Qt's bug that caused wrong timestamps.
* Few documentation fixes and cosmetic changes.
* 2005-07-08 0.2
* Write support.
* Extended QuaZipFile API, including size(), *pos() functions.
* Support for comments encoding/decoding.
* 2005-07-01 0.1
* Initial version.

66
3rdparty/quazip-0.5.1/README.txt vendored Normal file
View File

@ -0,0 +1,66 @@
QuaZIP is the C++ wrapper for Gilles Vollant's ZIP/UNZIP package
(AKA minizip) using Trolltech's Qt library.
It uses existing ZIP/UNZIP package C code and therefore depends on
the zlib library.
Also, it depends on Qt 4.
To compile it on UNIX dialect:
$ cd quazip
$ qmake
$ make
You must make sure that:
* You have Qt 4 properly and fully installed (including tools and
headers, not just library)
* "qmake" command runs Qt 4's qmake, not some other version (you'll have
to type full path to qmake otherwise).
To install compiled shared library, just type:
$ make install
By default, it installs in /usr/local, but you may change it using
$ qmake PREFIX=/wherever/you/want/to/install
You do not have to compile and install QuaZIP to use it. You can just
(and sometimes it may be the best way) add QuaZIP's source files to your
project and use them.
See doc/html or, if you do not have a browser, quazip/*.h and
quazip/doc/* files for the more detailed documentation.
For Windows, it's essentially the same, but you may have to adjust
settings for different environments.
If you want to include QuaZIP sources directly in your project or if
you want to use QuaZIP compiled as a static library using
"qmake CONFIG+=statliclib", you have to define the QUAZIP_STATIC macro,
otherwise you're likely to run into problems as QuaZIP symbols will be
marked as dllimported.
Copyright notice:
Copyright (C) 2005-2012 Sergey A. Tachenov
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2 of the License, or (at
your option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
See COPYING file for the full LGPL text.
Original ZIP package is copyrighted by Gilles Vollant, see
quazip/(un)zip.h files for details, basically it's zlib license.

View File

@ -0,0 +1,97 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: quazip/JlCompress.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_6b1d21316abab84c9bd8ed600604809a.html">quazip</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">JlCompress.h</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef JLCOMPRESSFOLDER_H_</span>
<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define JLCOMPRESSFOLDER_H_</span>
<a name="l00003"></a>00003 <span class="preprocessor"></span>
<a name="l00004"></a>00004 <span class="preprocessor">#include &quot;quazip.h&quot;</span>
<a name="l00005"></a>00005 <span class="preprocessor">#include &quot;quazipfile.h&quot;</span>
<a name="l00006"></a>00006 <span class="preprocessor">#include &quot;quazipfileinfo.h&quot;</span>
<a name="l00007"></a>00007 <span class="preprocessor">#include &lt;QString&gt;</span>
<a name="l00008"></a>00008 <span class="preprocessor">#include &lt;QDir&gt;</span>
<a name="l00009"></a>00009 <span class="preprocessor">#include &lt;QFileInfo&gt;</span>
<a name="l00010"></a>00010 <span class="preprocessor">#include &lt;QFile&gt;</span>
<a name="l00011"></a>00011
<a name="l00013"></a>00013
<a name="l00017"></a><a class="code" href="classJlCompress.html">00017</a> <span class="keyword">class </span>QUAZIP_EXPORT <a class="code" href="classJlCompress.html" title="Utility class for typical operations.">JlCompress</a> {
<a name="l00018"></a>00018 <span class="keyword">private</span>:
<a name="l00020"></a>00020
<a name="l00026"></a>00026 <span class="keyword">static</span> <span class="keywordtype">bool</span> compressFile(<a class="code" href="classQuaZip.html" title="ZIP archive.">QuaZip</a>* zip, QString fileName, QString fileDest);
<a name="l00028"></a>00028
<a name="l00037"></a>00037 <span class="keyword">static</span> <span class="keywordtype">bool</span> compressSubDir(<a class="code" href="classQuaZip.html" title="ZIP archive.">QuaZip</a>* parentZip, QString dir, QString parentDir, <span class="keywordtype">bool</span> recursive = <span class="keyword">true</span>);
<a name="l00039"></a>00039
<a name="l00045"></a>00045 <span class="keyword">static</span> <span class="keywordtype">bool</span> extractFile(<a class="code" href="classQuaZip.html" title="ZIP archive.">QuaZip</a>* zip, QString fileName, QString fileDest);
<a name="l00047"></a>00047
<a name="l00051"></a>00051 <span class="keyword">static</span> <span class="keywordtype">bool</span> removeFile(QStringList listFile);
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="keyword">public</span>:
<a name="l00055"></a>00055
<a name="l00060"></a>00060 <span class="keyword">static</span> <span class="keywordtype">bool</span> compressFile(QString fileCompressed, QString file);
<a name="l00062"></a>00062
<a name="l00067"></a>00067 <span class="keyword">static</span> <span class="keywordtype">bool</span> compressFiles(QString fileCompressed, QStringList files);
<a name="l00069"></a>00069
<a name="l00076"></a>00076 <span class="keyword">static</span> <span class="keywordtype">bool</span> compressDir(QString fileCompressed, QString dir = QString(), <span class="keywordtype">bool</span> recursive = <span class="keyword">true</span>);
<a name="l00077"></a>00077
<a name="l00078"></a>00078 <span class="keyword">public</span>:
<a name="l00080"></a>00080
<a name="l00087"></a>00087 <span class="keyword">static</span> QString extractFile(QString fileCompressed, QString fileName, QString fileDest = QString());
<a name="l00089"></a>00089
<a name="l00096"></a>00096 <span class="keyword">static</span> QStringList extractFiles(QString fileCompressed, QStringList files, QString dir = QString());
<a name="l00098"></a>00098
<a name="l00104"></a>00104 <span class="keyword">static</span> QStringList extractDir(QString fileCompressed, QString dir = QString());
<a name="l00106"></a>00106
<a name="l00111"></a>00111 <span class="keyword">static</span> QStringList getFileList(QString fileCompressed);
<a name="l00112"></a>00112 };
<a name="l00113"></a>00113
<a name="l00114"></a>00114 <span class="preprocessor">#endif </span><span class="comment">/* JLCOMPRESSFOLDER_H_ */</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,65 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: Class List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li class="current"><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Class List</div> </div>
</div>
<div class="contents">
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><table>
<tr><td class="indexkey"><a class="el" href="classJlCompress.html">JlCompress</a></td><td class="indexvalue">Utility class for typical operations </td></tr>
<tr><td class="indexkey"><a class="el" href="classQuaAdler32.html">QuaAdler32</a></td><td class="indexvalue">Adler32 checksum </td></tr>
<tr><td class="indexkey"><a class="el" href="classQuaChecksum32.html">QuaChecksum32</a></td><td class="indexvalue">Checksum interface </td></tr>
<tr><td class="indexkey"><a class="el" href="classQuaCrc32.html">QuaCrc32</a></td><td class="indexvalue">CRC32 checksum </td></tr>
<tr><td class="indexkey"><a class="el" href="classQuaGzipFile.html">QuaGzipFile</a></td><td class="indexvalue">GZIP file </td></tr>
<tr><td class="indexkey"><a class="el" href="classQuaZIODevice.html">QuaZIODevice</a></td><td class="indexvalue">A class to compress/decompress QIODevice </td></tr>
<tr><td class="indexkey"><a class="el" href="classQuaZip.html">QuaZip</a></td><td class="indexvalue">ZIP archive </td></tr>
<tr><td class="indexkey"><a class="el" href="classQuaZipDir.html">QuaZipDir</a></td><td class="indexvalue">Provides ZIP archive navigation </td></tr>
<tr><td class="indexkey"><a class="el" href="classQuaZipFile.html">QuaZipFile</a></td><td class="indexvalue">A file inside ZIP archive </td></tr>
<tr><td class="indexkey"><a class="el" href="structQuaZipFileInfo.html">QuaZipFileInfo</a></td><td class="indexvalue">Information about a file inside archive </td></tr>
<tr><td class="indexkey"><a class="el" href="classQuaZipFilePrivate.html">QuaZipFilePrivate</a></td><td class="indexvalue">The implementation class for <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> </td></tr>
<tr><td class="indexkey"><a class="el" href="structQuaZipNewInfo.html">QuaZipNewInfo</a></td><td class="indexvalue">Information about a file to be created </td></tr>
<tr><td class="indexkey"><a class="el" href="classQuaZipPrivate.html">QuaZipPrivate</a></td><td class="indexvalue">All the internal stuff for the <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> class </td></tr>
</table>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

BIN
3rdparty/quazip-0.5.1/doc/html/bc_s.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 705 B

View File

@ -0,0 +1,58 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">JlCompress Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classJlCompress.html">JlCompress</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classJlCompress.html#a8708eafcadc5c192a1d492e784cfc98f">compressDir</a>(QString fileCompressed, QString dir=QString(), bool recursive=true)</td><td><a class="el" href="classJlCompress.html">JlCompress</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classJlCompress.html#a4a4de9c62ecf161bb658d4d80495ea97">compressFile</a>(QString fileCompressed, QString file)</td><td><a class="el" href="classJlCompress.html">JlCompress</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classJlCompress.html#a9cdb92d29a94c6b13a718a3249685846">compressFiles</a>(QString fileCompressed, QStringList files)</td><td><a class="el" href="classJlCompress.html">JlCompress</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classJlCompress.html#a365a153baa4c11812d93cbca60b6a293">extractDir</a>(QString fileCompressed, QString dir=QString())</td><td><a class="el" href="classJlCompress.html">JlCompress</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classJlCompress.html#a38c0d58bfe3bbbcb3cf4e98d126633a3">extractFile</a>(QString fileCompressed, QString fileName, QString fileDest=QString())</td><td><a class="el" href="classJlCompress.html">JlCompress</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classJlCompress.html#a309e9ee366719a4d8aa28f837fab73ae">extractFiles</a>(QString fileCompressed, QStringList files, QString dir=QString())</td><td><a class="el" href="classJlCompress.html">JlCompress</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classJlCompress.html#ab42422be913f817d7e04c1b1cd5d0156">getFileList</a>(QString fileCompressed)</td><td><a class="el" href="classJlCompress.html">JlCompress</a></td><td><code> [static]</code></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,376 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: JlCompress Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-static-methods">Static Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">JlCompress Class Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="JlCompress" -->
<p>Utility class for typical operations.
<a href="classJlCompress.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="JlCompress_8h_source.html">JlCompress.h</a>&gt;</code></p>
<p><a href="classJlCompress-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classJlCompress.html#a4a4de9c62ecf161bb658d4d80495ea97">compressFile</a> (QString fileCompressed, QString file)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compress a single file. <a href="#a4a4de9c62ecf161bb658d4d80495ea97"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classJlCompress.html#a9cdb92d29a94c6b13a718a3249685846">compressFiles</a> (QString fileCompressed, QStringList files)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compress a list of files. <a href="#a9cdb92d29a94c6b13a718a3249685846"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classJlCompress.html#a8708eafcadc5c192a1d492e784cfc98f">compressDir</a> (QString fileCompressed, QString dir=QString(), bool recursive=true)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compress a whole directory. <a href="#a8708eafcadc5c192a1d492e784cfc98f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classJlCompress.html#a38c0d58bfe3bbbcb3cf4e98d126633a3">extractFile</a> (QString fileCompressed, QString fileName, QString fileDest=QString())</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Extract a single file. <a href="#a38c0d58bfe3bbbcb3cf4e98d126633a3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static QStringList&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classJlCompress.html#a309e9ee366719a4d8aa28f837fab73ae">extractFiles</a> (QString fileCompressed, QStringList files, QString dir=QString())</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Extract a list of files. <a href="#a309e9ee366719a4d8aa28f837fab73ae"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static QStringList&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classJlCompress.html#a365a153baa4c11812d93cbca60b6a293">extractDir</a> (QString fileCompressed, QString dir=QString())</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Extract a whole archive. <a href="#a365a153baa4c11812d93cbca60b6a293"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static QStringList&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classJlCompress.html#ab42422be913f817d7e04c1b1cd5d0156">getFileList</a> (QString fileCompressed)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the file list. <a href="#ab42422be913f817d7e04c1b1cd5d0156"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Utility class for typical operations. </p>
<p>This class contains a number of useful static functions to perform simple operations, such as mass ZIP packing or extraction. </p>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a4a4de9c62ecf161bb658d4d80495ea97"></a><!-- doxytag: member="JlCompress::compressFile" ref="a4a4de9c62ecf161bb658d4d80495ea97" args="(QString fileCompressed, QString file)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool JlCompress::compressFile </td>
<td>(</td>
<td class="paramtype">QString&#160;</td>
<td class="paramname"><em>fileCompressed</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">QString&#160;</td>
<td class="paramname"><em>file</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Compress a single file. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">fileCompressed</td><td>The name of the archive. </td></tr>
<tr><td class="paramname">file</td><td>The file to compress. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if success, false otherwise.</dd></dl>
<p>OK Comprime il file fileName nel file fileCompressed. Se la funzione fallisce restituisce false e cancella il file che si e tentato di creare.</p>
<p>La funzione fallisce se: * non si riesce ad aprire l'oggetto zip; * la compressione del file fallisce; * non si riesce a chiudere l'oggetto zip; </p>
<p>References <a class="el" href="classQuaZip.html#a7a4323b73e12f3b4470109f200728f9f">QuaZip::close()</a>, <a class="el" href="classQuaZip.html#a28b91a6282ddd9382c96a069572c6fb4">QuaZip::getZipError()</a>, <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a25ae05b12590540af8c66ae8298b928e">QuaZip::mdCreate</a>, and <a class="el" href="classQuaZip.html#abfa4e6018b2964a3d10a4c54e5ab3962">QuaZip::open()</a>.</p>
</div>
</div>
<a class="anchor" id="a9cdb92d29a94c6b13a718a3249685846"></a><!-- doxytag: member="JlCompress::compressFiles" ref="a9cdb92d29a94c6b13a718a3249685846" args="(QString fileCompressed, QStringList files)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool JlCompress::compressFiles </td>
<td>(</td>
<td class="paramtype">QString&#160;</td>
<td class="paramname"><em>fileCompressed</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">QStringList&#160;</td>
<td class="paramname"><em>files</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Compress a list of files. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">fileCompressed</td><td>The name of the archive. </td></tr>
<tr><td class="paramname">files</td><td>The file list to compress. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if success, false otherwise.</dd></dl>
<p>OK Comprime i file specificati in files nel file fileCompressed. Se la funzione fallisce restituisce false e cancella il file che si e tentato di creare.</p>
<p>La funzione fallisce se: * non si riesce ad aprire l'oggetto zip; * la compressione di un file fallisce; * non si riesce a chiudere l'oggetto zip; </p>
<p>References <a class="el" href="classQuaZip.html#a7a4323b73e12f3b4470109f200728f9f">QuaZip::close()</a>, <a class="el" href="classQuaZip.html#a28b91a6282ddd9382c96a069572c6fb4">QuaZip::getZipError()</a>, <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a25ae05b12590540af8c66ae8298b928e">QuaZip::mdCreate</a>, and <a class="el" href="classQuaZip.html#abfa4e6018b2964a3d10a4c54e5ab3962">QuaZip::open()</a>.</p>
</div>
</div>
<a class="anchor" id="a8708eafcadc5c192a1d492e784cfc98f"></a><!-- doxytag: member="JlCompress::compressDir" ref="a8708eafcadc5c192a1d492e784cfc98f" args="(QString fileCompressed, QString dir=QString(), bool recursive=true)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool JlCompress::compressDir </td>
<td>(</td>
<td class="paramtype">QString&#160;</td>
<td class="paramname"><em>fileCompressed</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">QString&#160;</td>
<td class="paramname"><em>dir</em> = <code>QString()</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>recursive</em> = <code>true</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Compress a whole directory. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">fileCompressed</td><td>The name of the archive. </td></tr>
<tr><td class="paramname">dir</td><td>The directory to compress. </td></tr>
<tr><td class="paramname">recursive</td><td>Whether to pack the subdirectories as well, or just regular files. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if success, false otherwise.</dd></dl>
<p>OK Comprime la cartella dir nel file fileCompressed, se recursive e true allora comprime anche le sotto cartelle. Se la funzione fallisce restituisce false e cancella il file che si e tentato di creare.</p>
<p>La funzione fallisce se: * non si riesce ad aprire l'oggetto zip; * la compressione di un file fallisce; * non si riesce a chiudere l'oggetto zip; </p>
<p>References <a class="el" href="classQuaZip.html#a7a4323b73e12f3b4470109f200728f9f">QuaZip::close()</a>, <a class="el" href="classQuaZip.html#a28b91a6282ddd9382c96a069572c6fb4">QuaZip::getZipError()</a>, <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a25ae05b12590540af8c66ae8298b928e">QuaZip::mdCreate</a>, and <a class="el" href="classQuaZip.html#abfa4e6018b2964a3d10a4c54e5ab3962">QuaZip::open()</a>.</p>
</div>
</div>
<a class="anchor" id="a38c0d58bfe3bbbcb3cf4e98d126633a3"></a><!-- doxytag: member="JlCompress::extractFile" ref="a38c0d58bfe3bbbcb3cf4e98d126633a3" args="(QString fileCompressed, QString fileName, QString fileDest=QString())" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QString JlCompress::extractFile </td>
<td>(</td>
<td class="paramtype">QString&#160;</td>
<td class="paramname"><em>fileCompressed</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">QString&#160;</td>
<td class="paramname"><em>fileName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">QString&#160;</td>
<td class="paramname"><em>fileDest</em> = <code>QString()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Extract a single file. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">fileCompressed</td><td>The name of the archive. </td></tr>
<tr><td class="paramname">fileName</td><td>The file to extract. </td></tr>
<tr><td class="paramname">fileDest</td><td>The destination file, assumed to be identical to <em>file</em> if left empty. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The list of the full paths of the files extracted, empty on failure.</dd></dl>
<p>OK Estrae il file fileName, contenuto nel file fileCompressed, con il nome fileDest. Se fileDest = "" allora il file viene estratto con lo stesso nome con cui e stato compresso. Se la funzione fallisce cancella il file che si e tentato di estrarre. Restituisce il nome assoluto del file estratto.</p>
<p>La funzione fallisce se: * non si riesce ad aprire l'oggetto zip; * l'estrazione del file fallisce; * non si riesce a chiudere l'oggetto zip; </p>
<p>References <a class="el" href="classQuaZip.html#a7a4323b73e12f3b4470109f200728f9f">QuaZip::close()</a>, <a class="el" href="classQuaZip.html#a28b91a6282ddd9382c96a069572c6fb4">QuaZip::getZipError()</a>, <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a803a371910c2dc830d111e9ce5b58897">QuaZip::mdUnzip</a>, and <a class="el" href="classQuaZip.html#abfa4e6018b2964a3d10a4c54e5ab3962">QuaZip::open()</a>.</p>
</div>
</div>
<a class="anchor" id="a309e9ee366719a4d8aa28f837fab73ae"></a><!-- doxytag: member="JlCompress::extractFiles" ref="a309e9ee366719a4d8aa28f837fab73ae" args="(QString fileCompressed, QStringList files, QString dir=QString())" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QStringList JlCompress::extractFiles </td>
<td>(</td>
<td class="paramtype">QString&#160;</td>
<td class="paramname"><em>fileCompressed</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">QStringList&#160;</td>
<td class="paramname"><em>files</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">QString&#160;</td>
<td class="paramname"><em>dir</em> = <code>QString()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Extract a list of files. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">fileCompressed</td><td>The name of the archive. </td></tr>
<tr><td class="paramname">files</td><td>The file list to extract. </td></tr>
<tr><td class="paramname">dir</td><td>The directory to put the files to, the current directory if left empty. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The list of the full paths of the files extracted, empty on failure.</dd></dl>
<p>OK Estrae i file specificati in files, contenuti nel file fileCompressed, nella cartella dir. La struttura a cartelle del file compresso viene rispettata. Se dir = "" allora il file viene estratto nella cartella corrente. Se la funzione fallisce cancella i file che si e tentato di estrarre. Restituisce i nomi assoluti dei file estratti.</p>
<p>La funzione fallisce se: * non si riesce ad aprire l'oggetto zip; * l'estrazione di un file fallisce; * non si riesce a chiudere l'oggetto zip; </p>
<p>References <a class="el" href="classQuaZip.html#a7a4323b73e12f3b4470109f200728f9f">QuaZip::close()</a>, <a class="el" href="classQuaZip.html#a28b91a6282ddd9382c96a069572c6fb4">QuaZip::getZipError()</a>, <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a803a371910c2dc830d111e9ce5b58897">QuaZip::mdUnzip</a>, and <a class="el" href="classQuaZip.html#abfa4e6018b2964a3d10a4c54e5ab3962">QuaZip::open()</a>.</p>
</div>
</div>
<a class="anchor" id="a365a153baa4c11812d93cbca60b6a293"></a><!-- doxytag: member="JlCompress::extractDir" ref="a365a153baa4c11812d93cbca60b6a293" args="(QString fileCompressed, QString dir=QString())" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QStringList JlCompress::extractDir </td>
<td>(</td>
<td class="paramtype">QString&#160;</td>
<td class="paramname"><em>fileCompressed</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">QString&#160;</td>
<td class="paramname"><em>dir</em> = <code>QString()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Extract a whole archive. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">fileCompressed</td><td>The name of the archive. </td></tr>
<tr><td class="paramname">dir</td><td>The directory to extract to, the current directory if left empty. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The list of the full paths of the files extracted, empty on failure.</dd></dl>
<p>OK Estrae il file fileCompressed nella cartella dir. Se dir = "" allora il file viene estratto nella cartella corrente. Se la funzione fallisce cancella i file che si e tentato di estrarre. Restituisce i nomi assoluti dei file estratti.</p>
<p>La funzione fallisce se: * non si riesce ad aprire l'oggetto zip; * la compressione di un file fallisce; * non si riesce a chiudere l'oggetto zip; </p>
<p>References <a class="el" href="classQuaZip.html#a7a4323b73e12f3b4470109f200728f9f">QuaZip::close()</a>, <a class="el" href="classQuaZip.html#a9783f8b4f39cd55e71e975aea78fd54a">QuaZip::getCurrentFileName()</a>, <a class="el" href="classQuaZip.html#a28b91a6282ddd9382c96a069572c6fb4">QuaZip::getZipError()</a>, <a class="el" href="classQuaZip.html#a745488f9177bcec3cdb858587584e033">QuaZip::goToFirstFile()</a>, <a class="el" href="classQuaZip.html#aee6779b6cd338420c2e8c5655fa8ba97">QuaZip::goToNextFile()</a>, <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a803a371910c2dc830d111e9ce5b58897">QuaZip::mdUnzip</a>, and <a class="el" href="classQuaZip.html#abfa4e6018b2964a3d10a4c54e5ab3962">QuaZip::open()</a>.</p>
</div>
</div>
<a class="anchor" id="ab42422be913f817d7e04c1b1cd5d0156"></a><!-- doxytag: member="JlCompress::getFileList" ref="ab42422be913f817d7e04c1b1cd5d0156" args="(QString fileCompressed)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QStringList JlCompress::getFileList </td>
<td>(</td>
<td class="paramtype">QString&#160;</td>
<td class="paramname"><em>fileCompressed</em></td><td>)</td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the file list. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The list of the files in the archive, or, more precisely, the list of the entries, including both files and directories if they are present separately.</dd></dl>
<p>OK Restituisce la lista dei file resenti nel file compresso fileCompressed. Se la funzione fallisce, restituisce un elenco vuoto.</p>
<p>La funzione fallisce se: * non si riesce ad aprire l'oggetto zip; * la richiesta di informazioni di un file fallisce; * non si riesce a chiudere l'oggetto zip; </p>
<p>References <a class="el" href="classQuaZip.html#a7a4323b73e12f3b4470109f200728f9f">QuaZip::close()</a>, <a class="el" href="classQuaZip.html#a9c91a53ed4c2038e153c64bdc097ebe8">QuaZip::getCurrentFileInfo()</a>, <a class="el" href="classQuaZip.html#a28b91a6282ddd9382c96a069572c6fb4">QuaZip::getZipError()</a>, <a class="el" href="classQuaZip.html#a745488f9177bcec3cdb858587584e033">QuaZip::goToFirstFile()</a>, <a class="el" href="classQuaZip.html#aee6779b6cd338420c2e8c5655fa8ba97">QuaZip::goToNextFile()</a>, <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a803a371910c2dc830d111e9ce5b58897">QuaZip::mdUnzip</a>, <a class="el" href="structQuaZipFileInfo.html#a16ac323965deccf0232bfae69d933a84">QuaZipFileInfo::name</a>, and <a class="el" href="classQuaZip.html#abfa4e6018b2964a3d10a4c54e5ab3962">QuaZip::open()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>quazip/<a class="el" href="JlCompress_8h_source.html">JlCompress.h</a></li>
<li>quazip/JlCompress.cpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,56 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">QuaAdler32 Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classQuaAdler32.html">QuaAdler32</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classQuaAdler32.html#a350e84fd000ebfa3c33503336a7b21bb">calculate</a>(const QByteArray &amp;data)</td><td><a class="el" href="classQuaAdler32.html">QuaAdler32</a></td><td><code> [virtual]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><b>QuaAdler32</b>() (defined in <a class="el" href="classQuaAdler32.html">QuaAdler32</a>)</td><td><a class="el" href="classQuaAdler32.html">QuaAdler32</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaAdler32.html#a2fe6ac9eb289bafda6a9fd20e6472ab5">reset</a>()</td><td><a class="el" href="classQuaAdler32.html">QuaAdler32</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaAdler32.html#aba24f7b16aa0cdc26f81a9ad687fc653">update</a>(const QByteArray &amp;buf)</td><td><a class="el" href="classQuaAdler32.html">QuaAdler32</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaAdler32.html#a2022e1db95c23cef220b335e44d74fb1">value</a>()</td><td><a class="el" href="classQuaAdler32.html">QuaAdler32</a></td><td><code> [virtual]</code></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,161 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: QuaAdler32 Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">QuaAdler32 Class Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="QuaAdler32" --><!-- doxytag: inherits="QuaChecksum32" -->
<p>Adler32 checksum.
<a href="classQuaAdler32.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="quaadler32_8h_source.html">quazip/quaadler32.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for QuaAdler32:</div>
<div class="dyncontent">
<div class="center"><img src="classQuaAdler32__inherit__graph.png" border="0" usemap="#QuaAdler32_inherit__map" alt="Inheritance graph"/></div>
<map name="QuaAdler32_inherit__map" id="QuaAdler32_inherit__map">
<area shape="rect" id="node2" href="classQuaChecksum32.html" title="Checksum interface." alt="" coords="5,5,128,32"/> </map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for QuaAdler32:</div>
<div class="dyncontent">
<div class="center"><img src="classQuaAdler32__coll__graph.png" border="0" usemap="#QuaAdler32_coll__map" alt="Collaboration graph"/></div>
<map name="QuaAdler32_coll__map" id="QuaAdler32_coll__map">
<area shape="rect" id="node2" href="classQuaChecksum32.html" title="Checksum interface." alt="" coords="5,5,128,32"/> </map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<p><a href="classQuaAdler32-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">quint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaAdler32.html#a350e84fd000ebfa3c33503336a7b21bb">calculate</a> (const QByteArray &amp;data)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates the checksum for data. <a href="#a350e84fd000ebfa3c33503336a7b21bb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2fe6ac9eb289bafda6a9fd20e6472ab5"></a><!-- doxytag: member="QuaAdler32::reset" ref="a2fe6ac9eb289bafda6a9fd20e6472ab5" args="()" -->
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaAdler32.html#a2fe6ac9eb289bafda6a9fd20e6472ab5">reset</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the calculation on a checksun for a stream. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaAdler32.html#aba24f7b16aa0cdc26f81a9ad687fc653">update</a> (const QByteArray &amp;buf)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates the calculated checksum for the stream. <a href="#aba24f7b16aa0cdc26f81a9ad687fc653"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">quint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaAdler32.html#a2022e1db95c23cef220b335e44d74fb1">value</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Value of the checksum calculated for the stream passed throw <a class="el" href="classQuaAdler32.html#aba24f7b16aa0cdc26f81a9ad687fc653" title="Updates the calculated checksum for the stream.">update()</a>. <a href="#a2022e1db95c23cef220b335e44d74fb1"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Adler32 checksum. </p>
<p>This class wrappers the adler32 function with the <a class="el" href="classQuaChecksum32.html" title="Checksum interface.">QuaChecksum32</a> interface. See <a class="el" href="classQuaChecksum32.html" title="Checksum interface.">QuaChecksum32</a> for more info. </p>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a350e84fd000ebfa3c33503336a7b21bb"></a><!-- doxytag: member="QuaAdler32::calculate" ref="a350e84fd000ebfa3c33503336a7b21bb" args="(const QByteArray &amp;data)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">quint32 QuaAdler32::calculate </td>
<td>(</td>
<td class="paramtype">const QByteArray &amp;&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Calculates the checksum for data. </p>
<p><em>data</em> source data </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>data checksum</dd></dl>
<p>This function has no efect on the value returned by <a class="el" href="classQuaAdler32.html#a2022e1db95c23cef220b335e44d74fb1" title="Value of the checksum calculated for the stream passed throw update().">value()</a>. </p>
<p>Implements <a class="el" href="classQuaChecksum32.html#a14d800fcfd55b2ae11ef07d3924fe0b1">QuaChecksum32</a>.</p>
</div>
</div>
<a class="anchor" id="aba24f7b16aa0cdc26f81a9ad687fc653"></a><!-- doxytag: member="QuaAdler32::update" ref="aba24f7b16aa0cdc26f81a9ad687fc653" args="(const QByteArray &amp;buf)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void QuaAdler32::update </td>
<td>(</td>
<td class="paramtype">const QByteArray &amp;&#160;</td>
<td class="paramname"><em>buf</em></td><td>)</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Updates the calculated checksum for the stream. </p>
<p><em>buf</em> next portion of data from the stream </p>
<p>Implements <a class="el" href="classQuaChecksum32.html#a63a6ed3171f9243214d307da67557f7e">QuaChecksum32</a>.</p>
</div>
</div>
<a class="anchor" id="a2022e1db95c23cef220b335e44d74fb1"></a><!-- doxytag: member="QuaAdler32::value" ref="a2022e1db95c23cef220b335e44d74fb1" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">quint32 QuaAdler32::value </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Value of the checksum calculated for the stream passed throw <a class="el" href="classQuaAdler32.html#aba24f7b16aa0cdc26f81a9ad687fc653" title="Updates the calculated checksum for the stream.">update()</a>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>checksum </dd></dl>
<p>Implements <a class="el" href="classQuaChecksum32.html#afd836e7534194fce08356be6a8336da7">QuaChecksum32</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>quazip/<a class="el" href="quaadler32_8h_source.html">quaadler32.h</a></li>
<li>quazip/quaadler32.cpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,3 @@
<map id="G" name="G">
<area shape="rect" id="node2" href="$classQuaChecksum32.html" title="Checksum interface." alt="" coords="5,5,128,32"/>
</map>

View File

@ -0,0 +1 @@
f6aef7d7bad2a6a2c0f29520e9cdb67f

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1,3 @@
<map id="G" name="G">
<area shape="rect" id="node2" href="$classQuaChecksum32.html" title="Checksum interface." alt="" coords="5,5,128,32"/>
</map>

View File

@ -0,0 +1 @@
f6aef7d7bad2a6a2c0f29520e9cdb67f

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1,55 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">QuaChecksum32 Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classQuaChecksum32.html">QuaChecksum32</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classQuaChecksum32.html#a14d800fcfd55b2ae11ef07d3924fe0b1">calculate</a>(const QByteArray &amp;data)=0</td><td><a class="el" href="classQuaChecksum32.html">QuaChecksum32</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaChecksum32.html#ad3f5db3c76b00069db9bda333cb49d57">reset</a>()=0</td><td><a class="el" href="classQuaChecksum32.html">QuaChecksum32</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaChecksum32.html#a63a6ed3171f9243214d307da67557f7e">update</a>(const QByteArray &amp;buf)=0</td><td><a class="el" href="classQuaChecksum32.html">QuaChecksum32</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaChecksum32.html#afd836e7534194fce08356be6a8336da7">value</a>()=0</td><td><a class="el" href="classQuaChecksum32.html">QuaChecksum32</a></td><td><code> [pure virtual]</code></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,164 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: QuaChecksum32 Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">QuaChecksum32 Class Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="QuaChecksum32" -->
<p>Checksum interface.
<a href="classQuaChecksum32.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="quachecksum32_8h_source.html">quazip/quachecksum32.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for QuaChecksum32:</div>
<div class="dyncontent">
<div class="center"><img src="classQuaChecksum32__inherit__graph.png" border="0" usemap="#QuaChecksum32_inherit__map" alt="Inheritance graph"/></div>
<map name="QuaChecksum32_inherit__map" id="QuaChecksum32_inherit__map">
<area shape="rect" id="node3" href="classQuaAdler32.html" title="Adler32 checksum." alt="" coords="5,80,96,107"/> <area shape="rect" id="node5" href="classQuaCrc32.html" title="CRC32 checksum." alt="" coords="120,80,200,107"/> </map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<p><a href="classQuaChecksum32-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual quint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaChecksum32.html#a14d800fcfd55b2ae11ef07d3924fe0b1">calculate</a> (const QByteArray &amp;data)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates the checksum for data. <a href="#a14d800fcfd55b2ae11ef07d3924fe0b1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad3f5db3c76b00069db9bda333cb49d57"></a><!-- doxytag: member="QuaChecksum32::reset" ref="ad3f5db3c76b00069db9bda333cb49d57" args="()=0" -->
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaChecksum32.html#ad3f5db3c76b00069db9bda333cb49d57">reset</a> ()=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the calculation on a checksun for a stream. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaChecksum32.html#a63a6ed3171f9243214d307da67557f7e">update</a> (const QByteArray &amp;buf)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates the calculated checksum for the stream. <a href="#a63a6ed3171f9243214d307da67557f7e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual quint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaChecksum32.html#afd836e7534194fce08356be6a8336da7">value</a> ()=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Value of the checksum calculated for the stream passed throw <a class="el" href="classQuaChecksum32.html#a63a6ed3171f9243214d307da67557f7e" title="Updates the calculated checksum for the stream.">update()</a>. <a href="#afd836e7534194fce08356be6a8336da7"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Checksum interface. </p>
<p>This is an interface for 32 bit checksums. Classes implementing this interface can calcunate a certin checksum in a single step: </p>
<div class="fragment"><pre class="fragment"> QChecksum32 *crc32 = <span class="keyword">new</span> <a class="code" href="classQuaCrc32.html" title="CRC32 checksum.">QuaCrc32</a>();
rasoult = crc32-&gt;calculate(data);
</pre></div><p> or by streaming the data: </p>
<div class="fragment"><pre class="fragment"> QChecksum32 *crc32 = <span class="keyword">new</span> <a class="code" href="classQuaCrc32.html" title="CRC32 checksum.">QuaCrc32</a>();
<span class="keywordflow">while</span>(!fileA.atEnd())
crc32-&gt;update(fileA.read(bufSize));
resoultA = crc32-&gt;value();
crc32-&gt;reset();
<span class="keywordflow">while</span>(!fileB.atEnd())
crc32-&gt;update(fileB.read(bufSize));
resoultB = crc32-&gt;value();
</pre></div> </div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a14d800fcfd55b2ae11ef07d3924fe0b1"></a><!-- doxytag: member="QuaChecksum32::calculate" ref="a14d800fcfd55b2ae11ef07d3924fe0b1" args="(const QByteArray &amp;data)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual quint32 QuaChecksum32::calculate </td>
<td>(</td>
<td class="paramtype">const QByteArray &amp;&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Calculates the checksum for data. </p>
<p><em>data</em> source data </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>data checksum</dd></dl>
<p>This function has no efect on the value returned by <a class="el" href="classQuaChecksum32.html#afd836e7534194fce08356be6a8336da7" title="Value of the checksum calculated for the stream passed throw update().">value()</a>. </p>
<p>Implemented in <a class="el" href="classQuaAdler32.html#a350e84fd000ebfa3c33503336a7b21bb">QuaAdler32</a>, and <a class="el" href="classQuaCrc32.html#aaf6fdf6e36e55c97bf9eab6ec65ecb9e">QuaCrc32</a>.</p>
</div>
</div>
<a class="anchor" id="a63a6ed3171f9243214d307da67557f7e"></a><!-- doxytag: member="QuaChecksum32::update" ref="a63a6ed3171f9243214d307da67557f7e" args="(const QByteArray &amp;buf)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void QuaChecksum32::update </td>
<td>(</td>
<td class="paramtype">const QByteArray &amp;&#160;</td>
<td class="paramname"><em>buf</em></td><td>)</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Updates the calculated checksum for the stream. </p>
<p><em>buf</em> next portion of data from the stream </p>
<p>Implemented in <a class="el" href="classQuaAdler32.html#aba24f7b16aa0cdc26f81a9ad687fc653">QuaAdler32</a>, and <a class="el" href="classQuaCrc32.html#a5015d80e04afe6e6d094155b7e99888e">QuaCrc32</a>.</p>
</div>
</div>
<a class="anchor" id="afd836e7534194fce08356be6a8336da7"></a><!-- doxytag: member="QuaChecksum32::value" ref="afd836e7534194fce08356be6a8336da7" args="()=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual quint32 QuaChecksum32::value </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Value of the checksum calculated for the stream passed throw <a class="el" href="classQuaChecksum32.html#a63a6ed3171f9243214d307da67557f7e" title="Updates the calculated checksum for the stream.">update()</a>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>checksum </dd></dl>
<p>Implemented in <a class="el" href="classQuaAdler32.html#a2022e1db95c23cef220b335e44d74fb1">QuaAdler32</a>, and <a class="el" href="classQuaCrc32.html#a957ce46a53862f75c89d6a3ac4f73389">QuaCrc32</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>quazip/<a class="el" href="quachecksum32_8h_source.html">quachecksum32.h</a></li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,4 @@
<map id="G" name="G">
<area shape="rect" id="node3" href="$classQuaAdler32.html" title="Adler32 checksum." alt="" coords="5,80,96,107"/>
<area shape="rect" id="node5" href="$classQuaCrc32.html" title="CRC32 checksum." alt="" coords="120,80,200,107"/>
</map>

View File

@ -0,0 +1 @@
84ec9abb25cc3d010952b190062cd40b

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -0,0 +1,56 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">QuaCrc32 Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classQuaCrc32.html">QuaCrc32</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classQuaCrc32.html#aaf6fdf6e36e55c97bf9eab6ec65ecb9e">calculate</a>(const QByteArray &amp;data)</td><td><a class="el" href="classQuaCrc32.html">QuaCrc32</a></td><td><code> [virtual]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><b>QuaCrc32</b>() (defined in <a class="el" href="classQuaCrc32.html">QuaCrc32</a>)</td><td><a class="el" href="classQuaCrc32.html">QuaCrc32</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaCrc32.html#a3fe7ce6cb73512c963ffaabfbbc66363">reset</a>()</td><td><a class="el" href="classQuaCrc32.html">QuaCrc32</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaCrc32.html#a5015d80e04afe6e6d094155b7e99888e">update</a>(const QByteArray &amp;buf)</td><td><a class="el" href="classQuaCrc32.html">QuaCrc32</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaCrc32.html#a957ce46a53862f75c89d6a3ac4f73389">value</a>()</td><td><a class="el" href="classQuaCrc32.html">QuaCrc32</a></td><td><code> [virtual]</code></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,161 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: QuaCrc32 Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">QuaCrc32 Class Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="QuaCrc32" --><!-- doxytag: inherits="QuaChecksum32" -->
<p>CRC32 checksum.
<a href="classQuaCrc32.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="quacrc32_8h_source.html">quazip/quacrc32.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for QuaCrc32:</div>
<div class="dyncontent">
<div class="center"><img src="classQuaCrc32__inherit__graph.png" border="0" usemap="#QuaCrc32_inherit__map" alt="Inheritance graph"/></div>
<map name="QuaCrc32_inherit__map" id="QuaCrc32_inherit__map">
<area shape="rect" id="node2" href="classQuaChecksum32.html" title="Checksum interface." alt="" coords="5,5,128,32"/> </map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for QuaCrc32:</div>
<div class="dyncontent">
<div class="center"><img src="classQuaCrc32__coll__graph.png" border="0" usemap="#QuaCrc32_coll__map" alt="Collaboration graph"/></div>
<map name="QuaCrc32_coll__map" id="QuaCrc32_coll__map">
<area shape="rect" id="node2" href="classQuaChecksum32.html" title="Checksum interface." alt="" coords="5,5,128,32"/> </map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<p><a href="classQuaCrc32-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">quint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaCrc32.html#aaf6fdf6e36e55c97bf9eab6ec65ecb9e">calculate</a> (const QByteArray &amp;data)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates the checksum for data. <a href="#aaf6fdf6e36e55c97bf9eab6ec65ecb9e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3fe7ce6cb73512c963ffaabfbbc66363"></a><!-- doxytag: member="QuaCrc32::reset" ref="a3fe7ce6cb73512c963ffaabfbbc66363" args="()" -->
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaCrc32.html#a3fe7ce6cb73512c963ffaabfbbc66363">reset</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the calculation on a checksun for a stream. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaCrc32.html#a5015d80e04afe6e6d094155b7e99888e">update</a> (const QByteArray &amp;buf)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates the calculated checksum for the stream. <a href="#a5015d80e04afe6e6d094155b7e99888e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">quint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaCrc32.html#a957ce46a53862f75c89d6a3ac4f73389">value</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Value of the checksum calculated for the stream passed throw <a class="el" href="classQuaCrc32.html#a5015d80e04afe6e6d094155b7e99888e" title="Updates the calculated checksum for the stream.">update()</a>. <a href="#a957ce46a53862f75c89d6a3ac4f73389"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>CRC32 checksum. </p>
<p>This class wrappers the crc32 function with the <a class="el" href="classQuaChecksum32.html" title="Checksum interface.">QuaChecksum32</a> interface. See <a class="el" href="classQuaChecksum32.html" title="Checksum interface.">QuaChecksum32</a> for more info. </p>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="aaf6fdf6e36e55c97bf9eab6ec65ecb9e"></a><!-- doxytag: member="QuaCrc32::calculate" ref="aaf6fdf6e36e55c97bf9eab6ec65ecb9e" args="(const QByteArray &amp;data)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">quint32 QuaCrc32::calculate </td>
<td>(</td>
<td class="paramtype">const QByteArray &amp;&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Calculates the checksum for data. </p>
<p><em>data</em> source data </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>data checksum</dd></dl>
<p>This function has no efect on the value returned by <a class="el" href="classQuaCrc32.html#a957ce46a53862f75c89d6a3ac4f73389" title="Value of the checksum calculated for the stream passed throw update().">value()</a>. </p>
<p>Implements <a class="el" href="classQuaChecksum32.html#a14d800fcfd55b2ae11ef07d3924fe0b1">QuaChecksum32</a>.</p>
</div>
</div>
<a class="anchor" id="a5015d80e04afe6e6d094155b7e99888e"></a><!-- doxytag: member="QuaCrc32::update" ref="a5015d80e04afe6e6d094155b7e99888e" args="(const QByteArray &amp;buf)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void QuaCrc32::update </td>
<td>(</td>
<td class="paramtype">const QByteArray &amp;&#160;</td>
<td class="paramname"><em>buf</em></td><td>)</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Updates the calculated checksum for the stream. </p>
<p><em>buf</em> next portion of data from the stream </p>
<p>Implements <a class="el" href="classQuaChecksum32.html#a63a6ed3171f9243214d307da67557f7e">QuaChecksum32</a>.</p>
</div>
</div>
<a class="anchor" id="a957ce46a53862f75c89d6a3ac4f73389"></a><!-- doxytag: member="QuaCrc32::value" ref="a957ce46a53862f75c89d6a3ac4f73389" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">quint32 QuaCrc32::value </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Value of the checksum calculated for the stream passed throw <a class="el" href="classQuaCrc32.html#a5015d80e04afe6e6d094155b7e99888e" title="Updates the calculated checksum for the stream.">update()</a>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>checksum </dd></dl>
<p>Implements <a class="el" href="classQuaChecksum32.html#afd836e7534194fce08356be6a8336da7">QuaChecksum32</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>quazip/<a class="el" href="quacrc32_8h_source.html">quacrc32.h</a></li>
<li>quazip/quacrc32.cpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,3 @@
<map id="G" name="G">
<area shape="rect" id="node2" href="$classQuaChecksum32.html" title="Checksum interface." alt="" coords="5,5,128,32"/>
</map>

View File

@ -0,0 +1 @@
c5893d01f9e8b7b19610a8cce32f67e4

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,3 @@
<map id="G" name="G">
<area shape="rect" id="node2" href="$classQuaChecksum32.html" title="Checksum interface." alt="" coords="5,5,128,32"/>
</map>

View File

@ -0,0 +1 @@
c5893d01f9e8b7b19610a8cce32f67e4

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,64 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">QuaGzipFile Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classQuaGzipFile.html">QuaGzipFile</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classQuaGzipFile.html#a273205350b1235a242a1eb5cbf586434">close</a>()</td><td><a class="el" href="classQuaGzipFile.html">QuaGzipFile</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaGzipFile.html#ab745f345b727c81abbc3eb5af4dca844">flush</a>()</td><td><a class="el" href="classQuaGzipFile.html">QuaGzipFile</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaGzipFile.html#a9a0954a1db1fcf2aeba0530239bce71c">getFileName</a>() const </td><td><a class="el" href="classQuaGzipFile.html">QuaGzipFile</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaGzipFile.html#ae97f4e15d86c965c156df33d00318176">isSequential</a>() const </td><td><a class="el" href="classQuaGzipFile.html">QuaGzipFile</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaGzipFile.html#a1d560babdfff3a3441d704099a5bc1e4">open</a>(QIODevice::OpenMode mode)</td><td><a class="el" href="classQuaGzipFile.html">QuaGzipFile</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaGzipFile.html#adf5a954bb9bfda2d33cd336a213e2549">open</a>(int fd, QIODevice::OpenMode mode)</td><td><a class="el" href="classQuaGzipFile.html">QuaGzipFile</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaGzipFile.html#a709608207b41ca81d5beed2b34982809">QuaGzipFile</a>()</td><td><a class="el" href="classQuaGzipFile.html">QuaGzipFile</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaGzipFile.html#a13996f5db660c4a29645f8d208b9ca6b">QuaGzipFile</a>(QObject *parent)</td><td><a class="el" href="classQuaGzipFile.html">QuaGzipFile</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaGzipFile.html#ac7f7703bda9c6169c001aa15641bb2ea">QuaGzipFile</a>(const QString &amp;fileName, QObject *parent=NULL)</td><td><a class="el" href="classQuaGzipFile.html">QuaGzipFile</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaGzipFile.html#a9eab41b46367e63e0c269c42ca883d82">readData</a>(char *data, qint64 maxSize)</td><td><a class="el" href="classQuaGzipFile.html">QuaGzipFile</a></td><td><code> [protected, virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaGzipFile.html#a253fbaf410a3d4ae0a719505c5525149">setFileName</a>(const QString &amp;fileName)</td><td><a class="el" href="classQuaGzipFile.html">QuaGzipFile</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaGzipFile.html#a6dd09d41d8a51c96b0f2134eff37f676">writeData</a>(const char *data, qint64 maxSize)</td><td><a class="el" href="classQuaGzipFile.html">QuaGzipFile</a></td><td><code> [protected, virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaGzipFile.html#a1200bc76f36bb2e1991e1e0467befbf2">~QuaGzipFile</a>()</td><td><a class="el" href="classQuaGzipFile.html">QuaGzipFile</a></td><td><code> [virtual]</code></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,292 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: QuaGzipFile Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> </div>
<div class="headertitle">
<div class="title">QuaGzipFile Class Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="QuaGzipFile" -->
<p>GZIP file.
<a href="classQuaGzipFile.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="quagzipfile_8h_source.html">quagzipfile.h</a>&gt;</code></p>
<p><a href="classQuaGzipFile-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaGzipFile.html#a709608207b41ca81d5beed2b34982809">QuaGzipFile</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty constructor. <a href="#a709608207b41ca81d5beed2b34982809"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaGzipFile.html#a13996f5db660c4a29645f8d208b9ca6b">QuaGzipFile</a> (QObject *parent)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty constructor with a parent. <a href="#a13996f5db660c4a29645f8d208b9ca6b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaGzipFile.html#ac7f7703bda9c6169c001aa15641bb2ea">QuaGzipFile</a> (const QString &amp;fileName, QObject *parent=NULL)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="#ac7f7703bda9c6169c001aa15641bb2ea"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1200bc76f36bb2e1991e1e0467befbf2"></a><!-- doxytag: member="QuaGzipFile::~QuaGzipFile" ref="a1200bc76f36bb2e1991e1e0467befbf2" args="()" -->
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaGzipFile.html#a1200bc76f36bb2e1991e1e0467befbf2">~QuaGzipFile</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a253fbaf410a3d4ae0a719505c5525149"></a><!-- doxytag: member="QuaGzipFile::setFileName" ref="a253fbaf410a3d4ae0a719505c5525149" args="(const QString &amp;fileName)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaGzipFile.html#a253fbaf410a3d4ae0a719505c5525149">setFileName</a> (const QString &amp;fileName)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the name of the GZIP file to be opened. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9a0954a1db1fcf2aeba0530239bce71c"></a><!-- doxytag: member="QuaGzipFile::getFileName" ref="a9a0954a1db1fcf2aeba0530239bce71c" args="() const " -->
QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaGzipFile.html#a9a0954a1db1fcf2aeba0530239bce71c">getFileName</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of the GZIP file. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaGzipFile.html#ae97f4e15d86c965c156df33d00318176">isSequential</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true. <a href="#ae97f4e15d86c965c156df33d00318176"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaGzipFile.html#a1d560babdfff3a3441d704099a5bc1e4">open</a> (QIODevice::OpenMode mode)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Opens the file. <a href="#a1d560babdfff3a3441d704099a5bc1e4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaGzipFile.html#adf5a954bb9bfda2d33cd336a213e2549">open</a> (int fd, QIODevice::OpenMode mode)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Opens the file. <a href="#adf5a954bb9bfda2d33cd336a213e2549"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaGzipFile.html#ab745f345b727c81abbc3eb5af4dca844">flush</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Flushes data to file. <a href="#ab745f345b727c81abbc3eb5af4dca844"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a273205350b1235a242a1eb5cbf586434"></a><!-- doxytag: member="QuaGzipFile::close" ref="a273205350b1235a242a1eb5cbf586434" args="()" -->
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaGzipFile.html#a273205350b1235a242a1eb5cbf586434">close</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes the file. <br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9eab41b46367e63e0c269c42ca883d82"></a><!-- doxytag: member="QuaGzipFile::readData" ref="a9eab41b46367e63e0c269c42ca883d82" args="(char *data, qint64 maxSize)" -->
virtual qint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaGzipFile.html#a9eab41b46367e63e0c269c42ca883d82">readData</a> (char *data, qint64 maxSize)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of QIODevice::readData(). <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6dd09d41d8a51c96b0f2134eff37f676"></a><!-- doxytag: member="QuaGzipFile::writeData" ref="a6dd09d41d8a51c96b0f2134eff37f676" args="(const char *data, qint64 maxSize)" -->
virtual qint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaGzipFile.html#a6dd09d41d8a51c96b0f2134eff37f676">writeData</a> (const char *data, qint64 maxSize)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of QIODevice::writeData(). <br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>GZIP file. </p>
<p>This class is a wrapper around GZIP file access functions in zlib. Unlike <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> classes, it doesn't allow reading from a GZIP file opened as QIODevice, for example, if your GZIP file is in QBuffer. It only provides QIODevice access to a GZIP file contents, but the GZIP file itself must be identified by its name on disk or by descriptor id. </p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a709608207b41ca81d5beed2b34982809"></a><!-- doxytag: member="QuaGzipFile::QuaGzipFile" ref="a709608207b41ca81d5beed2b34982809" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QuaGzipFile::QuaGzipFile </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Empty constructor. </p>
<p>Must call <a class="el" href="classQuaGzipFile.html#a253fbaf410a3d4ae0a719505c5525149" title="Sets the name of the GZIP file to be opened.">setFileName()</a> before trying to open. </p>
</div>
</div>
<a class="anchor" id="a13996f5db660c4a29645f8d208b9ca6b"></a><!-- doxytag: member="QuaGzipFile::QuaGzipFile" ref="a13996f5db660c4a29645f8d208b9ca6b" args="(QObject *parent)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QuaGzipFile::QuaGzipFile </td>
<td>(</td>
<td class="paramtype">QObject *&#160;</td>
<td class="paramname"><em>parent</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Empty constructor with a parent. </p>
<p>Must call <a class="el" href="classQuaGzipFile.html#a253fbaf410a3d4ae0a719505c5525149" title="Sets the name of the GZIP file to be opened.">setFileName()</a> before trying to open. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">parent</td><td>The parent object, as per QObject logic. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ac7f7703bda9c6169c001aa15641bb2ea"></a><!-- doxytag: member="QuaGzipFile::QuaGzipFile" ref="ac7f7703bda9c6169c001aa15641bb2ea" args="(const QString &amp;fileName, QObject *parent=NULL)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QuaGzipFile::QuaGzipFile </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>fileName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">QObject *&#160;</td>
<td class="paramname"><em>parent</em> = <code>NULL</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Constructor. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">fileName</td><td>The name of the GZIP file. </td></tr>
<tr><td class="paramname">parent</td><td>The parent object, as per QObject logic. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ae97f4e15d86c965c156df33d00318176"></a><!-- doxytag: member="QuaGzipFile::isSequential" ref="ae97f4e15d86c965c156df33d00318176" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool QuaGzipFile::isSequential </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const<code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns true. </p>
<p>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, <a class="el" href="classQuaGzipFile.html" title="GZIP file.">QuaGzipFile</a> does not support seeking at all. </p>
</div>
</div>
<a class="anchor" id="a1d560babdfff3a3441d704099a5bc1e4"></a><!-- doxytag: member="QuaGzipFile::open" ref="a1d560babdfff3a3441d704099a5bc1e4" args="(QIODevice::OpenMode mode)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool QuaGzipFile::open </td>
<td>(</td>
<td class="paramtype">QIODevice::OpenMode&#160;</td>
<td class="paramname"><em>mode</em></td><td>)</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Opens the file. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">mode</td><td>Can be either QIODevice::Write or QIODevice::Read. ReadWrite and Append aren't supported. </td></tr>
</table>
</dd>
</dl>
<p>Referenced by <a class="el" href="classQuaGzipFile.html#adf5a954bb9bfda2d33cd336a213e2549">open()</a>.</p>
</div>
</div>
<a class="anchor" id="adf5a954bb9bfda2d33cd336a213e2549"></a><!-- doxytag: member="QuaGzipFile::open" ref="adf5a954bb9bfda2d33cd336a213e2549" args="(int fd, QIODevice::OpenMode mode)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool QuaGzipFile::open </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>fd</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">QIODevice::OpenMode&#160;</td>
<td class="paramname"><em>mode</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Opens the file. </p>
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">fd</td><td>The file descriptor to read/write the GZIP file from/to. </td></tr>
<tr><td class="paramname">mode</td><td>Can be either QIODevice::Write or QIODevice::Read. ReadWrite and Append aren't supported. </td></tr>
</table>
</dd>
</dl>
<p>References <a class="el" href="classQuaGzipFile.html#a1d560babdfff3a3441d704099a5bc1e4">open()</a>.</p>
</div>
</div>
<a class="anchor" id="ab745f345b727c81abbc3eb5af4dca844"></a><!-- doxytag: member="QuaGzipFile::flush" ref="ab745f345b727c81abbc3eb5af4dca844" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool QuaGzipFile::flush </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Flushes data to file. </p>
<p>The data is written using Z_SYNC_FLUSH mode. Doesn't make any sense when reading. </p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>quazip/<a class="el" href="quagzipfile_8h_source.html">quagzipfile.h</a></li>
<li>quazip/quagzipfile.cpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,60 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">QuaZIODevice Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classQuaZIODevice.html">QuaZIODevice</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classQuaZIODevice.html#ad27e447544d57f897316ee6f44535895">close</a>()</td><td><a class="el" href="classQuaZIODevice.html">QuaZIODevice</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZIODevice.html#a25f586eb564841b51c395fd17f1cc080">flush</a>()</td><td><a class="el" href="classQuaZIODevice.html">QuaZIODevice</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZIODevice.html#ad63e7f1717c7d91b3c2c5ace908c98b7">getIoDevice</a>() const </td><td><a class="el" href="classQuaZIODevice.html">QuaZIODevice</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZIODevice.html#af2697f58c228741d3715801bf48a9a8b">isSequential</a>() const </td><td><a class="el" href="classQuaZIODevice.html">QuaZIODevice</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZIODevice.html#a175446c18eb20c9aff6faf23f09cc67a">open</a>(QIODevice::OpenMode mode)</td><td><a class="el" href="classQuaZIODevice.html">QuaZIODevice</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZIODevice.html#a8321ed35ee9b57cf9b1104912e236361">QuaZIODevice</a>(QIODevice *io, QObject *parent=NULL)</td><td><a class="el" href="classQuaZIODevice.html">QuaZIODevice</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZIODevice.html#aa12b8bc9c923e543eda9ae22dbd1ecbb">readData</a>(char *data, qint64 maxSize)</td><td><a class="el" href="classQuaZIODevice.html">QuaZIODevice</a></td><td><code> [protected, virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZIODevice.html#aab23b6badbc3548eb71ca86bf6211902">writeData</a>(const char *data, qint64 maxSize)</td><td><a class="el" href="classQuaZIODevice.html">QuaZIODevice</a></td><td><code> [protected, virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZIODevice.html#ab3524cef44c240c21e6b7680ee5f42de">~QuaZIODevice</a>()</td><td><a class="el" href="classQuaZIODevice.html">QuaZIODevice</a></td><td></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,209 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: QuaZIODevice Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> </div>
<div class="headertitle">
<div class="title">QuaZIODevice Class Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="QuaZIODevice" -->
<p>A class to compress/decompress QIODevice.
<a href="classQuaZIODevice.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="quaziodevice_8h_source.html">quaziodevice.h</a>&gt;</code></p>
<p><a href="classQuaZIODevice-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZIODevice.html#a8321ed35ee9b57cf9b1104912e236361">QuaZIODevice</a> (QIODevice *io, QObject *parent=NULL)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="#a8321ed35ee9b57cf9b1104912e236361"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab3524cef44c240c21e6b7680ee5f42de"></a><!-- doxytag: member="QuaZIODevice::~QuaZIODevice" ref="ab3524cef44c240c21e6b7680ee5f42de" args="()" -->
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZIODevice.html#ab3524cef44c240c21e6b7680ee5f42de">~QuaZIODevice</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZIODevice.html#a25f586eb564841b51c395fd17f1cc080">flush</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Flushes data waiting to be written. <a href="#a25f586eb564841b51c395fd17f1cc080"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZIODevice.html#a175446c18eb20c9aff6faf23f09cc67a">open</a> (QIODevice::OpenMode mode)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Opens the device. <a href="#a175446c18eb20c9aff6faf23f09cc67a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZIODevice.html#ad27e447544d57f897316ee6f44535895">close</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes this device, but not the underlying one. <a href="#ad27e447544d57f897316ee6f44535895"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad63e7f1717c7d91b3c2c5ace908c98b7"></a><!-- doxytag: member="QuaZIODevice::getIoDevice" ref="ad63e7f1717c7d91b3c2c5ace908c98b7" args="() const " -->
QIODevice *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZIODevice.html#ad63e7f1717c7d91b3c2c5ace908c98b7">getIoDevice</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the underlying device. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af2697f58c228741d3715801bf48a9a8b"></a><!-- doxytag: member="QuaZIODevice::isSequential" ref="af2697f58c228741d3715801bf48a9a8b" args="() const " -->
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZIODevice.html#af2697f58c228741d3715801bf48a9a8b">isSequential</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true. <br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa12b8bc9c923e543eda9ae22dbd1ecbb"></a><!-- doxytag: member="QuaZIODevice::readData" ref="aa12b8bc9c923e543eda9ae22dbd1ecbb" args="(char *data, qint64 maxSize)" -->
virtual qint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZIODevice.html#aa12b8bc9c923e543eda9ae22dbd1ecbb">readData</a> (char *data, qint64 maxSize)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of QIODevice::readData(). <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aab23b6badbc3548eb71ca86bf6211902"></a><!-- doxytag: member="QuaZIODevice::writeData" ref="aab23b6badbc3548eb71ca86bf6211902" args="(const char *data, qint64 maxSize)" -->
virtual qint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZIODevice.html#aab23b6badbc3548eb71ca86bf6211902">writeData</a> (const char *data, qint64 maxSize)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of QIODevice::writeData(). <br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>A class to compress/decompress QIODevice. </p>
<p>This class can be used to compress any data written to QIODevice or decompress it back. Compressing data sent over a QTcpSocket is a good example. </p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a8321ed35ee9b57cf9b1104912e236361"></a><!-- doxytag: member="QuaZIODevice::QuaZIODevice" ref="a8321ed35ee9b57cf9b1104912e236361" args="(QIODevice *io, QObject *parent=NULL)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QuaZIODevice::QuaZIODevice </td>
<td>(</td>
<td class="paramtype">QIODevice *&#160;</td>
<td class="paramname"><em>io</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">QObject *&#160;</td>
<td class="paramname"><em>parent</em> = <code>NULL</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Constructor. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">io</td><td>The QIODevice to read/write. </td></tr>
<tr><td class="paramname">parent</td><td>The parent object, as per QObject logic. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a25f586eb564841b51c395fd17f1cc080"></a><!-- doxytag: member="QuaZIODevice::flush" ref="a25f586eb564841b51c395fd17f1cc080" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool QuaZIODevice::flush </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Flushes data waiting to be written. </p>
<p>Unfortunately, as QIODevice doesn't support <a class="el" href="classQuaZIODevice.html#a25f586eb564841b51c395fd17f1cc080" title="Flushes data waiting to be written.">flush()</a> 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 QIODevice, you need to call its <a class="el" href="classQuaZIODevice.html#a25f586eb564841b51c395fd17f1cc080" title="Flushes data waiting to be written.">flush()</a> method as well, providing it supports it (like QTcpSocket does). Example: </p>
<div class="fragment"><pre class="fragment"> <a class="code" href="classQuaZIODevice.html" title="A class to compress/decompress QIODevice.">QuaZIODevice</a> dev(&amp;sock);
dev.open(QIODevice::Write);
dev.write(yourDataGoesHere);
dev.flush();
sock-&gt;flush(); <span class="comment">// this actually sends data to network</span>
</pre></div><p>This may change in the future versions of QuaZIP by implementing an ugly hack: trying to cast the QIODevice using qobject_cast to known <a class="el" href="classQuaZIODevice.html#a25f586eb564841b51c395fd17f1cc080" title="Flushes data waiting to be written.">flush()</a>-supporting subclasses, and calling flush if the resulting pointer is not zero. </p>
<p>Referenced by <a class="el" href="classQuaZIODevice.html#ad27e447544d57f897316ee6f44535895">close()</a>.</p>
</div>
</div>
<a class="anchor" id="a175446c18eb20c9aff6faf23f09cc67a"></a><!-- doxytag: member="QuaZIODevice::open" ref="a175446c18eb20c9aff6faf23f09cc67a" args="(QIODevice::OpenMode mode)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool QuaZIODevice::open </td>
<td>(</td>
<td class="paramtype">QIODevice::OpenMode&#160;</td>
<td class="paramname"><em>mode</em></td><td>)</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Opens the device. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">mode</td><td>Neither QIODevice::ReadWrite nor QIODevice::Append are not supported. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ad27e447544d57f897316ee6f44535895"></a><!-- doxytag: member="QuaZIODevice::close" ref="ad27e447544d57f897316ee6f44535895" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void QuaZIODevice::close </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Closes this device, but not the underlying one. </p>
<p>The underlying QIODevice is not closed in case you want to write something else to it. </p>
<p>References <a class="el" href="classQuaZIODevice.html#a25f586eb564841b51c395fd17f1cc080">flush()</a>.</p>
<p>Referenced by <a class="el" href="classQuaZIODevice.html#ab3524cef44c240c21e6b7680ee5f42de">~QuaZIODevice()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>quazip/<a class="el" href="quaziodevice_8h_source.html">quaziodevice.h</a></li>
<li>quazip/quaziodevice.cpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,99 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">QuaZip Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classQuaZip.html">QuaZip</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbe">CaseSensitivity</a> enum name</td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a7a4323b73e12f3b4470109f200728f9f">close</a>()</td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#adce46b942c341dbb5c851eadead65459">Constants</a> enum name</td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a1d3fbd445a8e9d3449ded7371931c6b3">convertCaseSensitivity</a>(CaseSensitivity cs)</td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbeac3cca8c0b976cf6397a28a5c84e75253">csDefault</a> enum value</td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbea3e492bcc3f64f41a74906cecc45fb366">csInsensitive</a> enum value</td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbead8d86b0c34203336cad09348cfa5356e">csSensitive</a> enum value</td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#ae55cfbf2296132df808c557b62433051">getComment</a>() const </td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a008260161781d8b5d2a0a28493fddaf4">getCommentCodec</a>() const </td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a9c91a53ed4c2038e153c64bdc097ebe8">getCurrentFileInfo</a>(QuaZipFileInfo *info) const </td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a9783f8b4f39cd55e71e975aea78fd54a">getCurrentFileName</a>() const </td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a2ea4bd1fca948637c35c2d2752bb5a80">getEntriesCount</a>() const </td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a7486af66bede8e131db0cd2e81881387">getFileInfoList</a>() const </td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a27b866aa2c75ea6f9c438cbb6e32b43c">getFileNameCodec</a>() const </td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#abb38d8b4c9c4ae0728b48caae9dd82de">getFileNameList</a>() const </td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#afd3ba12fe68748acbf8b7cc14a5a1c29">getIoDevice</a>() const </td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a129ceff04d28fb00531f7bf7f9329664">getMode</a>() const </td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a3b78a652f296ff4a678a791e8294e642">getUnzFile</a>()</td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a28b91a6282ddd9382c96a069572c6fb4">getZipError</a>() const </td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a425043a4d7cc31e2fe2bba73d954f15c">getZipFile</a>()</td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a4f7deef08ff40aeb1a7a04bcd7f228c2">getZipName</a>() const </td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a745488f9177bcec3cdb858587584e033">goToFirstFile</a>()</td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#aee6779b6cd338420c2e8c5655fa8ba97">goToNextFile</a>()</td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a00b237d926648f45da86db25e7cfb697">hasCurrentFile</a>() const </td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#ae5c665a59447c2d30e63e9c6df48ebb7">isDataDescriptorWritingEnabled</a>() const </td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a5b869a9c0d4f49955b759592fec08888">isOpen</a>() const </td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#adce46b942c341dbb5c851eadead65459ab26ce1a9c9e94f901dc2cf90fa5baa4b">MAX_FILE_NAME_LENGTH</a> enum value</td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a22c745f349f06add449af523254fdaec">mdAdd</a> enum value</td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4ab807f0c65653a16d77b365801fd25582">mdAppend</a> enum value</td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a25ae05b12590540af8c66ae8298b928e">mdCreate</a> enum value</td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4ac87ddb1e901e1ec700c16ee0d4d398ce">mdNotOpen</a> enum value</td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a803a371910c2dc830d111e9ce5b58897">mdUnzip</a> enum value</td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4">Mode</a> enum name</td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#abfa4e6018b2964a3d10a4c54e5ab3962">open</a>(Mode mode, zlib_filefunc_def *ioApi=NULL)</td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a970e0f401c7cfd7a78e78572f758eec4">QuaZip</a>()</td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#aaea7294b02abd22379cc3a9fccb754b7">QuaZip</a>(const QString &amp;zipName)</td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#ae52ebadd5ce64cdb49d7e198904b0b8c">QuaZip</a>(QIODevice *ioDevice)</td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><b>QuaZipPrivate</b> (defined in <a class="el" href="classQuaZip.html">QuaZip</a>)</td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td><code> [friend]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a1b5d936a203859340574d5908ffa2222">setComment</a>(const QString &amp;comment)</td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a1c81fca7215a4374f6f03872ade4885b">setCommentCodec</a>(QTextCodec *commentCodec)</td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a413f3c56b54a9a47258d53802cb606e7">setCommentCodec</a>(const char *commentCodecName)</td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a6c657bfcfccb59d728e0da24c677d899">setCurrentFile</a>(const QString &amp;fileName, CaseSensitivity cs=csDefault)</td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a6c23a12af88f7ea5edd4f9c0a24b9453">setDataDescriptorWritingEnabled</a>(bool enabled)</td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a339010b5566704ba3c9cafbfe848d8fb">setFileNameCodec</a>(QTextCodec *fileNameCodec)</td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a8f283519a195aa1d9076bbbb01ea0497">setFileNameCodec</a>(const char *fileNameCodecName)</td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#a64642948b6531ee54f5522f29e388cc6">setIoDevice</a>(QIODevice *ioDevice)</td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#aa80b661de1262af905d1677dbcb008cc">setZipName</a>(const QString &amp;zipName)</td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZip.html#af60a2d3930b90f3b25a3148baecad81e">~QuaZip</a>()</td><td><a class="el" href="classQuaZip.html">QuaZip</a></td><td></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,953 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: QuaZip Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#friends">Friends</a> </div>
<div class="headertitle">
<div class="title">QuaZip Class Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="QuaZip" -->
<p>ZIP archive.
<a href="classQuaZip.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="quazip_8h_source.html">quazip/quazip.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for QuaZip:</div>
<div class="dyncontent">
<div class="center"><img src="classQuaZip__coll__graph.png" border="0" usemap="#QuaZip_coll__map" alt="Collaboration graph"/></div>
<map name="QuaZip_coll__map" id="QuaZip_coll__map">
<area shape="rect" id="node2" href="classQuaZipPrivate.html" title="All the internal stuff for the QuaZip class." alt="" coords="5,96,107,123"/> </map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<p><a href="classQuaZip-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#adce46b942c341dbb5c851eadead65459">Constants</a> { <a class="el" href="classQuaZip.html#adce46b942c341dbb5c851eadead65459ab26ce1a9c9e94f901dc2cf90fa5baa4b">MAX_FILE_NAME_LENGTH</a> = 256
}</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Useful constants. <a href="classQuaZip.html#adce46b942c341dbb5c851eadead65459">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4">Mode</a> { <br/>
&#160;&#160;<a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4ac87ddb1e901e1ec700c16ee0d4d398ce">mdNotOpen</a>,
<a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a803a371910c2dc830d111e9ce5b58897">mdUnzip</a>,
<a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a25ae05b12590540af8c66ae8298b928e">mdCreate</a>,
<a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4ab807f0c65653a16d77b365801fd25582">mdAppend</a>,
<br/>
&#160;&#160;<a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a22c745f349f06add449af523254fdaec">mdAdd</a>
<br/>
}</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Open mode of the ZIP file. <a href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbe">CaseSensitivity</a> { <a class="el" href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbeac3cca8c0b976cf6397a28a5c84e75253">csDefault</a> = 0,
<a class="el" href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbead8d86b0c34203336cad09348cfa5356e">csSensitive</a> = 1,
<a class="el" href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbea3e492bcc3f64f41a74906cecc45fb366">csInsensitive</a> = 2
}</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Case sensitivity for the file names. <a href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbe">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#a970e0f401c7cfd7a78e78572f758eec4">QuaZip</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> object. <a href="#a970e0f401c7cfd7a78e78572f758eec4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaea7294b02abd22379cc3a9fccb754b7"></a><!-- doxytag: member="QuaZip::QuaZip" ref="aaea7294b02abd22379cc3a9fccb754b7" args="(const QString &amp;zipName)" -->
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#aaea7294b02abd22379cc3a9fccb754b7">QuaZip</a> (const QString &amp;zipName)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> object associated with ZIP file <em>zipName</em>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#ae52ebadd5ce64cdb49d7e198904b0b8c">QuaZip</a> (QIODevice *ioDevice)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> object associated with ZIP file represented by <em>ioDevice</em>. <a href="#ae52ebadd5ce64cdb49d7e198904b0b8c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#af60a2d3930b90f3b25a3148baecad81e">~QuaZip</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> object. <a href="#af60a2d3930b90f3b25a3148baecad81e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#abfa4e6018b2964a3d10a4c54e5ab3962">open</a> (<a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4">Mode</a> mode, zlib_filefunc_def *ioApi=NULL)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Opens ZIP file. <a href="#abfa4e6018b2964a3d10a4c54e5ab3962"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#a7a4323b73e12f3b4470109f200728f9f">close</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes ZIP file. <a href="#a7a4323b73e12f3b4470109f200728f9f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#a339010b5566704ba3c9cafbfe848d8fb">setFileNameCodec</a> (QTextCodec *fileNameCodec)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the codec used to encode/decode file names inside archive. <a href="#a339010b5566704ba3c9cafbfe848d8fb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#a8f283519a195aa1d9076bbbb01ea0497">setFileNameCodec</a> (const char *fileNameCodecName)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the codec used to encode/decode file names inside archive. <a href="#a8f283519a195aa1d9076bbbb01ea0497"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a27b866aa2c75ea6f9c438cbb6e32b43c"></a><!-- doxytag: member="QuaZip::getFileNameCodec" ref="a27b866aa2c75ea6f9c438cbb6e32b43c" args="() const " -->
QTextCodec *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#a27b866aa2c75ea6f9c438cbb6e32b43c">getFileNameCodec</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the codec used to encode/decode comments inside archive. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#a1c81fca7215a4374f6f03872ade4885b">setCommentCodec</a> (QTextCodec *commentCodec)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the codec used to encode/decode comments inside archive. <a href="#a1c81fca7215a4374f6f03872ade4885b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#a413f3c56b54a9a47258d53802cb606e7">setCommentCodec</a> (const char *commentCodecName)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the codec used to encode/decode comments inside archive. <a href="#a413f3c56b54a9a47258d53802cb606e7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a008260161781d8b5d2a0a28493fddaf4"></a><!-- doxytag: member="QuaZip::getCommentCodec" ref="a008260161781d8b5d2a0a28493fddaf4" args="() const " -->
QTextCodec *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#a008260161781d8b5d2a0a28493fddaf4">getCommentCodec</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the codec used to encode/decode comments inside archive. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#a4f7deef08ff40aeb1a7a04bcd7f228c2">getZipName</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of the ZIP file. <a href="#a4f7deef08ff40aeb1a7a04bcd7f228c2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#aa80b661de1262af905d1677dbcb008cc">setZipName</a> (const QString &amp;zipName)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the name of the ZIP file. <a href="#aa80b661de1262af905d1677dbcb008cc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">QIODevice *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#afd3ba12fe68748acbf8b7cc14a5a1c29">getIoDevice</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the device representing this ZIP file. <a href="#afd3ba12fe68748acbf8b7cc14a5a1c29"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#a64642948b6531ee54f5522f29e388cc6">setIoDevice</a> (QIODevice *ioDevice)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the device representing the ZIP file. <a href="#a64642948b6531ee54f5522f29e388cc6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a129ceff04d28fb00531f7bf7f9329664"></a><!-- doxytag: member="QuaZip::getMode" ref="a129ceff04d28fb00531f7bf7f9329664" args="() const " -->
<a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4">Mode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#a129ceff04d28fb00531f7bf7f9329664">getMode</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the mode in which ZIP file was opened. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b869a9c0d4f49955b759592fec08888"></a><!-- doxytag: member="QuaZip::isOpen" ref="a5b869a9c0d4f49955b759592fec08888" args="() const " -->
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#a5b869a9c0d4f49955b759592fec08888">isOpen</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns <code>true</code> if ZIP file is open, <code>false</code> otherwise. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#a28b91a6282ddd9382c96a069572c6fb4">getZipError</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the error code of the last operation. <a href="#a28b91a6282ddd9382c96a069572c6fb4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#a2ea4bd1fca948637c35c2d2752bb5a80">getEntriesCount</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns number of the entries in the ZIP central directory. <a href="#a2ea4bd1fca948637c35c2d2752bb5a80"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae55cfbf2296132df808c557b62433051"></a><!-- doxytag: member="QuaZip::getComment" ref="ae55cfbf2296132df808c557b62433051" args="() const " -->
QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#ae55cfbf2296132df808c557b62433051">getComment</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns global comment in the ZIP file. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#a1b5d936a203859340574d5908ffa2222">setComment</a> (const QString &amp;comment)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the global comment in the ZIP file. <a href="#a1b5d936a203859340574d5908ffa2222"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#a745488f9177bcec3cdb858587584e033">goToFirstFile</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the current file to the first file in the archive. <a href="#a745488f9177bcec3cdb858587584e033"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#aee6779b6cd338420c2e8c5655fa8ba97">goToNextFile</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the current file to the next file in the archive. <a href="#aee6779b6cd338420c2e8c5655fa8ba97"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#a6c657bfcfccb59d728e0da24c677d899">setCurrentFile</a> (const QString &amp;fileName, <a class="el" href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbe">CaseSensitivity</a> cs=csDefault)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets current file by its name. <a href="#a6c657bfcfccb59d728e0da24c677d899"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a00b237d926648f45da86db25e7cfb697"></a><!-- doxytag: member="QuaZip::hasCurrentFile" ref="a00b237d926648f45da86db25e7cfb697" args="() const " -->
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#a00b237d926648f45da86db25e7cfb697">hasCurrentFile</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns <code>true</code> if the current file has been set. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#a9c91a53ed4c2038e153c64bdc097ebe8">getCurrentFileInfo</a> (<a class="el" href="structQuaZipFileInfo.html">QuaZipFileInfo</a> *info) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves information about the current file. <a href="#a9c91a53ed4c2038e153c64bdc097ebe8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#a9783f8b4f39cd55e71e975aea78fd54a">getCurrentFileName</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the current file name. <a href="#a9783f8b4f39cd55e71e975aea78fd54a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unzFile&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#a3b78a652f296ff4a678a791e8294e642">getUnzFile</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns <code>unzFile</code> handle. <a href="#a3b78a652f296ff4a678a791e8294e642"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">zipFile&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#a425043a4d7cc31e2fe2bba73d954f15c">getZipFile</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns <code>zipFile</code> handle. <a href="#a425043a4d7cc31e2fe2bba73d954f15c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#a6c23a12af88f7ea5edd4f9c0a24b9453">setDataDescriptorWritingEnabled</a> (bool enabled)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes the data descriptor writing mode. <a href="#a6c23a12af88f7ea5edd4f9c0a24b9453"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#ae5c665a59447c2d30e63e9c6df48ebb7">isDataDescriptorWritingEnabled</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the data descriptor default writing mode. <a href="#ae5c665a59447c2d30e63e9c6df48ebb7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">QStringList&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#abb38d8b4c9c4ae0728b48caae9dd82de">getFileNameList</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a list of files inside the archive. <a href="#abb38d8b4c9c4ae0728b48caae9dd82de"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">QList&lt; <a class="el" href="structQuaZipFileInfo.html">QuaZipFileInfo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#a7486af66bede8e131db0cd2e81881387">getFileInfoList</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns information list about all files inside the archive. <a href="#a7486af66bede8e131db0cd2e81881387"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static Qt::CaseSensitivity&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#a1d3fbd445a8e9d3449ded7371931c6b3">convertCaseSensitivity</a> (<a class="el" href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbe">CaseSensitivity</a> cs)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the actual case sensitivity for the specified QuaZIP one. <a href="#a1d3fbd445a8e9d3449ded7371931c6b3"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="friends"></a>
Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5d400b33a69412e9d419a484aaf476cd"></a><!-- doxytag: member="QuaZip::QuaZipPrivate" ref="a5d400b33a69412e9d419a484aaf476cd" args="" -->
class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZip.html#a5d400b33a69412e9d419a484aaf476cd">QuaZipPrivate</a></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>ZIP archive. </p>
<p>This class implements basic interface to the ZIP archive. It can be used to read table contents of the ZIP archive and retreiving information about the files inside it.</p>
<p>You can also use this class to open files inside archive by passing pointer to the instance of this class to the constructor of the <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> class. But see <a class="el" href="classQuaZipFile.html#a54e944a6b3d27030f64c8f30d2cc33bb" title="Constructs a QuaZipFile instance.">QuaZipFile::QuaZipFile(QuaZip*, QObject*)</a> for the possible pitfalls.</p>
<p>This class is indended to provide interface to the ZIP subpackage of the ZIP/UNZIP package as well as to the UNZIP subpackage. But currently it supports only UNZIP.</p>
<p>The use of this class is simple - just create instance using constructor, then set ZIP archive file name using setFile() function (if you did not passed the name to the constructor), then <a class="el" href="classQuaZip.html#abfa4e6018b2964a3d10a4c54e5ab3962" title="Opens ZIP file.">open()</a> and then use different functions to work with it! Well, if you are paranoid, you may also wish to call close before destructing the instance, to check for errors on close.</p>
<p>You may also use <a class="el" href="classQuaZip.html#a3b78a652f296ff4a678a791e8294e642" title="Returns unzFile handle.">getUnzFile()</a> and <a class="el" href="classQuaZip.html#a425043a4d7cc31e2fe2bba73d954f15c" title="Returns zipFile handle.">getZipFile()</a> functions to get the ZIP archive handle and use it with ZIP/UNZIP package API directly.</p>
<p>This class supports localized file names inside ZIP archive, but you have to set up proper codec with setCodec() function. By default, locale codec will be used, which is probably ok for UNIX systems, but will almost certainly fail with ZIP archives created in Windows. This is because Windows ZIP programs have strange habit of using DOS encoding for file names in ZIP archives. For example, ZIP archive with cyrillic names created in Windows will have file names in <code>IBM866</code> encoding instead of <code>WINDOWS-1251</code>. I think that calling one function is not much trouble, but for true platform independency it would be nice to have some mechanism for file name encoding auto detection using locale information. Does anyone know a good way to do it? </p>
</div><hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="adce46b942c341dbb5c851eadead65459"></a><!-- doxytag: member="QuaZip::Constants" ref="adce46b942c341dbb5c851eadead65459" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classQuaZip.html#adce46b942c341dbb5c851eadead65459">QuaZip::Constants</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Useful constants. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="adce46b942c341dbb5c851eadead65459ab26ce1a9c9e94f901dc2cf90fa5baa4b"></a><!-- doxytag: member="MAX_FILE_NAME_LENGTH" ref="adce46b942c341dbb5c851eadead65459ab26ce1a9c9e94f901dc2cf90fa5baa4b" args="" -->MAX_FILE_NAME_LENGTH</em>&nbsp;</td><td>
<p>Maximum file name length. Taken from <code>UNZ_MAXFILENAMEINZIP</code> constant in unzip.c. </p>
</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a47e28d4116ee716fdd6b431b821d0be4"></a><!-- doxytag: member="QuaZip::Mode" ref="a47e28d4116ee716fdd6b431b821d0be4" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4">QuaZip::Mode</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Open mode of the ZIP file. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a47e28d4116ee716fdd6b431b821d0be4ac87ddb1e901e1ec700c16ee0d4d398ce"></a><!-- doxytag: member="mdNotOpen" ref="a47e28d4116ee716fdd6b431b821d0be4ac87ddb1e901e1ec700c16ee0d4d398ce" args="" -->mdNotOpen</em>&nbsp;</td><td>
<p>ZIP file is not open. This is the initial mode. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a47e28d4116ee716fdd6b431b821d0be4a803a371910c2dc830d111e9ce5b58897"></a><!-- doxytag: member="mdUnzip" ref="a47e28d4116ee716fdd6b431b821d0be4a803a371910c2dc830d111e9ce5b58897" args="" -->mdUnzip</em>&nbsp;</td><td>
<p>ZIP file is open for reading files inside it. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a47e28d4116ee716fdd6b431b821d0be4a25ae05b12590540af8c66ae8298b928e"></a><!-- doxytag: member="mdCreate" ref="a47e28d4116ee716fdd6b431b821d0be4a25ae05b12590540af8c66ae8298b928e" args="" -->mdCreate</em>&nbsp;</td><td>
<p>ZIP file was created with <a class="el" href="classQuaZip.html#abfa4e6018b2964a3d10a4c54e5ab3962" title="Opens ZIP file.">open()</a> call. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a47e28d4116ee716fdd6b431b821d0be4ab807f0c65653a16d77b365801fd25582"></a><!-- doxytag: member="mdAppend" ref="a47e28d4116ee716fdd6b431b821d0be4ab807f0c65653a16d77b365801fd25582" args="" -->mdAppend</em>&nbsp;</td><td>
<p>ZIP file was opened in append mode. This refers to <code>APPEND_STATUS_CREATEAFTER</code> mode in ZIP/UNZIP package and means that zip is appended to some existing file what is useful when that file contains self-extractor code. This is obviously <em>not</em> what you whant to use to add files to the existing ZIP archive. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a47e28d4116ee716fdd6b431b821d0be4a22c745f349f06add449af523254fdaec"></a><!-- doxytag: member="mdAdd" ref="a47e28d4116ee716fdd6b431b821d0be4a22c745f349f06add449af523254fdaec" args="" -->mdAdd</em>&nbsp;</td><td>
<p>ZIP file was opened for adding files in the archive. </p>
</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a6053a1d249ed210a85c9d5eb7cf9cdbe"></a><!-- doxytag: member="QuaZip::CaseSensitivity" ref="a6053a1d249ed210a85c9d5eb7cf9cdbe" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbe">QuaZip::CaseSensitivity</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Case sensitivity for the file names. </p>
<p>This is what you specify when accessing files in the archive. Works perfectly fine with any characters thanks to Qt's great unicode support. This is different from ZIP/UNZIP API, where only US-ASCII characters was supported. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a6053a1d249ed210a85c9d5eb7cf9cdbeac3cca8c0b976cf6397a28a5c84e75253"></a><!-- doxytag: member="csDefault" ref="a6053a1d249ed210a85c9d5eb7cf9cdbeac3cca8c0b976cf6397a28a5c84e75253" args="" -->csDefault</em>&nbsp;</td><td>
<p>Default for platform. Case sensitive for UNIX, not for Windows. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a6053a1d249ed210a85c9d5eb7cf9cdbead8d86b0c34203336cad09348cfa5356e"></a><!-- doxytag: member="csSensitive" ref="a6053a1d249ed210a85c9d5eb7cf9cdbead8d86b0c34203336cad09348cfa5356e" args="" -->csSensitive</em>&nbsp;</td><td>
<p>Case sensitive. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a6053a1d249ed210a85c9d5eb7cf9cdbea3e492bcc3f64f41a74906cecc45fb366"></a><!-- doxytag: member="csInsensitive" ref="a6053a1d249ed210a85c9d5eb7cf9cdbea3e492bcc3f64f41a74906cecc45fb366" args="" -->csInsensitive</em>&nbsp;</td><td>
<p>Case insensitive. </p>
</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a970e0f401c7cfd7a78e78572f758eec4"></a><!-- doxytag: member="QuaZip::QuaZip" ref="a970e0f401c7cfd7a78e78572f758eec4" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QuaZip::QuaZip </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Constructs <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> object. </p>
<p>Call setName() before opening constructed object. </p>
</div>
</div>
<a class="anchor" id="ae52ebadd5ce64cdb49d7e198904b0b8c"></a><!-- doxytag: member="QuaZip::QuaZip" ref="ae52ebadd5ce64cdb49d7e198904b0b8c" args="(QIODevice *ioDevice)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QuaZip::QuaZip </td>
<td>(</td>
<td class="paramtype">QIODevice *&#160;</td>
<td class="paramname"><em>ioDevice</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Constructs <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> object associated with ZIP file represented by <em>ioDevice</em>. </p>
<p>The IO device must be seekable, otherwise an error will occur when opening. </p>
</div>
</div>
<a class="anchor" id="af60a2d3930b90f3b25a3148baecad81e"></a><!-- doxytag: member="QuaZip::~QuaZip" ref="af60a2d3930b90f3b25a3148baecad81e" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QuaZip::~QuaZip </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Destroys <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> object. </p>
<p>Calls <a class="el" href="classQuaZip.html#a7a4323b73e12f3b4470109f200728f9f" title="Closes ZIP file.">close()</a> if necessary. </p>
<p>References <a class="el" href="classQuaZip.html#a7a4323b73e12f3b4470109f200728f9f">close()</a>, and <a class="el" href="classQuaZip.html#a5b869a9c0d4f49955b759592fec08888">isOpen()</a>.</p>
</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a1d3fbd445a8e9d3449ded7371931c6b3"></a><!-- doxytag: member="QuaZip::convertCaseSensitivity" ref="a1d3fbd445a8e9d3449ded7371931c6b3" args="(CaseSensitivity cs)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Qt::CaseSensitivity QuaZip::convertCaseSensitivity </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbe">QuaZip::CaseSensitivity</a>&#160;</td>
<td class="paramname"><em>cs</em></td><td>)</td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the actual case sensitivity for the specified QuaZIP one. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">cs</td><td>The value to convert. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>If CaseSensitivity::csDefault, then returns the default file name case sensitivity for the platform. Otherwise, just returns the appropriate value from the Qt::CaseSensitivity enum. </dd></dl>
<p>References <a class="el" href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbeac3cca8c0b976cf6397a28a5c84e75253">csDefault</a>, and <a class="el" href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbead8d86b0c34203336cad09348cfa5356e">csSensitive</a>.</p>
<p>Referenced by <a class="el" href="classQuaZipDir.html#aacb488fec6e951ac80e5d473534fee97">QuaZipDir::exists()</a>, and <a class="el" href="classQuaZip.html#a6c657bfcfccb59d728e0da24c677d899">setCurrentFile()</a>.</p>
</div>
</div>
<a class="anchor" id="abfa4e6018b2964a3d10a4c54e5ab3962"></a><!-- doxytag: member="QuaZip::open" ref="abfa4e6018b2964a3d10a4c54e5ab3962" args="(Mode mode, zlib_filefunc_def *ioApi=NULL)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool QuaZip::open </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4">Mode</a>&#160;</td>
<td class="paramname"><em>mode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">zlib_filefunc_def *&#160;</td>
<td class="paramname"><em>ioApi</em> = <code>NULL</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Opens ZIP file. </p>
<p>Argument <em>mode</em> specifies open mode of the ZIP archive. See Mode for details. Note that there is zipOpen2() function in the ZIP/UNZIP API which accepts <em>globalcomment</em> argument, but it does not use it anywhere, so this <a class="el" href="classQuaZip.html#abfa4e6018b2964a3d10a4c54e5ab3962" title="Opens ZIP file.">open()</a> function does not have this argument. See <a class="el" href="classQuaZip.html#a1b5d936a203859340574d5908ffa2222" title="Sets the global comment in the ZIP file.">setComment()</a> if you need to set global comment.</p>
<p>If the ZIP file is accessed via explicitly set QIODevice, then this device is opened in the necessary mode. If the device was already opened by some other means, then the behaviour is defined by the device implementation, but generally it is not a very good idea. For example, QFile will at least issue a warning.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if successful, <code>false</code> otherwise.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>ZIP/UNZIP API open calls do not return error code - they just return <code>NULL</code> indicating an error. But to make things easier, <a class="el" href="quazip_8h_source.html">quazip.h</a> header defines additional error code <code>UNZ_ERROROPEN</code> and <a class="el" href="classQuaZip.html#a28b91a6282ddd9382c96a069572c6fb4" title="Returns the error code of the last operation.">getZipError()</a> will return it if the open call of the ZIP/UNZIP API returns <code>NULL</code>.</dd></dl>
<p>Argument <em>ioApi</em> specifies IO function set for ZIP/UNZIP package to use. See unzip.h, zip.h and ioapi.h for details. Note that IO API for <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> is different from the original package. The file path argument was changed to be of type <code>voidpf</code>, and <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> passes a QIODevice pointer there. This QIODevice is either set explicitly via <a class="el" href="classQuaZip.html#a64642948b6531ee54f5522f29e388cc6" title="Sets the device representing the ZIP file.">setIoDevice()</a> or the <a class="el" href="classQuaZip.html#ae52ebadd5ce64cdb49d7e198904b0b8c" title="Constructs QuaZip object associated with ZIP file represented by ioDevice.">QuaZip(QIODevice*)</a> constructor, or it is created internally when opening the archive by its file name. The default API (qioapi.cpp) just delegates everything to the QIODevice API. Not only this allows to use a QIODevice instead of file name, but also has a nice side effect of raising the file size limit from 2G to 4G.</p>
<p>In short: just forget about the <em>ioApi</em> argument and you'll be fine. </p>
<p>References <a class="el" href="classQuaZip.html#a5b869a9c0d4f49955b759592fec08888">isOpen()</a>, <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a22c745f349f06add449af523254fdaec">mdAdd</a>, <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4ab807f0c65653a16d77b365801fd25582">mdAppend</a>, <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a25ae05b12590540af8c66ae8298b928e">mdCreate</a>, <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a803a371910c2dc830d111e9ce5b58897">mdUnzip</a>, <a class="el" href="classQuaZipPrivate.html#aeb1d2d3263929b17d6b0608e35af2a88">QuaZipPrivate::unzFile_f</a>, and <a class="el" href="classQuaZipPrivate.html#ab83497156892d07e6a1514cef149a1e2">QuaZipPrivate::zipFile_f</a>.</p>
<p>Referenced by <a class="el" href="classJlCompress.html#a8708eafcadc5c192a1d492e784cfc98f">JlCompress::compressDir()</a>, <a class="el" href="classJlCompress.html#a4a4de9c62ecf161bb658d4d80495ea97">JlCompress::compressFile()</a>, <a class="el" href="classJlCompress.html#a9cdb92d29a94c6b13a718a3249685846">JlCompress::compressFiles()</a>, <a class="el" href="classJlCompress.html#a365a153baa4c11812d93cbca60b6a293">JlCompress::extractDir()</a>, <a class="el" href="classJlCompress.html#a38c0d58bfe3bbbcb3cf4e98d126633a3">JlCompress::extractFile()</a>, <a class="el" href="classJlCompress.html#a309e9ee366719a4d8aa28f837fab73ae">JlCompress::extractFiles()</a>, <a class="el" href="classJlCompress.html#ab42422be913f817d7e04c1b1cd5d0156">JlCompress::getFileList()</a>, and <a class="el" href="classQuaZipFile.html#aed75bace51f2bb4c3e4f656ab4493aac">QuaZipFile::open()</a>.</p>
</div>
</div>
<a class="anchor" id="a7a4323b73e12f3b4470109f200728f9f"></a><!-- doxytag: member="QuaZip::close" ref="a7a4323b73e12f3b4470109f200728f9f" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void QuaZip::close </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Closes ZIP file. </p>
<p>Call <a class="el" href="classQuaZip.html#a28b91a6282ddd9382c96a069572c6fb4" title="Returns the error code of the last operation.">getZipError()</a> to determine if the close was successful. The underlying QIODevice is also closed, regardless of whether it was set explicitly or not. </p>
<p>References <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a22c745f349f06add449af523254fdaec">mdAdd</a>, <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4ab807f0c65653a16d77b365801fd25582">mdAppend</a>, <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a25ae05b12590540af8c66ae8298b928e">mdCreate</a>, <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4ac87ddb1e901e1ec700c16ee0d4d398ce">mdNotOpen</a>, <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a803a371910c2dc830d111e9ce5b58897">mdUnzip</a>, <a class="el" href="classQuaZipPrivate.html#aeb1d2d3263929b17d6b0608e35af2a88">QuaZipPrivate::unzFile_f</a>, and <a class="el" href="classQuaZipPrivate.html#ab83497156892d07e6a1514cef149a1e2">QuaZipPrivate::zipFile_f</a>.</p>
<p>Referenced by <a class="el" href="classQuaZipFile.html#a42a39b12619bccd3d419ee60bbb3fcf6">QuaZipFile::close()</a>, <a class="el" href="classJlCompress.html#a8708eafcadc5c192a1d492e784cfc98f">JlCompress::compressDir()</a>, <a class="el" href="classJlCompress.html#a4a4de9c62ecf161bb658d4d80495ea97">JlCompress::compressFile()</a>, <a class="el" href="classJlCompress.html#a9cdb92d29a94c6b13a718a3249685846">JlCompress::compressFiles()</a>, <a class="el" href="classJlCompress.html#a365a153baa4c11812d93cbca60b6a293">JlCompress::extractDir()</a>, <a class="el" href="classJlCompress.html#a38c0d58bfe3bbbcb3cf4e98d126633a3">JlCompress::extractFile()</a>, <a class="el" href="classJlCompress.html#a309e9ee366719a4d8aa28f837fab73ae">JlCompress::extractFiles()</a>, <a class="el" href="classJlCompress.html#ab42422be913f817d7e04c1b1cd5d0156">JlCompress::getFileList()</a>, <a class="el" href="classQuaZipFile.html#aed75bace51f2bb4c3e4f656ab4493aac">QuaZipFile::open()</a>, and <a class="el" href="classQuaZip.html#af60a2d3930b90f3b25a3148baecad81e">~QuaZip()</a>.</p>
</div>
</div>
<a class="anchor" id="a339010b5566704ba3c9cafbfe848d8fb"></a><!-- doxytag: member="QuaZip::setFileNameCodec" ref="a339010b5566704ba3c9cafbfe848d8fb" args="(QTextCodec *fileNameCodec)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void QuaZip::setFileNameCodec </td>
<td>(</td>
<td class="paramtype">QTextCodec *&#160;</td>
<td class="paramname"><em>fileNameCodec</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sets the codec used to encode/decode file names inside archive. </p>
<p>This is necessary to access files in the ZIP archive created under Windows with non-latin characters in file names. For example, file names with cyrillic letters will be in <code>IBM866</code> encoding. </p>
</div>
</div>
<a class="anchor" id="a8f283519a195aa1d9076bbbb01ea0497"></a><!-- doxytag: member="QuaZip::setFileNameCodec" ref="a8f283519a195aa1d9076bbbb01ea0497" args="(const char *fileNameCodecName)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void QuaZip::setFileNameCodec </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>fileNameCodecName</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sets the codec used to encode/decode file names inside archive. </p>
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Equivalent to calling setFileNameCodec(QTextCodec::codecForName(codecName)); </p>
</div>
</div>
<a class="anchor" id="a1c81fca7215a4374f6f03872ade4885b"></a><!-- doxytag: member="QuaZip::setCommentCodec" ref="a1c81fca7215a4374f6f03872ade4885b" args="(QTextCodec *commentCodec)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void QuaZip::setCommentCodec </td>
<td>(</td>
<td class="paramtype">QTextCodec *&#160;</td>
<td class="paramname"><em>commentCodec</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sets the codec used to encode/decode comments inside archive. </p>
<p>This codec defaults to locale codec, which is probably ok. </p>
</div>
</div>
<a class="anchor" id="a413f3c56b54a9a47258d53802cb606e7"></a><!-- doxytag: member="QuaZip::setCommentCodec" ref="a413f3c56b54a9a47258d53802cb606e7" args="(const char *commentCodecName)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void QuaZip::setCommentCodec </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>commentCodecName</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sets the codec used to encode/decode comments inside archive. </p>
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Equivalent to calling setCommentCodec(QTextCodec::codecForName(codecName)); </p>
</div>
</div>
<a class="anchor" id="a4f7deef08ff40aeb1a7a04bcd7f228c2"></a><!-- doxytag: member="QuaZip::getZipName" ref="a4f7deef08ff40aeb1a7a04bcd7f228c2" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QString QuaZip::getZipName </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the name of the ZIP file. </p>
<p>Returns null string if no ZIP file name has been set, for example when the <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> instance is set up to use a QIODevice instead. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQuaZip.html#aa80b661de1262af905d1677dbcb008cc" title="Sets the name of the ZIP file.">setZipName()</a>, <a class="el" href="classQuaZip.html#a64642948b6531ee54f5522f29e388cc6" title="Sets the device representing the ZIP file.">setIoDevice()</a>, <a class="el" href="classQuaZip.html#afd3ba12fe68748acbf8b7cc14a5a1c29" title="Returns the device representing this ZIP file.">getIoDevice()</a> </dd></dl>
<p>Referenced by <a class="el" href="classQuaZipFile.html#a6f034a714aa94631367590de3f8f4e22">QuaZipFile::getZipName()</a>.</p>
</div>
</div>
<a class="anchor" id="aa80b661de1262af905d1677dbcb008cc"></a><!-- doxytag: member="QuaZip::setZipName" ref="aa80b661de1262af905d1677dbcb008cc" args="(const QString &amp;zipName)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void QuaZip::setZipName </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>zipName</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sets the name of the ZIP file. </p>
<p>Does nothing if the ZIP file is open.</p>
<p>Does not reset error code returned by <a class="el" href="classQuaZip.html#a28b91a6282ddd9382c96a069572c6fb4" title="Returns the error code of the last operation.">getZipError()</a>. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQuaZip.html#a64642948b6531ee54f5522f29e388cc6" title="Sets the device representing the ZIP file.">setIoDevice()</a>, <a class="el" href="classQuaZip.html#afd3ba12fe68748acbf8b7cc14a5a1c29" title="Returns the device representing this ZIP file.">getIoDevice()</a>, <a class="el" href="classQuaZip.html#a4f7deef08ff40aeb1a7a04bcd7f228c2" title="Returns the name of the ZIP file.">getZipName()</a> </dd></dl>
<p>References <a class="el" href="classQuaZip.html#a5b869a9c0d4f49955b759592fec08888">isOpen()</a>.</p>
</div>
</div>
<a class="anchor" id="afd3ba12fe68748acbf8b7cc14a5a1c29"></a><!-- doxytag: member="QuaZip::getIoDevice" ref="afd3ba12fe68748acbf8b7cc14a5a1c29" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QIODevice * QuaZip::getIoDevice </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the device representing this ZIP file. </p>
<p>Returns null string if no device has been set explicitly, for example when opening a ZIP file by name. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQuaZip.html#a64642948b6531ee54f5522f29e388cc6" title="Sets the device representing the ZIP file.">setIoDevice()</a>, <a class="el" href="classQuaZip.html#a4f7deef08ff40aeb1a7a04bcd7f228c2" title="Returns the name of the ZIP file.">getZipName()</a>, <a class="el" href="classQuaZip.html#aa80b661de1262af905d1677dbcb008cc" title="Sets the name of the ZIP file.">setZipName()</a> </dd></dl>
</div>
</div>
<a class="anchor" id="a64642948b6531ee54f5522f29e388cc6"></a><!-- doxytag: member="QuaZip::setIoDevice" ref="a64642948b6531ee54f5522f29e388cc6" args="(QIODevice *ioDevice)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void QuaZip::setIoDevice </td>
<td>(</td>
<td class="paramtype">QIODevice *&#160;</td>
<td class="paramname"><em>ioDevice</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sets the device representing the ZIP file. </p>
<p>Does nothing if the ZIP file is open.</p>
<p>Does not reset error code returned by <a class="el" href="classQuaZip.html#a28b91a6282ddd9382c96a069572c6fb4" title="Returns the error code of the last operation.">getZipError()</a>. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQuaZip.html#afd3ba12fe68748acbf8b7cc14a5a1c29" title="Returns the device representing this ZIP file.">getIoDevice()</a>, <a class="el" href="classQuaZip.html#a4f7deef08ff40aeb1a7a04bcd7f228c2" title="Returns the name of the ZIP file.">getZipName()</a>, <a class="el" href="classQuaZip.html#aa80b661de1262af905d1677dbcb008cc" title="Sets the name of the ZIP file.">setZipName()</a> </dd></dl>
<p>References <a class="el" href="classQuaZip.html#a5b869a9c0d4f49955b759592fec08888">isOpen()</a>.</p>
</div>
</div>
<a class="anchor" id="a28b91a6282ddd9382c96a069572c6fb4"></a><!-- doxytag: member="QuaZip::getZipError" ref="a28b91a6282ddd9382c96a069572c6fb4" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int QuaZip::getZipError </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the error code of the last operation. </p>
<p>Returns <code>UNZ_OK</code> if the last operation was successful.</p>
<p>Error code resets to <code>UNZ_OK</code> every time you call any function that accesses something inside ZIP archive, even if it is <code>const</code> (like <a class="el" href="classQuaZip.html#a2ea4bd1fca948637c35c2d2752bb5a80" title="Returns number of the entries in the ZIP central directory.">getEntriesCount()</a>). <a class="el" href="classQuaZip.html#abfa4e6018b2964a3d10a4c54e5ab3962" title="Opens ZIP file.">open()</a> and <a class="el" href="classQuaZip.html#a7a4323b73e12f3b4470109f200728f9f" title="Closes ZIP file.">close()</a> calls reset error code too. See documentation for the specific functions for details on error detection. </p>
<p>Referenced by <a class="el" href="classQuaZipFile.html#a42a39b12619bccd3d419ee60bbb3fcf6">QuaZipFile::close()</a>, <a class="el" href="classJlCompress.html#a8708eafcadc5c192a1d492e784cfc98f">JlCompress::compressDir()</a>, <a class="el" href="classJlCompress.html#a4a4de9c62ecf161bb658d4d80495ea97">JlCompress::compressFile()</a>, <a class="el" href="classJlCompress.html#a9cdb92d29a94c6b13a718a3249685846">JlCompress::compressFiles()</a>, <a class="el" href="classJlCompress.html#a365a153baa4c11812d93cbca60b6a293">JlCompress::extractDir()</a>, <a class="el" href="classJlCompress.html#a38c0d58bfe3bbbcb3cf4e98d126633a3">JlCompress::extractFile()</a>, <a class="el" href="classJlCompress.html#a309e9ee366719a4d8aa28f837fab73ae">JlCompress::extractFiles()</a>, <a class="el" href="classQuaZipFile.html#a7b8e3c39026855cd98661a1b2815c220">QuaZipFile::getActualFileName()</a>, <a class="el" href="classQuaZipFile.html#ad3f5807329321be21b12c1ba5798b359">QuaZipFile::getFileInfo()</a>, <a class="el" href="classJlCompress.html#ab42422be913f817d7e04c1b1cd5d0156">JlCompress::getFileList()</a>, and <a class="el" href="classQuaZipFile.html#aed75bace51f2bb4c3e4f656ab4493aac">QuaZipFile::open()</a>.</p>
</div>
</div>
<a class="anchor" id="a2ea4bd1fca948637c35c2d2752bb5a80"></a><!-- doxytag: member="QuaZip::getEntriesCount" ref="a2ea4bd1fca948637c35c2d2752bb5a80" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int QuaZip::getEntriesCount </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns number of the entries in the ZIP central directory. </p>
<p>Returns negative error code in the case of error. The same error code will be returned by subsequent <a class="el" href="classQuaZip.html#a28b91a6282ddd9382c96a069572c6fb4" title="Returns the error code of the last operation.">getZipError()</a> call. </p>
<p>References <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a803a371910c2dc830d111e9ce5b58897">mdUnzip</a>, and <a class="el" href="classQuaZipPrivate.html#aeb1d2d3263929b17d6b0608e35af2a88">QuaZipPrivate::unzFile_f</a>.</p>
</div>
</div>
<a class="anchor" id="a1b5d936a203859340574d5908ffa2222"></a><!-- doxytag: member="QuaZip::setComment" ref="a1b5d936a203859340574d5908ffa2222" args="(const QString &amp;comment)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void QuaZip::setComment </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>comment</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sets the global comment in the ZIP file. </p>
<p>The comment will be written to the archive on close operation. <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> makes a distinction between a null QByteArray() comment and an empty "" comment in the <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a22c745f349f06add449af523254fdaec" title="ZIP file was opened for adding files in the archive.">QuaZip::mdAdd</a> mode. A null comment is the default and it means "don't change the comment". An empty comment removes the original comment.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQuaZip.html#abfa4e6018b2964a3d10a4c54e5ab3962" title="Opens ZIP file.">open()</a> </dd></dl>
</div>
</div>
<a class="anchor" id="a745488f9177bcec3cdb858587584e033"></a><!-- doxytag: member="QuaZip::goToFirstFile" ref="a745488f9177bcec3cdb858587584e033" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool QuaZip::goToFirstFile </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sets the current file to the first file in the archive. </p>
<p>Returns <code>true</code> on success, <code>false</code> otherwise. Call <a class="el" href="classQuaZip.html#a28b91a6282ddd9382c96a069572c6fb4" title="Returns the error code of the last operation.">getZipError()</a> to get the error code. </p>
<p>References <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a803a371910c2dc830d111e9ce5b58897">mdUnzip</a>, and <a class="el" href="classQuaZipPrivate.html#aeb1d2d3263929b17d6b0608e35af2a88">QuaZipPrivate::unzFile_f</a>.</p>
<p>Referenced by <a class="el" href="classJlCompress.html#a365a153baa4c11812d93cbca60b6a293">JlCompress::extractDir()</a>, <a class="el" href="classJlCompress.html#ab42422be913f817d7e04c1b1cd5d0156">JlCompress::getFileList()</a>, and <a class="el" href="classQuaZip.html#a6c657bfcfccb59d728e0da24c677d899">setCurrentFile()</a>.</p>
</div>
</div>
<a class="anchor" id="aee6779b6cd338420c2e8c5655fa8ba97"></a><!-- doxytag: member="QuaZip::goToNextFile" ref="aee6779b6cd338420c2e8c5655fa8ba97" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool QuaZip::goToNextFile </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sets the current file to the next file in the archive. </p>
<p>Returns <code>true</code> on success, <code>false</code> otherwise. Call <a class="el" href="classQuaZip.html#a28b91a6282ddd9382c96a069572c6fb4" title="Returns the error code of the last operation.">getZipError()</a> to determine if there was an error.</p>
<p>Should be used only in <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a803a371910c2dc830d111e9ce5b58897" title="ZIP file is open for reading files inside it.">QuaZip::mdUnzip</a> mode.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>If the end of file was reached, <a class="el" href="classQuaZip.html#a28b91a6282ddd9382c96a069572c6fb4" title="Returns the error code of the last operation.">getZipError()</a> will return <code>UNZ_OK</code> instead of <code>UNZ_END_OF_LIST_OF_FILE</code>. This is to make things like this easier: <div class="fragment"><pre class="fragment"> <span class="keywordflow">for</span>(<span class="keywordtype">bool</span> more=zip.goToFirstFile(); more; more=zip.goToNextFile()) {
<span class="comment">// do something</span>
}
<span class="keywordflow">if</span>(zip.getZipError()==UNZ_OK) {
<span class="comment">// ok, there was no error</span>
}
</pre></div> </dd></dl>
<p>References <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a803a371910c2dc830d111e9ce5b58897">mdUnzip</a>, and <a class="el" href="classQuaZipPrivate.html#aeb1d2d3263929b17d6b0608e35af2a88">QuaZipPrivate::unzFile_f</a>.</p>
<p>Referenced by <a class="el" href="classJlCompress.html#a365a153baa4c11812d93cbca60b6a293">JlCompress::extractDir()</a>, <a class="el" href="classJlCompress.html#ab42422be913f817d7e04c1b1cd5d0156">JlCompress::getFileList()</a>, and <a class="el" href="classQuaZip.html#a6c657bfcfccb59d728e0da24c677d899">setCurrentFile()</a>.</p>
</div>
</div>
<a class="anchor" id="a6c657bfcfccb59d728e0da24c677d899"></a><!-- doxytag: member="QuaZip::setCurrentFile" ref="a6c657bfcfccb59d728e0da24c677d899" args="(const QString &amp;fileName, CaseSensitivity cs=csDefault)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool QuaZip::setCurrentFile </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>fileName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbe">CaseSensitivity</a>&#160;</td>
<td class="paramname"><em>cs</em> = <code>csDefault</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sets current file by its name. </p>
<p>Returns <code>true</code> if successful, <code>false</code> otherwise. Argument <em>cs</em> specifies case sensitivity of the file name. Call <a class="el" href="classQuaZip.html#a28b91a6282ddd9382c96a069572c6fb4" title="Returns the error code of the last operation.">getZipError()</a> in the case of a failure to get error code.</p>
<p>This is not a wrapper to unzLocateFile() function. That is because I had to implement locale-specific case-insensitive comparison.</p>
<p>Here are the differences from the original implementation:</p>
<ul>
<li>If the file was not found, error code is <code>UNZ_OK</code>, not <code>UNZ_END_OF_LIST_OF_FILE</code> (see also <a class="el" href="classQuaZip.html#aee6779b6cd338420c2e8c5655fa8ba97" title="Sets the current file to the next file in the archive.">goToNextFile()</a>).</li>
<li>If this function fails, it unsets the current file rather than resetting it back to what it was before the call.</li>
</ul>
<p>If <em>fileName</em> is null string then this function unsets the current file and return <code>true</code>. Note that you should close the file first if it is open! See <a class="el" href="classQuaZipFile.html#a54e944a6b3d27030f64c8f30d2cc33bb" title="Constructs a QuaZipFile instance.">QuaZipFile::QuaZipFile(QuaZip*,QObject*)</a> for the details.</p>
<p>Should be used only in <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a803a371910c2dc830d111e9ce5b58897" title="ZIP file is open for reading files inside it.">QuaZip::mdUnzip</a> mode.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQuaZip.html#a339010b5566704ba3c9cafbfe848d8fb" title="Sets the codec used to encode/decode file names inside archive.">setFileNameCodec()</a>, <a class="el" href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbe" title="Case sensitivity for the file names.">CaseSensitivity</a> </dd></dl>
<p>References <a class="el" href="classQuaZip.html#a1d3fbd445a8e9d3449ded7371931c6b3">convertCaseSensitivity()</a>, <a class="el" href="classQuaZip.html#a9783f8b4f39cd55e71e975aea78fd54a">getCurrentFileName()</a>, <a class="el" href="classQuaZip.html#a745488f9177bcec3cdb858587584e033">goToFirstFile()</a>, <a class="el" href="classQuaZip.html#aee6779b6cd338420c2e8c5655fa8ba97">goToNextFile()</a>, <a class="el" href="classQuaZip.html#adce46b942c341dbb5c851eadead65459ab26ce1a9c9e94f901dc2cf90fa5baa4b">MAX_FILE_NAME_LENGTH</a>, <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a803a371910c2dc830d111e9ce5b58897">mdUnzip</a>, and <a class="el" href="classQuaZipPrivate.html#aeb1d2d3263929b17d6b0608e35af2a88">QuaZipPrivate::unzFile_f</a>.</p>
<p>Referenced by <a class="el" href="classQuaZipFile.html#aed75bace51f2bb4c3e4f656ab4493aac">QuaZipFile::open()</a>.</p>
</div>
</div>
<a class="anchor" id="a9c91a53ed4c2038e153c64bdc097ebe8"></a><!-- doxytag: member="QuaZip::getCurrentFileInfo" ref="a9c91a53ed4c2038e153c64bdc097ebe8" args="(QuaZipFileInfo *info) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool QuaZip::getCurrentFileInfo </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structQuaZipFileInfo.html">QuaZipFileInfo</a> *&#160;</td>
<td class="paramname"><em>info</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Retrieves information about the current file. </p>
<p>Fills the structure pointed by <em>info</em>. Returns <code>true</code> on success, <code>false</code> otherwise. In the latter case structure pointed by <em>info</em> remains untouched. If there was an error, <a class="el" href="classQuaZip.html#a28b91a6282ddd9382c96a069572c6fb4" title="Returns the error code of the last operation.">getZipError()</a> returns error code.</p>
<p>Should be used only in <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a803a371910c2dc830d111e9ce5b58897" title="ZIP file is open for reading files inside it.">QuaZip::mdUnzip</a> mode.</p>
<p>Does nothing and returns <code>false</code> in any of the following cases.</p>
<ul>
<li>ZIP is not open;</li>
<li>ZIP does not have current file;</li>
<li><em>info</em> is <code>NULL</code>;</li>
</ul>
<p>In all these cases <a class="el" href="classQuaZip.html#a28b91a6282ddd9382c96a069572c6fb4" title="Returns the error code of the last operation.">getZipError()</a> returns <code>UNZ_OK</code> since there is no ZIP/UNZIP API call. </p>
<p>References <a class="el" href="structQuaZipFileInfo.html#adc2aad7bbd87ce3415e2a19851266bfc">QuaZipFileInfo::comment</a>, <a class="el" href="structQuaZipFileInfo.html#af6116eaac1f36b2a4b3a6a39851a85cc">QuaZipFileInfo::compressedSize</a>, <a class="el" href="structQuaZipFileInfo.html#aceee045c9ebce0b9724f40d342bc99ea">QuaZipFileInfo::crc</a>, <a class="el" href="structQuaZipFileInfo.html#ad6993d099436813a27fd31aebe42911a">QuaZipFileInfo::dateTime</a>, <a class="el" href="structQuaZipFileInfo.html#aa70157fdc2bd8de10405055b4233050b">QuaZipFileInfo::diskNumberStart</a>, <a class="el" href="structQuaZipFileInfo.html#afeb65ffdacc4fc0ba7848d4b37f62ecf">QuaZipFileInfo::externalAttr</a>, <a class="el" href="structQuaZipFileInfo.html#affc7b097de2c3c2ef5801c60f96adc72">QuaZipFileInfo::extra</a>, <a class="el" href="structQuaZipFileInfo.html#a56d36f777e4fc892c71e22d080622e2c">QuaZipFileInfo::flags</a>, <a class="el" href="classQuaZip.html#a00b237d926648f45da86db25e7cfb697">hasCurrentFile()</a>, <a class="el" href="structQuaZipFileInfo.html#a36e681a93b041617addee78cb939c93d">QuaZipFileInfo::internalAttr</a>, <a class="el" href="classQuaZip.html#a5b869a9c0d4f49955b759592fec08888">isOpen()</a>, <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a803a371910c2dc830d111e9ce5b58897">mdUnzip</a>, <a class="el" href="structQuaZipFileInfo.html#af5c1bbda7f5dec2c358e7a543564de4c">QuaZipFileInfo::method</a>, <a class="el" href="structQuaZipFileInfo.html#a16ac323965deccf0232bfae69d933a84">QuaZipFileInfo::name</a>, <a class="el" href="structQuaZipFileInfo.html#a0eb908e1b1ea637d1f1f4d6aa31db07f">QuaZipFileInfo::uncompressedSize</a>, <a class="el" href="classQuaZipPrivate.html#aeb1d2d3263929b17d6b0608e35af2a88">QuaZipPrivate::unzFile_f</a>, <a class="el" href="structQuaZipFileInfo.html#a52f3f1d960ebaa2acbc2a86458fa3e6e">QuaZipFileInfo::versionCreated</a>, and <a class="el" href="structQuaZipFileInfo.html#a8b73982808bded49e88e624a65e1a94f">QuaZipFileInfo::versionNeeded</a>.</p>
<p>Referenced by <a class="el" href="classQuaZipFile.html#ad3f5807329321be21b12c1ba5798b359">QuaZipFile::getFileInfo()</a>, and <a class="el" href="classJlCompress.html#ab42422be913f817d7e04c1b1cd5d0156">JlCompress::getFileList()</a>.</p>
</div>
</div>
<a class="anchor" id="a9783f8b4f39cd55e71e975aea78fd54a"></a><!-- doxytag: member="QuaZip::getCurrentFileName" ref="a9783f8b4f39cd55e71e975aea78fd54a" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QString QuaZip::getCurrentFileName </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the current file name. </p>
<p>Equivalent to calling <a class="el" href="classQuaZip.html#a9c91a53ed4c2038e153c64bdc097ebe8" title="Retrieves information about the current file.">getCurrentFileInfo()</a> and then getting <code>name</code> field of the <a class="el" href="structQuaZipFileInfo.html" title="Information about a file inside archive.">QuaZipFileInfo</a> structure, but faster and more convenient.</p>
<p>Should be used only in <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a803a371910c2dc830d111e9ce5b58897" title="ZIP file is open for reading files inside it.">QuaZip::mdUnzip</a> mode. </p>
<p>References <a class="el" href="classQuaZip.html#a00b237d926648f45da86db25e7cfb697">hasCurrentFile()</a>, <a class="el" href="classQuaZip.html#a5b869a9c0d4f49955b759592fec08888">isOpen()</a>, <a class="el" href="classQuaZip.html#adce46b942c341dbb5c851eadead65459ab26ce1a9c9e94f901dc2cf90fa5baa4b">MAX_FILE_NAME_LENGTH</a>, <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a803a371910c2dc830d111e9ce5b58897">mdUnzip</a>, and <a class="el" href="classQuaZipPrivate.html#aeb1d2d3263929b17d6b0608e35af2a88">QuaZipPrivate::unzFile_f</a>.</p>
<p>Referenced by <a class="el" href="classJlCompress.html#a365a153baa4c11812d93cbca60b6a293">JlCompress::extractDir()</a>, <a class="el" href="classQuaZipFile.html#a7b8e3c39026855cd98661a1b2815c220">QuaZipFile::getActualFileName()</a>, and <a class="el" href="classQuaZip.html#a6c657bfcfccb59d728e0da24c677d899">setCurrentFile()</a>.</p>
</div>
</div>
<a class="anchor" id="a3b78a652f296ff4a678a791e8294e642"></a><!-- doxytag: member="QuaZip::getUnzFile" ref="a3b78a652f296ff4a678a791e8294e642" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unzFile QuaZip::getUnzFile </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns <code>unzFile</code> handle. </p>
<p>You can use this handle to directly call UNZIP part of the ZIP/UNZIP package functions (see unzip.h).</p>
<dl class="warning"><dt><b>Warning:</b></dt><dd>When using the handle returned by this function, please keep in mind that <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> class is unable to detect any changes you make in the ZIP file state (e. g. changing current file, or closing the handle). So please do not do anything with this handle that is possible to do with the functions of this class. Or at least return the handle in the original state before calling some another function of this class (including implicit destructor calls and calls from the <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> objects that refer to this <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> instance!). So if you have changed the current file in the ZIP archive - then change it back or you may experience some strange behavior or even crashes. </dd></dl>
<p>References <a class="el" href="classQuaZipPrivate.html#aeb1d2d3263929b17d6b0608e35af2a88">QuaZipPrivate::unzFile_f</a>.</p>
<p>Referenced by <a class="el" href="classQuaZipFile.html#a1e3f4c3c075da98af426fc167440cfc3">QuaZipFile::atEnd()</a>, <a class="el" href="classQuaZipFile.html#a42a39b12619bccd3d419ee60bbb3fcf6">QuaZipFile::close()</a>, <a class="el" href="classQuaZipFile.html#ac4da08e5cdec368a2a686775f7dc5639">QuaZipFile::csize()</a>, <a class="el" href="classQuaZipFile.html#aed75bace51f2bb4c3e4f656ab4493aac">QuaZipFile::open()</a>, <a class="el" href="classQuaZipFile.html#a90fd55dab83eca7f95df50b2c41b7f22">QuaZipFile::pos()</a>, <a class="el" href="classQuaZipFile.html#aa1f2274e1579327855a17d67a9046ec2">QuaZipFile::readData()</a>, and <a class="el" href="classQuaZipFile.html#a4814b5e6e39fb254737b81ea10964f50">QuaZipFile::usize()</a>.</p>
</div>
</div>
<a class="anchor" id="a425043a4d7cc31e2fe2bba73d954f15c"></a><!-- doxytag: member="QuaZip::getZipFile" ref="a425043a4d7cc31e2fe2bba73d954f15c" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">zipFile QuaZip::getZipFile </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns <code>zipFile</code> handle. </p>
<p>You can use this handle to directly call ZIP part of the ZIP/UNZIP package functions (see zip.h). Warnings about the <a class="el" href="classQuaZip.html#a3b78a652f296ff4a678a791e8294e642" title="Returns unzFile handle.">getUnzFile()</a> function also apply to this function. </p>
<p>References <a class="el" href="classQuaZipPrivate.html#ab83497156892d07e6a1514cef149a1e2">QuaZipPrivate::zipFile_f</a>.</p>
<p>Referenced by <a class="el" href="classQuaZipFile.html#a42a39b12619bccd3d419ee60bbb3fcf6">QuaZipFile::close()</a>, <a class="el" href="classQuaZipFile.html#a2429ea59c77371d7af56d739db130b18">QuaZipFile::open()</a>, and <a class="el" href="classQuaZipFile.html#abd07949a6fcc2ef094d2be5398bc8e7c">QuaZipFile::writeData()</a>.</p>
</div>
</div>
<a class="anchor" id="a6c23a12af88f7ea5edd4f9c0a24b9453"></a><!-- doxytag: member="QuaZip::setDataDescriptorWritingEnabled" ref="a6c23a12af88f7ea5edd4f9c0a24b9453" args="(bool enabled)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void QuaZip::setDataDescriptorWritingEnabled </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enabled</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Changes the data descriptor writing mode. </p>
<p>According to the ZIP format specification, a file inside archive may have a data descriptor immediately following the file data. This is reflected by a special flag in the local file header and in the central directory. By default, QuaZIP sets this flag and writes the data descriptor unless both method and level were set to 0, in which case it operates in 1.0-compatible mode and never writes data descriptors.</p>
<p>By setting this flag to false, it is possible to disable data descriptor writing, thus increasing compatibility with archive readers that don't understand this feature of the ZIP file format.</p>
<p>Setting this flag affects all the <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> instances that are opened after this flag is set.</p>
<p>The data descriptor writing mode is enabled by default.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">enabled</td><td>If <code>true</code>, enable local descriptor writing, disable it otherwise.</td></tr>
</table>
</dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd>QuaZipFile::setDataDescriptorWritingEnabled() </dd></dl>
</div>
</div>
<a class="anchor" id="ae5c665a59447c2d30e63e9c6df48ebb7"></a><!-- doxytag: member="QuaZip::isDataDescriptorWritingEnabled" ref="ae5c665a59447c2d30e63e9c6df48ebb7" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool QuaZip::isDataDescriptorWritingEnabled </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the data descriptor default writing mode. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQuaZip.html#a6c23a12af88f7ea5edd4f9c0a24b9453" title="Changes the data descriptor writing mode.">setDataDescriptorWritingEnabled()</a> </dd></dl>
<p>Referenced by <a class="el" href="classQuaZipFile.html#a2429ea59c77371d7af56d739db130b18">QuaZipFile::open()</a>.</p>
</div>
</div>
<a class="anchor" id="abb38d8b4c9c4ae0728b48caae9dd82de"></a><!-- doxytag: member="QuaZip::getFileNameList" ref="abb38d8b4c9c4ae0728b48caae9dd82de" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QStringList QuaZip::getFileNameList </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns a list of files inside the archive. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A list of file names or an empty list if there was an error or if the archive is empty (call <a class="el" href="classQuaZip.html#a28b91a6282ddd9382c96a069572c6fb4" title="Returns the error code of the last operation.">getZipError()</a> to figure out which). </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQuaZip.html#a7486af66bede8e131db0cd2e81881387" title="Returns information list about all files inside the archive.">getFileInfoList()</a> </dd></dl>
</div>
</div>
<a class="anchor" id="a7486af66bede8e131db0cd2e81881387"></a><!-- doxytag: member="QuaZip::getFileInfoList" ref="a7486af66bede8e131db0cd2e81881387" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QList&lt; <a class="el" href="structQuaZipFileInfo.html">QuaZipFileInfo</a> &gt; QuaZip::getFileInfoList </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns information list about all files inside the archive. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A list of <a class="el" href="structQuaZipFileInfo.html" title="Information about a file inside archive.">QuaZipFileInfo</a> objects or an empty list if there was an error or if the archive is empty (call <a class="el" href="classQuaZip.html#a28b91a6282ddd9382c96a069572c6fb4" title="Returns the error code of the last operation.">getZipError()</a> to figure out which). </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQuaZip.html#abb38d8b4c9c4ae0728b48caae9dd82de" title="Returns a list of files inside the archive.">getFileNameList()</a> </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>quazip/<a class="el" href="quazip_8h_source.html">quazip.h</a></li>
<li>quazip/quazip.cpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,81 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">QuaZipDir Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classQuaZipDir.html">QuaZipDir</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classQuaZipDir.html#ad7ab403a8d36a3b6149da86ea37178f8">caseSensitivity</a>() const </td><td><a class="el" href="classQuaZipDir.html">QuaZipDir</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipDir.html#aa829afc0243f1d307302f1167edecc7b">cd</a>(const QString &amp;dirName)</td><td><a class="el" href="classQuaZipDir.html">QuaZipDir</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipDir.html#a62306db3f4c0866930fa35c7348b84b3">cdUp</a>()</td><td><a class="el" href="classQuaZipDir.html">QuaZipDir</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipDir.html#aa3f14665e3991351f4ef94ab8e0ab29d">count</a>() const </td><td><a class="el" href="classQuaZipDir.html">QuaZipDir</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipDir.html#afd2f76410f7728a7166b7598926fbf96">dirName</a>() const </td><td><a class="el" href="classQuaZipDir.html">QuaZipDir</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipDir.html#aef966735a146fc10c9527c236aa89261">entryInfoList</a>(const QStringList &amp;nameFilters, QDir::Filters filters=QDir::NoFilter, QDir::SortFlags sort=QDir::NoSort) const </td><td><a class="el" href="classQuaZipDir.html">QuaZipDir</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipDir.html#abec530f15597ddf8c8d1f340a333f7aa">entryInfoList</a>(QDir::Filters filters=QDir::NoFilter, QDir::SortFlags sort=QDir::NoSort) const </td><td><a class="el" href="classQuaZipDir.html">QuaZipDir</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipDir.html#a4a32faa77c4120cd3c6db4b683fa16d9">entryList</a>(const QStringList &amp;nameFilters, QDir::Filters filters=QDir::NoFilter, QDir::SortFlags sort=QDir::NoSort) const </td><td><a class="el" href="classQuaZipDir.html">QuaZipDir</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipDir.html#ab20e9d3de675b74fcacc98accbc1d766">entryList</a>(QDir::Filters filters=QDir::NoFilter, QDir::SortFlags sort=QDir::NoSort) const </td><td><a class="el" href="classQuaZipDir.html">QuaZipDir</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipDir.html#aacb488fec6e951ac80e5d473534fee97">exists</a>(const QString &amp;fileName) const </td><td><a class="el" href="classQuaZipDir.html">QuaZipDir</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipDir.html#a22c8f63ce874f5c0e958ae5f42e6d004">exists</a>() const </td><td><a class="el" href="classQuaZipDir.html">QuaZipDir</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipDir.html#ae8b576a150f8d62c902067603cbc97ae">filePath</a>(const QString &amp;fileName) const </td><td><a class="el" href="classQuaZipDir.html">QuaZipDir</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipDir.html#abeee1810c7c1c1af93364081dbf70d38">filter</a>()</td><td><a class="el" href="classQuaZipDir.html">QuaZipDir</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipDir.html#a598fdf23f1b37e1876476e5969040a32">isRoot</a>() const </td><td><a class="el" href="classQuaZipDir.html">QuaZipDir</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipDir.html#a00f18e23abb8cac04f975e7f31553f2e">nameFilters</a>() const </td><td><a class="el" href="classQuaZipDir.html">QuaZipDir</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipDir.html#a6e60d858d05774c958215ee7741eceed">operator!=</a>(const QuaZipDir &amp;that)</td><td><a class="el" href="classQuaZipDir.html">QuaZipDir</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipDir.html#aa603c69be0c1597add5951b19f8bc961">operator=</a>(const QuaZipDir &amp;that)</td><td><a class="el" href="classQuaZipDir.html">QuaZipDir</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipDir.html#a4a2e07484c7159a3f469922ba2383547">operator==</a>(const QuaZipDir &amp;that)</td><td><a class="el" href="classQuaZipDir.html">QuaZipDir</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipDir.html#a9e37ef5318c44a4575c58d66110e535a">operator[]</a>(int pos) const </td><td><a class="el" href="classQuaZipDir.html">QuaZipDir</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipDir.html#a68ac82ad605c0b10f9ee1a2d6d474f52">path</a>() const </td><td><a class="el" href="classQuaZipDir.html">QuaZipDir</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipDir.html#a6c9cc8b74c52d3fe997b753370566690">QuaZipDir</a>(const QuaZipDir &amp;that)</td><td><a class="el" href="classQuaZipDir.html">QuaZipDir</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipDir.html#a19e5e3a54f322ce03e7f7606a87a2ba1">QuaZipDir</a>(QuaZip *zip, const QString &amp;dir=QString())</td><td><a class="el" href="classQuaZipDir.html">QuaZipDir</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipDir.html#a2ae89c2b85786a0168656fc7a3faaf01">relativeFilePath</a>(const QString &amp;fileName) const </td><td><a class="el" href="classQuaZipDir.html">QuaZipDir</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipDir.html#ad53c720975bb0c49a823355f7d518793">setCaseSensitivity</a>(QuaZip::CaseSensitivity caseSensitivity)</td><td><a class="el" href="classQuaZipDir.html">QuaZipDir</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipDir.html#a779a43641f0f3802678e39c9acd1fddb">setFilter</a>(QDir::Filters filters)</td><td><a class="el" href="classQuaZipDir.html">QuaZipDir</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipDir.html#abcf208bfd6136e14f36725ae79dce2be">setNameFilters</a>(const QStringList &amp;nameFilters)</td><td><a class="el" href="classQuaZipDir.html">QuaZipDir</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipDir.html#ae82d06e43856414c30583205d337c111">setPath</a>(const QString &amp;path)</td><td><a class="el" href="classQuaZipDir.html">QuaZipDir</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipDir.html#ae43e9d717e3c4b1c0d4790cf558e7451">setSorting</a>(QDir::SortFlags sort)</td><td><a class="el" href="classQuaZipDir.html">QuaZipDir</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipDir.html#a4000523c961ab9e0cad08641ff10e3fa">sorting</a>() const </td><td><a class="el" href="classQuaZipDir.html">QuaZipDir</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipDir.html#ae95d60e2c23e611723371bf8fff2b095">~QuaZipDir</a>()</td><td><a class="el" href="classQuaZipDir.html">QuaZipDir</a></td><td></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,527 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: QuaZipDir Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">QuaZipDir Class Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="QuaZipDir" -->
<p>Provides ZIP archive navigation.
<a href="classQuaZipDir.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="quazipdir_8h_source.html">quazipdir.h</a>&gt;</code></p>
<p><a href="classQuaZipDir-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6c9cc8b74c52d3fe997b753370566690"></a><!-- doxytag: member="QuaZipDir::QuaZipDir" ref="a6c9cc8b74c52d3fe997b753370566690" args="(const QuaZipDir &amp;that)" -->
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipDir.html#a6c9cc8b74c52d3fe997b753370566690">QuaZipDir</a> (const <a class="el" href="classQuaZipDir.html">QuaZipDir</a> &amp;that)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The copy constructor. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipDir.html#a19e5e3a54f322ce03e7f7606a87a2ba1">QuaZipDir</a> (<a class="el" href="classQuaZip.html">QuaZip</a> *zip, const QString &amp;dir=QString())</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a <a class="el" href="classQuaZipDir.html" title="Provides ZIP archive navigation.">QuaZipDir</a> instance pointing to the specified directory. <a href="#a19e5e3a54f322ce03e7f7606a87a2ba1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae95d60e2c23e611723371bf8fff2b095"></a><!-- doxytag: member="QuaZipDir::~QuaZipDir" ref="ae95d60e2c23e611723371bf8fff2b095" args="()" -->
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipDir.html#ae95d60e2c23e611723371bf8fff2b095">~QuaZipDir</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4a2e07484c7159a3f469922ba2383547"></a><!-- doxytag: member="QuaZipDir::operator==" ref="a4a2e07484c7159a3f469922ba2383547" args="(const QuaZipDir &amp;that)" -->
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipDir.html#a4a2e07484c7159a3f469922ba2383547">operator==</a> (const <a class="el" href="classQuaZipDir.html">QuaZipDir</a> &amp;that)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The assignment operator. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipDir.html#a6e60d858d05774c958215ee7741eceed">operator!=</a> (const <a class="el" href="classQuaZipDir.html">QuaZipDir</a> &amp;that)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">operator!= <a href="#a6e60d858d05774c958215ee7741eceed"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQuaZipDir.html">QuaZipDir</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipDir.html#aa603c69be0c1597add5951b19f8bc961">operator=</a> (const <a class="el" href="classQuaZipDir.html">QuaZipDir</a> &amp;that)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">operator== <a href="#aa603c69be0c1597add5951b19f8bc961"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9e37ef5318c44a4575c58d66110e535a"></a><!-- doxytag: member="QuaZipDir::operator[]" ref="a9e37ef5318c44a4575c58d66110e535a" args="(int pos) const " -->
QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipDir.html#a9e37ef5318c44a4575c58d66110e535a">operator[]</a> (int pos) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of the entry at the specified position. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7ab403a8d36a3b6149da86ea37178f8"></a><!-- doxytag: member="QuaZipDir::caseSensitivity" ref="ad7ab403a8d36a3b6149da86ea37178f8" args="() const " -->
<a class="el" href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbe">QuaZip::CaseSensitivity</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipDir.html#ad7ab403a8d36a3b6149da86ea37178f8">caseSensitivity</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the current case sensitivity mode. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipDir.html#aa829afc0243f1d307302f1167edecc7b">cd</a> (const QString &amp;dirName)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes the 'current' directory. <a href="#aa829afc0243f1d307302f1167edecc7b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a62306db3f4c0866930fa35c7348b84b3"></a><!-- doxytag: member="QuaZipDir::cdUp" ref="a62306db3f4c0866930fa35c7348b84b3" args="()" -->
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipDir.html#a62306db3f4c0866930fa35c7348b84b3">cdUp</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Goes up. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa3f14665e3991351f4ef94ab8e0ab29d"></a><!-- doxytag: member="QuaZipDir::count" ref="aa3f14665e3991351f4ef94ab8e0ab29d" args="() const " -->
uint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipDir.html#aa3f14665e3991351f4ef94ab8e0ab29d">count</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of entries in the directory. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipDir.html#afd2f76410f7728a7166b7598926fbf96">dirName</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the current directory name. <a href="#afd2f76410f7728a7166b7598926fbf96"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">QList&lt; <a class="el" href="structQuaZipFileInfo.html">QuaZipFileInfo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipDir.html#aef966735a146fc10c9527c236aa89261">entryInfoList</a> (const QStringList &amp;nameFilters, QDir::Filters filters=QDir::NoFilter, QDir::SortFlags sort=QDir::NoSort) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the list of the entries in the directory. <a href="#aef966735a146fc10c9527c236aa89261"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">QList&lt; <a class="el" href="structQuaZipFileInfo.html">QuaZipFileInfo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipDir.html#abec530f15597ddf8c8d1f340a333f7aa">entryInfoList</a> (QDir::Filters filters=QDir::NoFilter, QDir::SortFlags sort=QDir::NoSort) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the list of the entries in the directory. <a href="#abec530f15597ddf8c8d1f340a333f7aa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">QStringList&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipDir.html#a4a32faa77c4120cd3c6db4b683fa16d9">entryList</a> (const QStringList &amp;nameFilters, QDir::Filters filters=QDir::NoFilter, QDir::SortFlags sort=QDir::NoSort) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the list of the entry names in the directory. <a href="#a4a32faa77c4120cd3c6db4b683fa16d9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">QStringList&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipDir.html#ab20e9d3de675b74fcacc98accbc1d766">entryList</a> (QDir::Filters filters=QDir::NoFilter, QDir::SortFlags sort=QDir::NoSort) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the list of the entry names in the directory. <a href="#ab20e9d3de675b74fcacc98accbc1d766"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipDir.html#aacb488fec6e951ac80e5d473534fee97">exists</a> (const QString &amp;fileName) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns <code>true</code> if the entry with the specified name exists. <a href="#aacb488fec6e951ac80e5d473534fee97"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a22c8f63ce874f5c0e958ae5f42e6d004"></a><!-- doxytag: member="QuaZipDir::exists" ref="a22c8f63ce874f5c0e958ae5f42e6d004" args="() const " -->
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipDir.html#a22c8f63ce874f5c0e958ae5f42e6d004">exists</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return <code>true</code> if the directory pointed by this <a class="el" href="classQuaZipDir.html" title="Provides ZIP archive navigation.">QuaZipDir</a> exists. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipDir.html#ae8b576a150f8d62c902067603cbc97ae">filePath</a> (const QString &amp;fileName) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the full path to the specified file. <a href="#ae8b576a150f8d62c902067603cbc97ae"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abeee1810c7c1c1af93364081dbf70d38"></a><!-- doxytag: member="QuaZipDir::filter" ref="abeee1810c7c1c1af93364081dbf70d38" args="()" -->
QDir::Filters&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipDir.html#abeee1810c7c1c1af93364081dbf70d38">filter</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the default filter. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipDir.html#a598fdf23f1b37e1876476e5969040a32">isRoot</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns if the <a class="el" href="classQuaZipDir.html" title="Provides ZIP archive navigation.">QuaZipDir</a> points to the root of the archive. <a href="#a598fdf23f1b37e1876476e5969040a32"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a00f18e23abb8cac04f975e7f31553f2e"></a><!-- doxytag: member="QuaZipDir::nameFilters" ref="a00f18e23abb8cac04f975e7f31553f2e" args="() const " -->
QStringList&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipDir.html#a00f18e23abb8cac04f975e7f31553f2e">nameFilters</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the default name filter. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipDir.html#a68ac82ad605c0b10f9ee1a2d6d474f52">path</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the path to the current dir. <a href="#a68ac82ad605c0b10f9ee1a2d6d474f52"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2ae89c2b85786a0168656fc7a3faaf01"></a><!-- doxytag: member="QuaZipDir::relativeFilePath" ref="a2ae89c2b85786a0168656fc7a3faaf01" args="(const QString &amp;fileName) const " -->
QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipDir.html#a2ae89c2b85786a0168656fc7a3faaf01">relativeFilePath</a> (const QString &amp;fileName) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the path to the specified file relative to the current dir. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad53c720975bb0c49a823355f7d518793"></a><!-- doxytag: member="QuaZipDir::setCaseSensitivity" ref="ad53c720975bb0c49a823355f7d518793" args="(QuaZip::CaseSensitivity caseSensitivity)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipDir.html#ad53c720975bb0c49a823355f7d518793">setCaseSensitivity</a> (<a class="el" href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbe">QuaZip::CaseSensitivity</a> caseSensitivity)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the default case sensitivity mode. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a779a43641f0f3802678e39c9acd1fddb"></a><!-- doxytag: member="QuaZipDir::setFilter" ref="a779a43641f0f3802678e39c9acd1fddb" args="(QDir::Filters filters)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipDir.html#a779a43641f0f3802678e39c9acd1fddb">setFilter</a> (QDir::Filters filters)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the default filter. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abcf208bfd6136e14f36725ae79dce2be"></a><!-- doxytag: member="QuaZipDir::setNameFilters" ref="abcf208bfd6136e14f36725ae79dce2be" args="(const QStringList &amp;nameFilters)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipDir.html#abcf208bfd6136e14f36725ae79dce2be">setNameFilters</a> (const QStringList &amp;nameFilters)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the default name filter. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipDir.html#ae82d06e43856414c30583205d337c111">setPath</a> (const QString &amp;path)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Goes to the specified path. <a href="#ae82d06e43856414c30583205d337c111"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae43e9d717e3c4b1c0d4790cf558e7451"></a><!-- doxytag: member="QuaZipDir::setSorting" ref="ae43e9d717e3c4b1c0d4790cf558e7451" args="(QDir::SortFlags sort)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipDir.html#ae43e9d717e3c4b1c0d4790cf558e7451">setSorting</a> (QDir::SortFlags sort)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the default sorting mode. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4000523c961ab9e0cad08641ff10e3fa"></a><!-- doxytag: member="QuaZipDir::sorting" ref="a4000523c961ab9e0cad08641ff10e3fa" args="() const " -->
QDir::SortFlags&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipDir.html#a4000523c961ab9e0cad08641ff10e3fa">sorting</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the default sorting mode. <br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Provides ZIP archive navigation. </p>
<p>This class is modelled after QDir, and is designed to provide similar features for ZIP archives.</p>
<p>The only significant difference from QDir is that the root path is not '/', but an empty string since that's how the file paths are stored in the archive. However, <a class="el" href="classQuaZipDir.html" title="Provides ZIP archive navigation.">QuaZipDir</a> understands the paths starting with '/'. It is important in a few places:</p>
<ul>
<li>In the <a class="el" href="classQuaZipDir.html#aa829afc0243f1d307302f1167edecc7b" title="Changes the &#39;current&#39; directory.">cd()</a> function.</li>
<li>In the constructor.</li>
<li>In the <a class="el" href="classQuaZipDir.html#aacb488fec6e951ac80e5d473534fee97" title="Returns true if the entry with the specified name exists.">exists()</a> function.</li>
</ul>
<p>Note that since ZIP uses '/' on all platforms, the '\' separator is not supported. </p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a19e5e3a54f322ce03e7f7606a87a2ba1"></a><!-- doxytag: member="QuaZipDir::QuaZipDir" ref="a19e5e3a54f322ce03e7f7606a87a2ba1" args="(QuaZip *zip, const QString &amp;dir=QString())" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QuaZipDir::QuaZipDir </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classQuaZip.html">QuaZip</a> *&#160;</td>
<td class="paramname"><em>zip</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>dir</em> = <code>QString()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Constructs a <a class="el" href="classQuaZipDir.html" title="Provides ZIP archive navigation.">QuaZipDir</a> instance pointing to the specified directory. </p>
<p>If <em>dir</em> is not specified, points to the root of the archive. The same happens if the <em>dir</em> is "/". </p>
</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a6e60d858d05774c958215ee7741eceed"></a><!-- doxytag: member="QuaZipDir::operator!=" ref="a6e60d858d05774c958215ee7741eceed" args="(const QuaZipDir &amp;that)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool QuaZipDir::operator!= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classQuaZipDir.html">QuaZipDir</a> &amp;&#160;</td>
<td class="paramname"><em>that</em></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>operator!= </p>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if either this and <em>that</em> use different <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> instances or if they point to different directories. </dd></dl>
</div>
</div>
<a class="anchor" id="aa603c69be0c1597add5951b19f8bc961"></a><!-- doxytag: member="QuaZipDir::operator=" ref="aa603c69be0c1597add5951b19f8bc961" args="(const QuaZipDir &amp;that)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classQuaZipDir.html">QuaZipDir</a> &amp; QuaZipDir::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classQuaZipDir.html">QuaZipDir</a> &amp;&#160;</td>
<td class="paramname"><em>that</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>operator== </p>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if both this and <em>that</em> use the same <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> instance and point to the same directory. </dd></dl>
</div>
</div>
<a class="anchor" id="aa829afc0243f1d307302f1167edecc7b"></a><!-- doxytag: member="QuaZipDir::cd" ref="aa829afc0243f1d307302f1167edecc7b" args="(const QString &amp;dirName)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool QuaZipDir::cd </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>dirName</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Changes the 'current' directory. </p>
<p>If the path starts with '/', it is interpreted as an absolute path from the root of the archive. Otherwise, it is interpreted as a path relative to the current directory as was set by the previous <a class="el" href="classQuaZipDir.html#aa829afc0243f1d307302f1167edecc7b" title="Changes the &#39;current&#39; directory.">cd()</a> or the constructor.</p>
<p>Note that the subsequent <a class="el" href="classQuaZipDir.html#a68ac82ad605c0b10f9ee1a2d6d474f52" title="Returns the path to the current dir.">path()</a> call will not return a path starting with '/' in all cases. </p>
<p>References <a class="el" href="classQuaZipDir.html#aa829afc0243f1d307302f1167edecc7b">cd()</a>, <a class="el" href="classQuaZipDir.html#afd2f76410f7728a7166b7598926fbf96">dirName()</a>, <a class="el" href="classQuaZipDir.html#a22c8f63ce874f5c0e958ae5f42e6d004">exists()</a>, <a class="el" href="classQuaZipDir.html#a598fdf23f1b37e1876476e5969040a32">isRoot()</a>, and <a class="el" href="classQuaZipDir.html#a68ac82ad605c0b10f9ee1a2d6d474f52">path()</a>.</p>
<p>Referenced by <a class="el" href="classQuaZipDir.html#aa829afc0243f1d307302f1167edecc7b">cd()</a>, and <a class="el" href="classQuaZipDir.html#a62306db3f4c0866930fa35c7348b84b3">cdUp()</a>.</p>
</div>
</div>
<a class="anchor" id="afd2f76410f7728a7166b7598926fbf96"></a><!-- doxytag: member="QuaZipDir::dirName" ref="afd2f76410f7728a7166b7598926fbf96" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QString QuaZipDir::dirName </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the current directory name. </p>
<p>The name doesn't include the path. </p>
<p>Referenced by <a class="el" href="classQuaZipDir.html#aa829afc0243f1d307302f1167edecc7b">cd()</a>.</p>
</div>
</div>
<a class="anchor" id="aef966735a146fc10c9527c236aa89261"></a><!-- doxytag: member="QuaZipDir::entryInfoList" ref="aef966735a146fc10c9527c236aa89261" args="(const QStringList &amp;nameFilters, QDir::Filters filters=QDir::NoFilter, QDir::SortFlags sort=QDir::NoSort) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QList&lt; <a class="el" href="structQuaZipFileInfo.html">QuaZipFileInfo</a> &gt; QuaZipDir::entryInfoList </td>
<td>(</td>
<td class="paramtype">const QStringList &amp;&#160;</td>
<td class="paramname"><em>nameFilters</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">QDir::Filters&#160;</td>
<td class="paramname"><em>filters</em> = <code>QDir::NoFilter</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">QDir::SortFlags&#160;</td>
<td class="paramname"><em>sort</em> = <code>QDir::NoSort</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the list of the entries in the directory. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">nameFilters</td><td>The list of file patterns to list, uses the same syntax as QDir. </td></tr>
<tr><td class="paramname">filters</td><td>The entry type filters, only Files and Dirs are accepted. </td></tr>
<tr><td class="paramname">sort</td><td>Sorting mode (not supported yet).</td></tr>
</table>
</dd>
</dl>
<p>Referenced by <a class="el" href="classQuaZipDir.html#abec530f15597ddf8c8d1f340a333f7aa">entryInfoList()</a>.</p>
</div>
</div>
<a class="anchor" id="abec530f15597ddf8c8d1f340a333f7aa"></a><!-- doxytag: member="QuaZipDir::entryInfoList" ref="abec530f15597ddf8c8d1f340a333f7aa" args="(QDir::Filters filters=QDir::NoFilter, QDir::SortFlags sort=QDir::NoSort) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QList&lt; <a class="el" href="structQuaZipFileInfo.html">QuaZipFileInfo</a> &gt; QuaZipDir::entryInfoList </td>
<td>(</td>
<td class="paramtype">QDir::Filters&#160;</td>
<td class="paramname"><em>filters</em> = <code>QDir::NoFilter</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">QDir::SortFlags&#160;</td>
<td class="paramname"><em>sort</em> = <code>QDir::NoSort</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the list of the entries in the directory. </p>
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. The same as entryInfoList(QStringList(), filters, sort). </p>
<p>References <a class="el" href="classQuaZipDir.html#aef966735a146fc10c9527c236aa89261">entryInfoList()</a>.</p>
</div>
</div>
<a class="anchor" id="a4a32faa77c4120cd3c6db4b683fa16d9"></a><!-- doxytag: member="QuaZipDir::entryList" ref="a4a32faa77c4120cd3c6db4b683fa16d9" args="(const QStringList &amp;nameFilters, QDir::Filters filters=QDir::NoFilter, QDir::SortFlags sort=QDir::NoSort) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QStringList QuaZipDir::entryList </td>
<td>(</td>
<td class="paramtype">const QStringList &amp;&#160;</td>
<td class="paramname"><em>nameFilters</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">QDir::Filters&#160;</td>
<td class="paramname"><em>filters</em> = <code>QDir::NoFilter</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">QDir::SortFlags&#160;</td>
<td class="paramname"><em>sort</em> = <code>QDir::NoSort</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the list of the entry names in the directory. </p>
<p>The same as entryInfoList(nameFilters, filters, sort), but only returns entry names. </p>
<p>Referenced by <a class="el" href="classQuaZipDir.html#aa3f14665e3991351f4ef94ab8e0ab29d">count()</a>, <a class="el" href="classQuaZipDir.html#ab20e9d3de675b74fcacc98accbc1d766">entryList()</a>, <a class="el" href="classQuaZipDir.html#aacb488fec6e951ac80e5d473534fee97">exists()</a>, and <a class="el" href="classQuaZipDir.html#a9e37ef5318c44a4575c58d66110e535a">operator[]()</a>.</p>
</div>
</div>
<a class="anchor" id="ab20e9d3de675b74fcacc98accbc1d766"></a><!-- doxytag: member="QuaZipDir::entryList" ref="ab20e9d3de675b74fcacc98accbc1d766" args="(QDir::Filters filters=QDir::NoFilter, QDir::SortFlags sort=QDir::NoSort) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QStringList QuaZipDir::entryList </td>
<td>(</td>
<td class="paramtype">QDir::Filters&#160;</td>
<td class="paramname"><em>filters</em> = <code>QDir::NoFilter</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">QDir::SortFlags&#160;</td>
<td class="paramname"><em>sort</em> = <code>QDir::NoSort</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the list of the entry names in the directory. </p>
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. The same as entryList(QStringList(), filters, sort). </p>
<p>References <a class="el" href="classQuaZipDir.html#a4a32faa77c4120cd3c6db4b683fa16d9">entryList()</a>.</p>
</div>
</div>
<a class="anchor" id="aacb488fec6e951ac80e5d473534fee97"></a><!-- doxytag: member="QuaZipDir::exists" ref="aacb488fec6e951ac80e5d473534fee97" args="(const QString &amp;fileName) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool QuaZipDir::exists </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>fileName</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns <code>true</code> if the entry with the specified name exists. </p>
<p>The ".." is considered to exist if the current directory is not root. The "." and "/" are considered to always exist. Paths starting with "/" are relative to the archive root, other paths are relative to the current dir. </p>
<p>References <a class="el" href="classQuaZip.html#a1d3fbd445a8e9d3449ded7371931c6b3">QuaZip::convertCaseSensitivity()</a>, <a class="el" href="classQuaZipDir.html#a4a32faa77c4120cd3c6db4b683fa16d9">entryList()</a>, <a class="el" href="classQuaZipDir.html#ae8b576a150f8d62c902067603cbc97ae">filePath()</a>, and <a class="el" href="classQuaZipDir.html#a598fdf23f1b37e1876476e5969040a32">isRoot()</a>.</p>
</div>
</div>
<a class="anchor" id="ae8b576a150f8d62c902067603cbc97ae"></a><!-- doxytag: member="QuaZipDir::filePath" ref="ae8b576a150f8d62c902067603cbc97ae" args="(const QString &amp;fileName) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QString QuaZipDir::filePath </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>fileName</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the full path to the specified file. </p>
<p>Doesn't check if the file actually exists. </p>
<p>Referenced by <a class="el" href="classQuaZipDir.html#aacb488fec6e951ac80e5d473534fee97">exists()</a>.</p>
</div>
</div>
<a class="anchor" id="a598fdf23f1b37e1876476e5969040a32"></a><!-- doxytag: member="QuaZipDir::isRoot" ref="a598fdf23f1b37e1876476e5969040a32" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool QuaZipDir::isRoot </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns if the <a class="el" href="classQuaZipDir.html" title="Provides ZIP archive navigation.">QuaZipDir</a> points to the root of the archive. </p>
<p>Not that the root path is the empty string, not '/'. </p>
<p>Referenced by <a class="el" href="classQuaZipDir.html#aa829afc0243f1d307302f1167edecc7b">cd()</a>, and <a class="el" href="classQuaZipDir.html#aacb488fec6e951ac80e5d473534fee97">exists()</a>.</p>
</div>
</div>
<a class="anchor" id="a68ac82ad605c0b10f9ee1a2d6d474f52"></a><!-- doxytag: member="QuaZipDir::path" ref="a68ac82ad605c0b10f9ee1a2d6d474f52" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QString QuaZipDir::path </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the path to the current dir. </p>
<p>The path never starts with '/', and the root path is an empty string. </p>
<p>Referenced by <a class="el" href="classQuaZipDir.html#aa829afc0243f1d307302f1167edecc7b">cd()</a>, and <a class="el" href="classQuaZipDir.html#ae82d06e43856414c30583205d337c111">setPath()</a>.</p>
</div>
</div>
<a class="anchor" id="ae82d06e43856414c30583205d337c111"></a><!-- doxytag: member="QuaZipDir::setPath" ref="ae82d06e43856414c30583205d337c111" args="(const QString &amp;path)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void QuaZipDir::setPath </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>path</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Goes to the specified path. </p>
<p>The difference from <a class="el" href="classQuaZipDir.html#aa829afc0243f1d307302f1167edecc7b" title="Changes the &#39;current&#39; directory.">cd()</a> is that this function never checks if the path actually exists and doesn't use relative paths, so it's possible to go to the root directory with setPath("").</p>
<p>Note that this function still chops the trailing and/or leading '/' and treats a single '/' as the root path (<a class="el" href="classQuaZipDir.html#a68ac82ad605c0b10f9ee1a2d6d474f52" title="Returns the path to the current dir.">path()</a> will still return an empty string). </p>
<p>References <a class="el" href="classQuaZipDir.html#a68ac82ad605c0b10f9ee1a2d6d474f52">path()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>quazip/<a class="el" href="quazipdir_8h_source.html">quazipdir.h</a></li>
<li>quazip/quazipdir.cpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,83 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">QuaZipFile Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classQuaZipFile.html">QuaZipFile</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classQuaZipFile.html#a1e3f4c3c075da98af426fc167440cfc3">atEnd</a>() const </td><td><a class="el" href="classQuaZipFile.html">QuaZipFile</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipFile.html#a29fbfb34677f69394ae7c986ffd3a0c1">bytesAvailable</a>() const </td><td><a class="el" href="classQuaZipFile.html">QuaZipFile</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipFile.html#a42a39b12619bccd3d419ee60bbb3fcf6">close</a>()</td><td><a class="el" href="classQuaZipFile.html">QuaZipFile</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipFile.html#ac4da08e5cdec368a2a686775f7dc5639">csize</a>() const </td><td><a class="el" href="classQuaZipFile.html">QuaZipFile</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipFile.html#a7b8e3c39026855cd98661a1b2815c220">getActualFileName</a>() const </td><td><a class="el" href="classQuaZipFile.html">QuaZipFile</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipFile.html#a25dbfddc589bf6b69b39905f3c3bcc73">getCaseSensitivity</a>() const </td><td><a class="el" href="classQuaZipFile.html">QuaZipFile</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipFile.html#ad3f5807329321be21b12c1ba5798b359">getFileInfo</a>(QuaZipFileInfo *info)</td><td><a class="el" href="classQuaZipFile.html">QuaZipFile</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipFile.html#a6999362e70a5b2396fba5cfb30095ff9">getFileName</a>() const </td><td><a class="el" href="classQuaZipFile.html">QuaZipFile</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipFile.html#a72daf8a9da14907a801a783603003205">getZip</a>() const </td><td><a class="el" href="classQuaZipFile.html">QuaZipFile</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipFile.html#a26d2ee56aad947193b73052f80597ef0">getZipError</a>() const </td><td><a class="el" href="classQuaZipFile.html">QuaZipFile</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipFile.html#a6f034a714aa94631367590de3f8f4e22">getZipName</a>() const </td><td><a class="el" href="classQuaZipFile.html">QuaZipFile</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipFile.html#a0df3db94c2a34c8d17ddaa0f54fc32c1">isRaw</a>() const </td><td><a class="el" href="classQuaZipFile.html">QuaZipFile</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipFile.html#a64430ec50820c8096f963a7e5f53001f">isSequential</a>() const </td><td><a class="el" href="classQuaZipFile.html">QuaZipFile</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipFile.html#a4c20c0ef00ae79c9a59eafe2906c9384">open</a>(OpenMode mode)</td><td><a class="el" href="classQuaZipFile.html">QuaZipFile</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipFile.html#a0bff0d15bbcd70306dc4a553a55776b9">open</a>(OpenMode mode, const char *password)</td><td><a class="el" href="classQuaZipFile.html">QuaZipFile</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipFile.html#aed75bace51f2bb4c3e4f656ab4493aac">open</a>(OpenMode mode, int *method, int *level, bool raw, const char *password=NULL)</td><td><a class="el" href="classQuaZipFile.html">QuaZipFile</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipFile.html#a2429ea59c77371d7af56d739db130b18">open</a>(OpenMode mode, const QuaZipNewInfo &amp;info, const char *password=NULL, quint32 crc=0, int method=Z_DEFLATED, int level=Z_DEFAULT_COMPRESSION, bool raw=false, int windowBits=-MAX_WBITS, int memLevel=DEF_MEM_LEVEL, int strategy=Z_DEFAULT_STRATEGY)</td><td><a class="el" href="classQuaZipFile.html">QuaZipFile</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipFile.html#a90fd55dab83eca7f95df50b2c41b7f22">pos</a>() const </td><td><a class="el" href="classQuaZipFile.html">QuaZipFile</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipFile.html#ad31592e0e8a9eaa009c6c0e2040a2158">QuaZipFile</a>()</td><td><a class="el" href="classQuaZipFile.html">QuaZipFile</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipFile.html#a1349ad27f1947bc3e346d83dbf9586c4">QuaZipFile</a>(QObject *parent)</td><td><a class="el" href="classQuaZipFile.html">QuaZipFile</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipFile.html#ae614495d6b2404a6c59d7cfca5c3f6fd">QuaZipFile</a>(const QString &amp;zipName, QObject *parent=NULL)</td><td><a class="el" href="classQuaZipFile.html">QuaZipFile</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipFile.html#ac6e883b5a5d3a58c9c56eb497dd91220">QuaZipFile</a>(const QString &amp;zipName, const QString &amp;fileName, QuaZip::CaseSensitivity cs=QuaZip::csDefault, QObject *parent=NULL)</td><td><a class="el" href="classQuaZipFile.html">QuaZipFile</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipFile.html#a54e944a6b3d27030f64c8f30d2cc33bb">QuaZipFile</a>(QuaZip *zip, QObject *parent=NULL)</td><td><a class="el" href="classQuaZipFile.html">QuaZipFile</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><b>QuaZipFilePrivate</b> (defined in <a class="el" href="classQuaZipFile.html">QuaZipFile</a>)</td><td><a class="el" href="classQuaZipFile.html">QuaZipFile</a></td><td><code> [friend]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipFile.html#aa1f2274e1579327855a17d67a9046ec2">readData</a>(char *data, qint64 maxSize)</td><td><a class="el" href="classQuaZipFile.html">QuaZipFile</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipFile.html#a3732ca7704379d457b6a27db8837de95">setFileName</a>(const QString &amp;fileName, QuaZip::CaseSensitivity cs=QuaZip::csDefault)</td><td><a class="el" href="classQuaZipFile.html">QuaZipFile</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipFile.html#ab7939a26d1e8de2f6aca54f49a12b980">setZip</a>(QuaZip *zip)</td><td><a class="el" href="classQuaZipFile.html">QuaZipFile</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipFile.html#ac8109e9a5c19bea75982ff6986b5cb1e">setZipName</a>(const QString &amp;zipName)</td><td><a class="el" href="classQuaZipFile.html">QuaZipFile</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipFile.html#ad1a17cc690a01c3edfb82984c3a4c8f0">size</a>() const </td><td><a class="el" href="classQuaZipFile.html">QuaZipFile</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipFile.html#a4814b5e6e39fb254737b81ea10964f50">usize</a>() const </td><td><a class="el" href="classQuaZipFile.html">QuaZipFile</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipFile.html#abd07949a6fcc2ef094d2be5398bc8e7c">writeData</a>(const char *data, qint64 maxSize)</td><td><a class="el" href="classQuaZipFile.html">QuaZipFile</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipFile.html#aa1e5a0cf491bafae6cc73e649caa97fc">~QuaZipFile</a>()</td><td><a class="el" href="classQuaZipFile.html">QuaZipFile</a></td><td><code> [virtual]</code></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,932 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: QuaZipFile Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#friends">Friends</a> </div>
<div class="headertitle">
<div class="title">QuaZipFile Class Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="QuaZipFile" -->
<p>A file inside ZIP archive.
<a href="classQuaZipFile.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="quazipfile_8h_source.html">quazip/quazipfile.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for QuaZipFile:</div>
<div class="dyncontent">
<div class="center"><img src="classQuaZipFile__coll__graph.png" border="0" usemap="#QuaZipFile_coll__map" alt="Collaboration graph"/></div>
<map name="QuaZipFile_coll__map" id="QuaZipFile_coll__map">
<area shape="rect" id="node2" href="classQuaZipFilePrivate.html" title="The implementation class for QuaZip." alt="" coords="5,96,128,123"/> <area shape="rect" id="node4" href="classQuaZip.html" title="ZIP archive." alt="" coords="134,5,196,32"/> <area shape="rect" id="node6" href="classQuaZipPrivate.html" title="All the internal stuff for the QuaZip class." alt="" coords="153,96,255,123"/> </map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<p><a href="classQuaZipFile-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipFile.html#ad31592e0e8a9eaa009c6c0e2040a2158">QuaZipFile</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> instance. <a href="#ad31592e0e8a9eaa009c6c0e2040a2158"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipFile.html#a1349ad27f1947bc3e346d83dbf9586c4">QuaZipFile</a> (QObject *parent)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> instance. <a href="#a1349ad27f1947bc3e346d83dbf9586c4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipFile.html#ae614495d6b2404a6c59d7cfca5c3f6fd">QuaZipFile</a> (const QString &amp;zipName, QObject *parent=NULL)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> instance. <a href="#ae614495d6b2404a6c59d7cfca5c3f6fd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipFile.html#ac6e883b5a5d3a58c9c56eb497dd91220">QuaZipFile</a> (const QString &amp;zipName, const QString &amp;fileName, <a class="el" href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbe">QuaZip::CaseSensitivity</a> cs=QuaZip::csDefault, QObject *parent=NULL)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> instance. <a href="#ac6e883b5a5d3a58c9c56eb497dd91220"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipFile.html#a54e944a6b3d27030f64c8f30d2cc33bb">QuaZipFile</a> (<a class="el" href="classQuaZip.html">QuaZip</a> *zip, QObject *parent=NULL)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> instance. <a href="#a54e944a6b3d27030f64c8f30d2cc33bb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipFile.html#aa1e5a0cf491bafae6cc73e649caa97fc">~QuaZipFile</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys a <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> instance. <a href="#aa1e5a0cf491bafae6cc73e649caa97fc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipFile.html#a6f034a714aa94631367590de3f8f4e22">getZipName</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the ZIP archive file name. <a href="#a6f034a714aa94631367590de3f8f4e22"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQuaZip.html">QuaZip</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipFile.html#a72daf8a9da14907a801a783603003205">getZip</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a pointer to the associated <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> object. <a href="#a72daf8a9da14907a801a783603003205"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipFile.html#a6999362e70a5b2396fba5cfb30095ff9">getFileName</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns file name. <a href="#a6999362e70a5b2396fba5cfb30095ff9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbe">QuaZip::CaseSensitivity</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipFile.html#a25dbfddc589bf6b69b39905f3c3bcc73">getCaseSensitivity</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns case sensitivity of the file name. <a href="#a25dbfddc589bf6b69b39905f3c3bcc73"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipFile.html#a7b8e3c39026855cd98661a1b2815c220">getActualFileName</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the actual file name in the archive. <a href="#a7b8e3c39026855cd98661a1b2815c220"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipFile.html#ac8109e9a5c19bea75982ff6986b5cb1e">setZipName</a> (const QString &amp;zipName)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the ZIP archive file name. <a href="#ac8109e9a5c19bea75982ff6986b5cb1e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipFile.html#a0df3db94c2a34c8d17ddaa0f54fc32c1">isRaw</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns <code>true</code> if the file was opened in raw mode. <a href="#a0df3db94c2a34c8d17ddaa0f54fc32c1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipFile.html#ab7939a26d1e8de2f6aca54f49a12b980">setZip</a> (<a class="el" href="classQuaZip.html">QuaZip</a> *zip)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Binds to the existing <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> instance. <a href="#ab7939a26d1e8de2f6aca54f49a12b980"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipFile.html#a3732ca7704379d457b6a27db8837de95">setFileName</a> (const QString &amp;fileName, <a class="el" href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbe">QuaZip::CaseSensitivity</a> cs=QuaZip::csDefault)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the file name. <a href="#a3732ca7704379d457b6a27db8837de95"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipFile.html#a4c20c0ef00ae79c9a59eafe2906c9384">open</a> (OpenMode mode)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Opens a file for reading. <a href="#a4c20c0ef00ae79c9a59eafe2906c9384"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipFile.html#a0bff0d15bbcd70306dc4a553a55776b9">open</a> (OpenMode mode, const char *password)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Opens a file for reading. <a href="#a0bff0d15bbcd70306dc4a553a55776b9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipFile.html#aed75bace51f2bb4c3e4f656ab4493aac">open</a> (OpenMode mode, int *method, int *level, bool raw, const char *password=NULL)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Opens a file for reading. <a href="#aed75bace51f2bb4c3e4f656ab4493aac"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipFile.html#a2429ea59c77371d7af56d739db130b18">open</a> (OpenMode mode, const <a class="el" href="structQuaZipNewInfo.html">QuaZipNewInfo</a> &amp;info, const char *password=NULL, quint32 crc=0, int method=Z_DEFLATED, int level=Z_DEFAULT_COMPRESSION, bool raw=false, int windowBits=-MAX_WBITS, int memLevel=DEF_MEM_LEVEL, int strategy=Z_DEFAULT_STRATEGY)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Opens a file for writing. <a href="#a2429ea59c77371d7af56d739db130b18"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a64430ec50820c8096f963a7e5f53001f"></a><!-- doxytag: member="QuaZipFile::isSequential" ref="a64430ec50820c8096f963a7e5f53001f" args="() const " -->
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipFile.html#a64430ec50820c8096f963a7e5f53001f">isSequential</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns <code>true</code>, but <a class="el" href="classQuaZipFile.html#quazipfile-sequential">beware</a>! <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual qint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipFile.html#a90fd55dab83eca7f95df50b2c41b7f22">pos</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns current position in the file. <a href="#a90fd55dab83eca7f95df50b2c41b7f22"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipFile.html#a1e3f4c3c075da98af426fc167440cfc3">atEnd</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns <code>true</code> if the end of file was reached. <a href="#a1e3f4c3c075da98af426fc167440cfc3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual qint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipFile.html#ad1a17cc690a01c3edfb82984c3a4c8f0">size</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns file size. <a href="#ad1a17cc690a01c3edfb82984c3a4c8f0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">qint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipFile.html#ac4da08e5cdec368a2a686775f7dc5639">csize</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns compressed file size. <a href="#ac4da08e5cdec368a2a686775f7dc5639"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">qint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipFile.html#a4814b5e6e39fb254737b81ea10964f50">usize</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns uncompressed file size. <a href="#a4814b5e6e39fb254737b81ea10964f50"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipFile.html#ad3f5807329321be21b12c1ba5798b359">getFileInfo</a> (<a class="el" href="structQuaZipFileInfo.html">QuaZipFileInfo</a> *info)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets information about current file. <a href="#ad3f5807329321be21b12c1ba5798b359"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipFile.html#a42a39b12619bccd3d419ee60bbb3fcf6">close</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes the file. <a href="#a42a39b12619bccd3d419ee60bbb3fcf6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a26d2ee56aad947193b73052f80597ef0"></a><!-- doxytag: member="QuaZipFile::getZipError" ref="a26d2ee56aad947193b73052f80597ef0" args="() const " -->
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipFile.html#a26d2ee56aad947193b73052f80597ef0">getZipError</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the error code returned by the last ZIP/UNZIP API call. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a29fbfb34677f69394ae7c986ffd3a0c1"></a><!-- doxytag: member="QuaZipFile::bytesAvailable" ref="a29fbfb34677f69394ae7c986ffd3a0c1" args="() const " -->
virtual qint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipFile.html#a29fbfb34677f69394ae7c986ffd3a0c1">bytesAvailable</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of bytes available for reading. <br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa1f2274e1579327855a17d67a9046ec2"></a><!-- doxytag: member="QuaZipFile::readData" ref="aa1f2274e1579327855a17d67a9046ec2" args="(char *data, qint64 maxSize)" -->
qint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipFile.html#aa1f2274e1579327855a17d67a9046ec2">readData</a> (char *data, qint64 maxSize)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of the QIODevice::readData(). <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abd07949a6fcc2ef094d2be5398bc8e7c"></a><!-- doxytag: member="QuaZipFile::writeData" ref="abd07949a6fcc2ef094d2be5398bc8e7c" args="(const char *data, qint64 maxSize)" -->
qint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipFile.html#abd07949a6fcc2ef094d2be5398bc8e7c">writeData</a> (const char *data, qint64 maxSize)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of the QIODevice::writeData(). <br/></td></tr>
<tr><td colspan="2"><h2><a name="friends"></a>
Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abeded291f2788ca39fe2256d78f95266"></a><!-- doxytag: member="QuaZipFile::QuaZipFilePrivate" ref="abeded291f2788ca39fe2256d78f95266" args="" -->
class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipFile.html#abeded291f2788ca39fe2256d78f95266">QuaZipFilePrivate</a></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>A file inside ZIP archive. </p>
<p>This is the most interesting class. Not only it provides C++ interface to the ZIP/UNZIP package, but also integrates it with Qt by subclassing QIODevice. This makes possible to access files inside ZIP archive using QTextStream or QDataStream, for example. Actually, this is the main purpose of the whole QuaZIP library.</p>
<p>You can either use existing <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> instance to create instance of this class or pass ZIP archive file name to this class, in which case it will create internal <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> object. See constructors' descriptions for details. Writing is only possible with the existing instance.</p>
<p>Note that due to the underlying library's limitation it is not possible to use multiple <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> instances to open several files in the same archive at the same time. If you need to write to multiple files in parallel, then you should write to temporary files first, then pack them all at once when you have finished writing. If you need to read multiple files inside the same archive in parallel, you should extract them all into a temporary directory first.</p>
<h2><a class="anchor" id="quazipfile-sequential"></a>
Sequential or random-access?</h2>
<p>At the first thought, <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> has fixed size, the start and the end and should be therefore considered random-access device. But there is one major obstacle to making it random-access: ZIP/UNZIP API does not support seek() operation and the only way to implement it is through reopening the file and re-reading to the required position, but this is prohibitively slow.</p>
<p>Therefore, <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> is considered to be a sequential device. This has advantage of availability of the ungetChar() operation (QIODevice does not implement it properly for non-sequential devices unless they support seek()). Disadvantage is a somewhat strange behaviour of the <a class="el" href="classQuaZipFile.html#ad1a17cc690a01c3edfb82984c3a4c8f0" title="Returns file size.">size()</a> and <a class="el" href="classQuaZipFile.html#a90fd55dab83eca7f95df50b2c41b7f22" title="Returns current position in the file.">pos()</a> functions. This should be kept in mind while using this class. </p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ad31592e0e8a9eaa009c6c0e2040a2158"></a><!-- doxytag: member="QuaZipFile::QuaZipFile" ref="ad31592e0e8a9eaa009c6c0e2040a2158" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QuaZipFile::QuaZipFile </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Constructs a <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> instance. </p>
<p>You should use <a class="el" href="classQuaZipFile.html#ac8109e9a5c19bea75982ff6986b5cb1e" title="Sets the ZIP archive file name.">setZipName()</a> and <a class="el" href="classQuaZipFile.html#a3732ca7704379d457b6a27db8837de95" title="Sets the file name.">setFileName()</a> or <a class="el" href="classQuaZipFile.html#ab7939a26d1e8de2f6aca54f49a12b980" title="Binds to the existing QuaZip instance.">setZip()</a> before trying to call <a class="el" href="classQuaZipFile.html#a4c20c0ef00ae79c9a59eafe2906c9384" title="Opens a file for reading.">open()</a> on the constructed object. </p>
</div>
</div>
<a class="anchor" id="a1349ad27f1947bc3e346d83dbf9586c4"></a><!-- doxytag: member="QuaZipFile::QuaZipFile" ref="a1349ad27f1947bc3e346d83dbf9586c4" args="(QObject *parent)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QuaZipFile::QuaZipFile </td>
<td>(</td>
<td class="paramtype">QObject *&#160;</td>
<td class="paramname"><em>parent</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Constructs a <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> instance. </p>
<p><em>parent</em> argument specifies this object's parent object.</p>
<p>You should use <a class="el" href="classQuaZipFile.html#ac8109e9a5c19bea75982ff6986b5cb1e" title="Sets the ZIP archive file name.">setZipName()</a> and <a class="el" href="classQuaZipFile.html#a3732ca7704379d457b6a27db8837de95" title="Sets the file name.">setFileName()</a> or <a class="el" href="classQuaZipFile.html#ab7939a26d1e8de2f6aca54f49a12b980" title="Binds to the existing QuaZip instance.">setZip()</a> before trying to call <a class="el" href="classQuaZipFile.html#a4c20c0ef00ae79c9a59eafe2906c9384" title="Opens a file for reading.">open()</a> on the constructed object. </p>
</div>
</div>
<a class="anchor" id="ae614495d6b2404a6c59d7cfca5c3f6fd"></a><!-- doxytag: member="QuaZipFile::QuaZipFile" ref="ae614495d6b2404a6c59d7cfca5c3f6fd" args="(const QString &amp;zipName, QObject *parent=NULL)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QuaZipFile::QuaZipFile </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>zipName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">QObject *&#160;</td>
<td class="paramname"><em>parent</em> = <code>NULL</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Constructs a <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> instance. </p>
<p><em>parent</em> argument specifies this object's parent object and <em>zipName</em> specifies ZIP archive file name.</p>
<p>You should use <a class="el" href="classQuaZipFile.html#a3732ca7704379d457b6a27db8837de95" title="Sets the file name.">setFileName()</a> before trying to call <a class="el" href="classQuaZipFile.html#a4c20c0ef00ae79c9a59eafe2906c9384" title="Opens a file for reading.">open()</a> on the constructed object.</p>
<p><a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> constructed by this constructor can be used for read only access. Use <a class="el" href="classQuaZipFile.html#a54e944a6b3d27030f64c8f30d2cc33bb" title="Constructs a QuaZipFile instance.">QuaZipFile(QuaZip*,QObject*)</a> for writing. </p>
</div>
</div>
<a class="anchor" id="ac6e883b5a5d3a58c9c56eb497dd91220"></a><!-- doxytag: member="QuaZipFile::QuaZipFile" ref="ac6e883b5a5d3a58c9c56eb497dd91220" args="(const QString &amp;zipName, const QString &amp;fileName, QuaZip::CaseSensitivity cs=QuaZip::csDefault, QObject *parent=NULL)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QuaZipFile::QuaZipFile </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>zipName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>fileName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbe">QuaZip::CaseSensitivity</a>&#160;</td>
<td class="paramname"><em>cs</em> = <code>QuaZip::csDefault</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">QObject *&#160;</td>
<td class="paramname"><em>parent</em> = <code>NULL</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Constructs a <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> instance. </p>
<p><em>parent</em> argument specifies this object's parent object, <em>zipName</em> specifies ZIP archive file name and <em>fileName</em> and <em>cs</em> specify a name of the file to open inside archive.</p>
<p><a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> constructed by this constructor can be used for read only access. Use <a class="el" href="classQuaZipFile.html#a54e944a6b3d27030f64c8f30d2cc33bb" title="Constructs a QuaZipFile instance.">QuaZipFile(QuaZip*,QObject*)</a> for writing.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQuaZip.html#a6c657bfcfccb59d728e0da24c677d899" title="Sets current file by its name.">QuaZip::setCurrentFile()</a> </dd></dl>
</div>
</div>
<a class="anchor" id="a54e944a6b3d27030f64c8f30d2cc33bb"></a><!-- doxytag: member="QuaZipFile::QuaZipFile" ref="a54e944a6b3d27030f64c8f30d2cc33bb" args="(QuaZip *zip, QObject *parent=NULL)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QuaZipFile::QuaZipFile </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classQuaZip.html">QuaZip</a> *&#160;</td>
<td class="paramname"><em>zip</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">QObject *&#160;</td>
<td class="paramname"><em>parent</em> = <code>NULL</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Constructs a <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> instance. </p>
<p><em>parent</em> argument specifies this object's parent object.</p>
<p><em>zip</em> is the pointer to the existing <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> object. This <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> object then can be used to read current file in the <em>zip</em> or to write to the file inside it.</p>
<dl class="warning"><dt><b>Warning:</b></dt><dd>Using this constructor for reading current file can be tricky. Let's take the following example: <div class="fragment"><pre class="fragment"> <a class="code" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> zip(<span class="stringliteral">&quot;archive.zip&quot;</span>);
zip.open(<a class="code" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a803a371910c2dc830d111e9ce5b58897" title="ZIP file is open for reading files inside it.">QuaZip::mdUnzip</a>);
zip.setCurrentFile(<span class="stringliteral">&quot;file-in-archive&quot;</span>);
<a class="code" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> file(&amp;zip);
file.open(QIODevice::ReadOnly);
<span class="comment">// ok, now we can read from the file</span>
file.read(somewhere, some);
zip.setCurrentFile(<span class="stringliteral">&quot;another-file-in-archive&quot;</span>); <span class="comment">// oops...</span>
<a class="code" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> anotherFile(&amp;zip);
anotherFile.open(QIODevice::ReadOnly);
anotherFile.read(somewhere, some); <span class="comment">// this is still ok...</span>
file.read(somewhere, some); <span class="comment">// and this is NOT</span>
</pre></div> So, what exactly happens here? When we change current file in the <code>zip</code> archive, <code>file</code> that references it becomes invalid (actually, as far as I understand ZIP/UNZIP sources, it becomes closed, but <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> has no means to detect it).</dd></dl>
<p>Summary: do not close <code>zip</code> object or change its current file as long as <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> is open. Even better - use another constructors which create internal <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> instances, one per object, and therefore do not cause unnecessary trouble. This constructor may be useful, though, if you already have a <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> instance and do not want to access several files at once. Good example: </p>
<div class="fragment"><pre class="fragment"> <a class="code" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> zip(<span class="stringliteral">&quot;archive.zip&quot;</span>);
zip.open(<a class="code" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a803a371910c2dc830d111e9ce5b58897" title="ZIP file is open for reading files inside it.">QuaZip::mdUnzip</a>);
<span class="comment">// first, we need some information about archive itself</span>
QByteArray comment=zip.getComment();
<span class="comment">// and now we are going to access files inside it</span>
<a class="code" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> file(&amp;zip);
<span class="keywordflow">for</span>(<span class="keywordtype">bool</span> more=zip.goToFirstFile(); more; more=zip.goToNextFile()) {
file.open(QIODevice::ReadOnly);
<span class="comment">// do something cool with file here</span>
file.close(); <span class="comment">// do not forget to close!</span>
}
zip.close();
</pre></div>
</div>
</div>
<a class="anchor" id="aa1e5a0cf491bafae6cc73e649caa97fc"></a><!-- doxytag: member="QuaZipFile::~QuaZipFile" ref="aa1e5a0cf491bafae6cc73e649caa97fc" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QuaZipFile::~QuaZipFile </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Destroys a <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> instance. </p>
<p>Closes file if open, destructs internal <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> object (if it exists and <em>is</em> internal, of course). </p>
<p>References <a class="el" href="classQuaZipFile.html#a42a39b12619bccd3d419ee60bbb3fcf6">close()</a>.</p>
</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a6f034a714aa94631367590de3f8f4e22"></a><!-- doxytag: member="QuaZipFile::getZipName" ref="a6f034a714aa94631367590de3f8f4e22" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QString QuaZipFile::getZipName </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the ZIP archive file name. </p>
<p>If this object was created by passing <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> pointer to the constructor, this function will return that QuaZip's file name (or null string if that object does not have file name yet).</p>
<p>Otherwise, returns associated ZIP archive file name or null string if there are no name set yet.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQuaZipFile.html#ac8109e9a5c19bea75982ff6986b5cb1e" title="Sets the ZIP archive file name.">setZipName()</a> <a class="el" href="classQuaZipFile.html#a6999362e70a5b2396fba5cfb30095ff9" title="Returns file name.">getFileName()</a> </dd></dl>
<p>References <a class="el" href="classQuaZip.html#a4f7deef08ff40aeb1a7a04bcd7f228c2">QuaZip::getZipName()</a>.</p>
</div>
</div>
<a class="anchor" id="a72daf8a9da14907a801a783603003205"></a><!-- doxytag: member="QuaZipFile::getZip" ref="a72daf8a9da14907a801a783603003205" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classQuaZip.html">QuaZip</a> * QuaZipFile::getZip </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns a pointer to the associated <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> object. </p>
<p>Returns <code>NULL</code> if there is no associated <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> or it is internal (so you will not mess with it). </p>
</div>
</div>
<a class="anchor" id="a6999362e70a5b2396fba5cfb30095ff9"></a><!-- doxytag: member="QuaZipFile::getFileName" ref="a6999362e70a5b2396fba5cfb30095ff9" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QString QuaZipFile::getFileName </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns file name. </p>
<p>This function returns file name you passed to this object either by using <a class="el" href="classQuaZipFile.html#ac6e883b5a5d3a58c9c56eb497dd91220" title="Constructs a QuaZipFile instance.">QuaZipFile(const QString&amp;,const QString&amp;,QuaZip::CaseSensitivity,QObject*)</a> or by calling <a class="el" href="classQuaZipFile.html#a3732ca7704379d457b6a27db8837de95" title="Sets the file name.">setFileName()</a>. Real name of the file may differ in case if you used case-insensitivity.</p>
<p>Returns null string if there is no file name set yet. This is the case when this <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> operates on the existing <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> object (constructor <a class="el" href="classQuaZipFile.html#a54e944a6b3d27030f64c8f30d2cc33bb" title="Constructs a QuaZipFile instance.">QuaZipFile(QuaZip*,QObject*)</a> or <a class="el" href="classQuaZipFile.html#ab7939a26d1e8de2f6aca54f49a12b980" title="Binds to the existing QuaZip instance.">setZip()</a> was used).</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQuaZipFile.html#a7b8e3c39026855cd98661a1b2815c220" title="Returns the actual file name in the archive.">getActualFileName</a> </dd></dl>
</div>
</div>
<a class="anchor" id="a25dbfddc589bf6b69b39905f3c3bcc73"></a><!-- doxytag: member="QuaZipFile::getCaseSensitivity" ref="a25dbfddc589bf6b69b39905f3c3bcc73" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbe">QuaZip::CaseSensitivity</a> QuaZipFile::getCaseSensitivity </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns case sensitivity of the file name. </p>
<p>This function returns case sensitivity argument you passed to this object either by using <a class="el" href="classQuaZipFile.html#ac6e883b5a5d3a58c9c56eb497dd91220" title="Constructs a QuaZipFile instance.">QuaZipFile(const QString&amp;,const QString&amp;,QuaZip::CaseSensitivity,QObject*)</a> or by calling <a class="el" href="classQuaZipFile.html#a3732ca7704379d457b6a27db8837de95" title="Sets the file name.">setFileName()</a>.</p>
<p>Returns unpredictable value if <a class="el" href="classQuaZipFile.html#a6999362e70a5b2396fba5cfb30095ff9" title="Returns file name.">getFileName()</a> returns null string (this is the case when you did not used <a class="el" href="classQuaZipFile.html#a3732ca7704379d457b6a27db8837de95" title="Sets the file name.">setFileName()</a> or constructor above).</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQuaZipFile.html#a6999362e70a5b2396fba5cfb30095ff9" title="Returns file name.">getFileName</a> </dd></dl>
</div>
</div>
<a class="anchor" id="a7b8e3c39026855cd98661a1b2815c220"></a><!-- doxytag: member="QuaZipFile::getActualFileName" ref="a7b8e3c39026855cd98661a1b2815c220" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QString QuaZipFile::getActualFileName </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the actual file name in the archive. </p>
<p>This is <em>not</em> a ZIP archive file name, but a name of file inside archive. It is not necessary the same name that you have passed to the <a class="el" href="classQuaZipFile.html#ac6e883b5a5d3a58c9c56eb497dd91220" title="Constructs a QuaZipFile instance.">QuaZipFile(const QString&amp;,const QString&amp;,QuaZip::CaseSensitivity,QObject*)</a>, <a class="el" href="classQuaZipFile.html#a3732ca7704379d457b6a27db8837de95" title="Sets the file name.">setFileName()</a> or <a class="el" href="classQuaZip.html#a6c657bfcfccb59d728e0da24c677d899" title="Sets current file by its name.">QuaZip::setCurrentFile()</a> - this is the real file name inside archive, so it may differ in case if the file name search was case-insensitive.</p>
<p>Equivalent to calling getCurrentFileName() on the associated <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> object. Returns null string if there is no associated <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> object or if it does not have a current file yet. And this is the case if you called <a class="el" href="classQuaZipFile.html#a3732ca7704379d457b6a27db8837de95" title="Sets the file name.">setFileName()</a> but did not open the file yet. So this is perfectly fine: </p>
<div class="fragment"><pre class="fragment"> <a class="code" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> file(<span class="stringliteral">&quot;somezip.zip&quot;</span>);
file.setFileName(<span class="stringliteral">&quot;somefile&quot;</span>);
QString name=file.getName(); <span class="comment">// name==&quot;somefile&quot;</span>
QString actual=file.getActualFileName(); <span class="comment">// actual is null string</span>
file.open(QIODevice::ReadOnly);
QString actual=file.getActualFileName(); <span class="comment">// actual can be &quot;SoMeFiLe&quot; on Windows</span>
</pre></div><dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQuaZipFile.html#a6f034a714aa94631367590de3f8f4e22" title="Returns the ZIP archive file name.">getZipName()</a>, <a class="el" href="classQuaZipFile.html#a6999362e70a5b2396fba5cfb30095ff9" title="Returns file name.">getFileName()</a>, <a class="el" href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbe" title="Case sensitivity for the file names.">QuaZip::CaseSensitivity</a> </dd></dl>
<p>References <a class="el" href="classQuaZip.html#a9783f8b4f39cd55e71e975aea78fd54a">QuaZip::getCurrentFileName()</a>, and <a class="el" href="classQuaZip.html#a28b91a6282ddd9382c96a069572c6fb4">QuaZip::getZipError()</a>.</p>
</div>
</div>
<a class="anchor" id="ac8109e9a5c19bea75982ff6986b5cb1e"></a><!-- doxytag: member="QuaZipFile::setZipName" ref="ac8109e9a5c19bea75982ff6986b5cb1e" args="(const QString &amp;zipName)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void QuaZipFile::setZipName </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>zipName</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sets the ZIP archive file name. </p>
<p>Automatically creates internal <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> object and destroys previously created internal <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> object, if any.</p>
<p>Will do nothing if this file is already open. You must <a class="el" href="classQuaZipFile.html#a42a39b12619bccd3d419ee60bbb3fcf6" title="Closes the file.">close()</a> it first. </p>
</div>
</div>
<a class="anchor" id="a0df3db94c2a34c8d17ddaa0f54fc32c1"></a><!-- doxytag: member="QuaZipFile::isRaw" ref="a0df3db94c2a34c8d17ddaa0f54fc32c1" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool QuaZipFile::isRaw </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns <code>true</code> if the file was opened in raw mode. </p>
<p>If the file is not open, the returned value is undefined.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQuaZipFile.html#aed75bace51f2bb4c3e4f656ab4493aac" title="Opens a file for reading.">open(OpenMode,int*,int*,bool,const char*)</a> </dd></dl>
<p>Referenced by <a class="el" href="classQuaZipFile.html#a42a39b12619bccd3d419ee60bbb3fcf6">close()</a>.</p>
</div>
</div>
<a class="anchor" id="ab7939a26d1e8de2f6aca54f49a12b980"></a><!-- doxytag: member="QuaZipFile::setZip" ref="ab7939a26d1e8de2f6aca54f49a12b980" args="(QuaZip *zip)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void QuaZipFile::setZip </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classQuaZip.html">QuaZip</a> *&#160;</td>
<td class="paramname"><em>zip</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Binds to the existing <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> instance. </p>
<p>This function destroys internal <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> object, if any, and makes this <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> to use current file in the <em>zip</em> object for any further operations. See <a class="el" href="classQuaZipFile.html#a54e944a6b3d27030f64c8f30d2cc33bb" title="Constructs a QuaZipFile instance.">QuaZipFile(QuaZip*,QObject*)</a> for the possible pitfalls.</p>
<p>Will do nothing if the file is currently open. You must <a class="el" href="classQuaZipFile.html#a42a39b12619bccd3d419ee60bbb3fcf6" title="Closes the file.">close()</a> it first. </p>
</div>
</div>
<a class="anchor" id="a3732ca7704379d457b6a27db8837de95"></a><!-- doxytag: member="QuaZipFile::setFileName" ref="a3732ca7704379d457b6a27db8837de95" args="(const QString &amp;fileName, QuaZip::CaseSensitivity cs=QuaZip::csDefault)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void QuaZipFile::setFileName </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>fileName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbe">QuaZip::CaseSensitivity</a>&#160;</td>
<td class="paramname"><em>cs</em> = <code>QuaZip::csDefault</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sets the file name. </p>
<p>Will do nothing if at least one of the following conditions is met:</p>
<ul>
<li>ZIP name has not been set yet (<a class="el" href="classQuaZipFile.html#a6f034a714aa94631367590de3f8f4e22" title="Returns the ZIP archive file name.">getZipName()</a> returns null string).</li>
<li>This <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> is associated with external <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a>. In this case you should call that QuaZip's setCurrentFile() function instead!</li>
<li>File is already open so setting the name is meaningless.</li>
</ul>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classQuaZip.html#a6c657bfcfccb59d728e0da24c677d899" title="Sets current file by its name.">QuaZip::setCurrentFile</a> </dd></dl>
</div>
</div>
<a class="anchor" id="a4c20c0ef00ae79c9a59eafe2906c9384"></a><!-- doxytag: member="QuaZipFile::open" ref="a4c20c0ef00ae79c9a59eafe2906c9384" args="(OpenMode mode)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool QuaZipFile::open </td>
<td>(</td>
<td class="paramtype">OpenMode&#160;</td>
<td class="paramname"><em>mode</em></td><td>)</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Opens a file for reading. </p>
<p>Returns <code>true</code> on success, <code>false</code> otherwise. Call <a class="el" href="classQuaZipFile.html#a26d2ee56aad947193b73052f80597ef0" title="Returns the error code returned by the last ZIP/UNZIP API call.">getZipError()</a> to get error code.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Since ZIP/UNZIP API provides buffered reading only, <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> does not support unbuffered reading. So do not pass QIODevice::Unbuffered flag in <em>mode</em>, or open will fail. </dd></dl>
</div>
</div>
<a class="anchor" id="a0bff0d15bbcd70306dc4a553a55776b9"></a><!-- doxytag: member="QuaZipFile::open" ref="a0bff0d15bbcd70306dc4a553a55776b9" args="(OpenMode mode, const char *password)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool QuaZipFile::open </td>
<td>(</td>
<td class="paramtype">OpenMode&#160;</td>
<td class="paramname"><em>mode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>password</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Opens a file for reading. </p>
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Argument <em>password</em> specifies a password to decrypt the file. If it is NULL then this function behaves just like <a class="el" href="classQuaZipFile.html#a4c20c0ef00ae79c9a59eafe2906c9384" title="Opens a file for reading.">open(OpenMode)</a>. </p>
<p>References <a class="el" href="classQuaZipFile.html#a0bff0d15bbcd70306dc4a553a55776b9">open()</a>.</p>
<p>Referenced by <a class="el" href="classQuaZipFile.html#a0bff0d15bbcd70306dc4a553a55776b9">open()</a>.</p>
</div>
</div>
<a class="anchor" id="aed75bace51f2bb4c3e4f656ab4493aac"></a><!-- doxytag: member="QuaZipFile::open" ref="aed75bace51f2bb4c3e4f656ab4493aac" args="(OpenMode mode, int *method, int *level, bool raw, const char *password=NULL)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool QuaZipFile::open </td>
<td>(</td>
<td class="paramtype">OpenMode&#160;</td>
<td class="paramname"><em>mode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>method</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>level</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>raw</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>password</em> = <code>NULL</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Opens a file for reading. </p>
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Argument <em>password</em> specifies a password to decrypt the file.</p>
<p>An integers pointed by <em>method</em> and <em>level</em> will receive codes of the compression method and level used. See unzip.h.</p>
<p>If raw is <code>true</code> then no decompression is performed.</p>
<p><em>method</em> should not be <code>NULL</code>. <em>level</em> can be <code>NULL</code> if you don't want to know the compression level. </p>
<p>References <a class="el" href="classQuaZip.html#a7a4323b73e12f3b4470109f200728f9f">QuaZip::close()</a>, <a class="el" href="classQuaZip.html#a129ceff04d28fb00531f7bf7f9329664">QuaZip::getMode()</a>, <a class="el" href="classQuaZip.html#a3b78a652f296ff4a678a791e8294e642">QuaZip::getUnzFile()</a>, <a class="el" href="classQuaZip.html#a28b91a6282ddd9382c96a069572c6fb4">QuaZip::getZipError()</a>, <a class="el" href="classQuaZip.html#a00b237d926648f45da86db25e7cfb697">QuaZip::hasCurrentFile()</a>, <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a803a371910c2dc830d111e9ce5b58897">QuaZip::mdUnzip</a>, <a class="el" href="classQuaZip.html#abfa4e6018b2964a3d10a4c54e5ab3962">QuaZip::open()</a>, and <a class="el" href="classQuaZip.html#a6c657bfcfccb59d728e0da24c677d899">QuaZip::setCurrentFile()</a>.</p>
</div>
</div>
<a class="anchor" id="a2429ea59c77371d7af56d739db130b18"></a><!-- doxytag: member="QuaZipFile::open" ref="a2429ea59c77371d7af56d739db130b18" args="(OpenMode mode, const QuaZipNewInfo &amp;info, const char *password=NULL, quint32 crc=0, int method=Z_DEFLATED, int level=Z_DEFAULT_COMPRESSION, bool raw=false, int windowBits=&#45;MAX_WBITS, int memLevel=DEF_MEM_LEVEL, int strategy=Z_DEFAULT_STRATEGY)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool QuaZipFile::open </td>
<td>(</td>
<td class="paramtype">OpenMode&#160;</td>
<td class="paramname"><em>mode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structQuaZipNewInfo.html">QuaZipNewInfo</a> &amp;&#160;</td>
<td class="paramname"><em>info</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>password</em> = <code>NULL</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">quint32&#160;</td>
<td class="paramname"><em>crc</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>method</em> = <code>Z_DEFLATED</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>level</em> = <code>Z_DEFAULT_COMPRESSION</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>raw</em> = <code>false</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>windowBits</em> = <code>-MAX_WBITS</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>memLevel</em> = <code>DEF_MEM_LEVEL</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>strategy</em> = <code>Z_DEFAULT_STRATEGY</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Opens a file for writing. </p>
<p><em>info</em> argument specifies information about file. It should at least specify a correct file name. Also, it is a good idea to specify correct timestamp (by default, current time will be used). See <a class="el" href="structQuaZipNewInfo.html" title="Information about a file to be created.">QuaZipNewInfo</a>.</p>
<p>The <em>password</em> argument specifies the password for crypting. Pass NULL if you don't need any crypting. The <em>crc</em> argument was supposed to be used for crypting too, but then it turned out that it's false information, so you need to set it to 0 unless you want to use the raw mode (see below).</p>
<p>Arguments <em>method</em> and <em>level</em> specify compression method and level. The only method supported is Z_DEFLATED, but you may also specify 0 for no compression. If all of the files in the archive use both method 0 and either level 0 is explicitly specified or data descriptor writing is disabled with <a class="el" href="classQuaZip.html#a6c23a12af88f7ea5edd4f9c0a24b9453" title="Changes the data descriptor writing mode.">QuaZip::setDataDescriptorWritingEnabled()</a>, then the resulting archive is supposed to be compatible with the 1.0 ZIP format version, should you need that. Except for this, <em>level</em> has no other effects with method 0.</p>
<p>If <em>raw</em> is <code>true</code>, no compression is performed. In this case, <em>crc</em> and uncompressedSize field of the <em>info</em> are required.</p>
<p>Arguments <em>windowBits</em>, <em>memLevel</em>, <em>strategy</em> provide zlib algorithms tuning. See deflateInit2() in zlib. </p>
<p>References <a class="el" href="structQuaZipNewInfo.html#ae24b1d38c3550b4724862ffcf8f20924">QuaZipNewInfo::comment</a>, <a class="el" href="structQuaZipNewInfo.html#aec7f3ac72c72a2e10b82ad64c2fa3453">QuaZipNewInfo::dateTime</a>, <a class="el" href="structQuaZipNewInfo.html#affd1a9700d302e1395bd04f0864da7d0">QuaZipNewInfo::externalAttr</a>, <a class="el" href="structQuaZipNewInfo.html#abda207eb3949db3a88761c1b06e6bd58">QuaZipNewInfo::extraGlobal</a>, <a class="el" href="structQuaZipNewInfo.html#ab377a81c51cf495c7aeee4f19340a43f">QuaZipNewInfo::extraLocal</a>, <a class="el" href="classQuaZip.html#a008260161781d8b5d2a0a28493fddaf4">QuaZip::getCommentCodec()</a>, <a class="el" href="classQuaZip.html#a27b866aa2c75ea6f9c438cbb6e32b43c">QuaZip::getFileNameCodec()</a>, <a class="el" href="classQuaZip.html#a129ceff04d28fb00531f7bf7f9329664">QuaZip::getMode()</a>, <a class="el" href="classQuaZip.html#a425043a4d7cc31e2fe2bba73d954f15c">QuaZip::getZipFile()</a>, <a class="el" href="structQuaZipNewInfo.html#a59ce9776c2ac7547ade8cb4c404c77ab">QuaZipNewInfo::internalAttr</a>, <a class="el" href="classQuaZip.html#ae5c665a59447c2d30e63e9c6df48ebb7">QuaZip::isDataDescriptorWritingEnabled()</a>, <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a22c745f349f06add449af523254fdaec">QuaZip::mdAdd</a>, <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4ab807f0c65653a16d77b365801fd25582">QuaZip::mdAppend</a>, <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a25ae05b12590540af8c66ae8298b928e">QuaZip::mdCreate</a>, <a class="el" href="structQuaZipNewInfo.html#a2bdef01b6ac3326e48598e32bfa5fbe8">QuaZipNewInfo::name</a>, and <a class="el" href="structQuaZipNewInfo.html#a18c079b3f2f5ab6eecdd61d6dbe93be6">QuaZipNewInfo::uncompressedSize</a>.</p>
</div>
</div>
<a class="anchor" id="a90fd55dab83eca7f95df50b2c41b7f22"></a><!-- doxytag: member="QuaZipFile::pos" ref="a90fd55dab83eca7f95df50b2c41b7f22" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">qint64 QuaZipFile::pos </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const<code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns current position in the file. </p>
<p>Implementation of the QIODevice::pos(). When reading, this function is a wrapper to the ZIP/UNZIP unztell(), therefore it is unable to keep track of the ungetChar() calls (which is non-virtual and therefore is dangerous to reimplement). So if you are using ungetChar() feature of the QIODevice, this function reports incorrect value until you get back characters which you ungot.</p>
<p>When writing, <a class="el" href="classQuaZipFile.html#a90fd55dab83eca7f95df50b2c41b7f22" title="Returns current position in the file.">pos()</a> returns number of bytes already written (uncompressed unless you use raw mode).</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Although <a class="el" href="classQuaZipFile.html#quazipfile-sequential">QuaZipFile is a sequential device</a> and therefore <a class="el" href="classQuaZipFile.html#a90fd55dab83eca7f95df50b2c41b7f22" title="Returns current position in the file.">pos()</a> should always return zero, it does not, because it would be misguiding. Keep this in mind.</dd></dl>
<p>This function returns -1 if the file or archive is not open.</p>
<p>Error code returned by <a class="el" href="classQuaZipFile.html#a26d2ee56aad947193b73052f80597ef0" title="Returns the error code returned by the last ZIP/UNZIP API call.">getZipError()</a> is not affected by this function call. </p>
<p>References <a class="el" href="classQuaZip.html#a3b78a652f296ff4a678a791e8294e642">QuaZip::getUnzFile()</a>.</p>
<p>Referenced by <a class="el" href="classQuaZipFile.html#a29fbfb34677f69394ae7c986ffd3a0c1">bytesAvailable()</a>.</p>
</div>
</div>
<a class="anchor" id="a1e3f4c3c075da98af426fc167440cfc3"></a><!-- doxytag: member="QuaZipFile::atEnd" ref="a1e3f4c3c075da98af426fc167440cfc3" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool QuaZipFile::atEnd </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const<code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns <code>true</code> if the end of file was reached. </p>
<p>This function returns <code>false</code> in the case of error. This means that you called this function on either not open file, or a file in the not open archive or even on a <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> instance that does not even have <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> instance associated. Do not do that because there is no means to determine whether <code>false</code> is returned because of error or because end of file was reached. Well, on the other side you may interpret <code>false</code> return value as "there is no file open to check for end of file and there is
no end of file therefore".</p>
<p>When writing, this function always returns <code>true</code> (because you are always writing to the end of file).</p>
<p>Error code returned by <a class="el" href="classQuaZipFile.html#a26d2ee56aad947193b73052f80597ef0" title="Returns the error code returned by the last ZIP/UNZIP API call.">getZipError()</a> is not affected by this function call. </p>
<p>References <a class="el" href="classQuaZipFile.html#a29fbfb34677f69394ae7c986ffd3a0c1">bytesAvailable()</a>, and <a class="el" href="classQuaZip.html#a3b78a652f296ff4a678a791e8294e642">QuaZip::getUnzFile()</a>.</p>
</div>
</div>
<a class="anchor" id="ad1a17cc690a01c3edfb82984c3a4c8f0"></a><!-- doxytag: member="QuaZipFile::size" ref="ad1a17cc690a01c3edfb82984c3a4c8f0" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">qint64 QuaZipFile::size </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const<code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns file size. </p>
<p>This function returns <a class="el" href="classQuaZipFile.html#ac4da08e5cdec368a2a686775f7dc5639" title="Returns compressed file size.">csize()</a> if the file is open for reading in raw mode, <a class="el" href="classQuaZipFile.html#a4814b5e6e39fb254737b81ea10964f50" title="Returns uncompressed file size.">usize()</a> if it is open for reading in normal mode and <a class="el" href="classQuaZipFile.html#a90fd55dab83eca7f95df50b2c41b7f22" title="Returns current position in the file.">pos()</a> if it is open for writing.</p>
<p>Returns -1 on error, call <a class="el" href="classQuaZipFile.html#a26d2ee56aad947193b73052f80597ef0" title="Returns the error code returned by the last ZIP/UNZIP API call.">getZipError()</a> to get error code.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>This function returns file size despite that <a class="el" href="classQuaZipFile.html#quazipfile-sequential">QuaZipFile is considered to be sequential device</a>, for which <a class="el" href="classQuaZipFile.html#ad1a17cc690a01c3edfb82984c3a4c8f0" title="Returns file size.">size()</a> should return <a class="el" href="classQuaZipFile.html#a29fbfb34677f69394ae7c986ffd3a0c1" title="Returns the number of bytes available for reading.">bytesAvailable()</a> instead. But its name would be very misguiding otherwise, so just keep in mind this inconsistence. </dd></dl>
<p>References <a class="el" href="classQuaZipFile.html#ac4da08e5cdec368a2a686775f7dc5639">csize()</a>, and <a class="el" href="classQuaZipFile.html#a4814b5e6e39fb254737b81ea10964f50">usize()</a>.</p>
<p>Referenced by <a class="el" href="classQuaZipFile.html#a29fbfb34677f69394ae7c986ffd3a0c1">bytesAvailable()</a>.</p>
</div>
</div>
<a class="anchor" id="ac4da08e5cdec368a2a686775f7dc5639"></a><!-- doxytag: member="QuaZipFile::csize" ref="ac4da08e5cdec368a2a686775f7dc5639" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">qint64 QuaZipFile::csize </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns compressed file size. </p>
<p>Equivalent to calling <a class="el" href="classQuaZipFile.html#ad3f5807329321be21b12c1ba5798b359" title="Gets information about current file.">getFileInfo()</a> and then getting compressedSize field, but more convenient and faster.</p>
<p>File must be open for reading before calling this function.</p>
<p>Returns -1 on error, call <a class="el" href="classQuaZipFile.html#a26d2ee56aad947193b73052f80597ef0" title="Returns the error code returned by the last ZIP/UNZIP API call.">getZipError()</a> to get error code. </p>
<p>References <a class="el" href="classQuaZip.html#a129ceff04d28fb00531f7bf7f9329664">QuaZip::getMode()</a>, <a class="el" href="classQuaZip.html#a3b78a652f296ff4a678a791e8294e642">QuaZip::getUnzFile()</a>, and <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a803a371910c2dc830d111e9ce5b58897">QuaZip::mdUnzip</a>.</p>
<p>Referenced by <a class="el" href="classQuaZipFile.html#ad1a17cc690a01c3edfb82984c3a4c8f0">size()</a>.</p>
</div>
</div>
<a class="anchor" id="a4814b5e6e39fb254737b81ea10964f50"></a><!-- doxytag: member="QuaZipFile::usize" ref="a4814b5e6e39fb254737b81ea10964f50" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">qint64 QuaZipFile::usize </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns uncompressed file size. </p>
<p>Equivalent to calling <a class="el" href="classQuaZipFile.html#ad3f5807329321be21b12c1ba5798b359" title="Gets information about current file.">getFileInfo()</a> and then getting uncompressedSize field, but more convenient and faster. See <a class="el" href="classQuaZipFile.html#ad3f5807329321be21b12c1ba5798b359" title="Gets information about current file.">getFileInfo()</a> for a warning.</p>
<p>File must be open for reading before calling this function.</p>
<p>Returns -1 on error, call <a class="el" href="classQuaZipFile.html#a26d2ee56aad947193b73052f80597ef0" title="Returns the error code returned by the last ZIP/UNZIP API call.">getZipError()</a> to get error code. </p>
<p>References <a class="el" href="classQuaZip.html#a129ceff04d28fb00531f7bf7f9329664">QuaZip::getMode()</a>, <a class="el" href="classQuaZip.html#a3b78a652f296ff4a678a791e8294e642">QuaZip::getUnzFile()</a>, and <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a803a371910c2dc830d111e9ce5b58897">QuaZip::mdUnzip</a>.</p>
<p>Referenced by <a class="el" href="classQuaZipFile.html#ad1a17cc690a01c3edfb82984c3a4c8f0">size()</a>.</p>
</div>
</div>
<a class="anchor" id="ad3f5807329321be21b12c1ba5798b359"></a><!-- doxytag: member="QuaZipFile::getFileInfo" ref="ad3f5807329321be21b12c1ba5798b359" args="(QuaZipFileInfo *info)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool QuaZipFile::getFileInfo </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structQuaZipFileInfo.html">QuaZipFileInfo</a> *&#160;</td>
<td class="paramname"><em>info</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets information about current file. </p>
<p>This function does the same thing as calling <a class="el" href="classQuaZip.html#a9c91a53ed4c2038e153c64bdc097ebe8" title="Retrieves information about the current file.">QuaZip::getCurrentFileInfo()</a> on the associated <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> object, but you can not call getCurrentFileInfo() if the associated <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> is internal (because you do not have access to it), while you still can call this function in that case.</p>
<p>File must be open for reading before calling this function.</p>
<p>Returns <code>false</code> in the case of an error. </p>
<p>References <a class="el" href="classQuaZip.html#a9c91a53ed4c2038e153c64bdc097ebe8">QuaZip::getCurrentFileInfo()</a>, <a class="el" href="classQuaZip.html#a129ceff04d28fb00531f7bf7f9329664">QuaZip::getMode()</a>, <a class="el" href="classQuaZip.html#a28b91a6282ddd9382c96a069572c6fb4">QuaZip::getZipError()</a>, and <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a803a371910c2dc830d111e9ce5b58897">QuaZip::mdUnzip</a>.</p>
</div>
</div>
<a class="anchor" id="a42a39b12619bccd3d419ee60bbb3fcf6"></a><!-- doxytag: member="QuaZipFile::close" ref="a42a39b12619bccd3d419ee60bbb3fcf6" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void QuaZipFile::close </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Closes the file. </p>
<p>Call <a class="el" href="classQuaZipFile.html#a26d2ee56aad947193b73052f80597ef0" title="Returns the error code returned by the last ZIP/UNZIP API call.">getZipError()</a> to determine if the close was successful. </p>
<p>References <a class="el" href="classQuaZip.html#a7a4323b73e12f3b4470109f200728f9f">QuaZip::close()</a>, <a class="el" href="classQuaZip.html#a3b78a652f296ff4a678a791e8294e642">QuaZip::getUnzFile()</a>, <a class="el" href="classQuaZip.html#a28b91a6282ddd9382c96a069572c6fb4">QuaZip::getZipError()</a>, <a class="el" href="classQuaZip.html#a425043a4d7cc31e2fe2bba73d954f15c">QuaZip::getZipFile()</a>, <a class="el" href="classQuaZip.html#a5b869a9c0d4f49955b759592fec08888">QuaZip::isOpen()</a>, and <a class="el" href="classQuaZipFile.html#a0df3db94c2a34c8d17ddaa0f54fc32c1">isRaw()</a>.</p>
<p>Referenced by <a class="el" href="classQuaZipFile.html#aa1e5a0cf491bafae6cc73e649caa97fc">~QuaZipFile()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>quazip/<a class="el" href="quazipfile_8h_source.html">quazipfile.h</a></li>
<li>quazip/quazipfile.cpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,52 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">QuaZipFilePrivate Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classQuaZipFilePrivate.html">QuaZipFilePrivate</a>, including all inherited members.<table>
<tr bgcolor="#f0f0f0"><td><b>QuaZipFile</b> (defined in <a class="el" href="classQuaZipFilePrivate.html">QuaZipFilePrivate</a>)</td><td><a class="el" href="classQuaZipFilePrivate.html">QuaZipFilePrivate</a></td><td><code> [friend]</code></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,75 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: QuaZipFilePrivate Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#friends">Friends</a> </div>
<div class="headertitle">
<div class="title">QuaZipFilePrivate Class Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="QuaZipFilePrivate" -->
<p>The implementation class for <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a>.
<a href="classQuaZipFilePrivate.html#details">More...</a></p>
<div class="dynheader">
Collaboration diagram for QuaZipFilePrivate:</div>
<div class="dyncontent">
<div class="center"><img src="classQuaZipFilePrivate__coll__graph.png" border="0" usemap="#QuaZipFilePrivate_coll__map" alt="Collaboration graph"/></div>
<map name="QuaZipFilePrivate_coll__map" id="QuaZipFilePrivate_coll__map">
<area shape="rect" id="node7" href="classQuaZipFile.html" title="A file inside ZIP archive." alt="" coords="25,187,108,213"/> <area shape="rect" id="node2" href="classQuaZip.html" title="ZIP archive." alt="" coords="134,5,196,32"/> <area shape="rect" id="node4" href="classQuaZipPrivate.html" title="All the internal stuff for the QuaZip class." alt="" coords="153,96,255,123"/> </map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<p><a href="classQuaZipFilePrivate-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="friends"></a>
Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a40bd4ccb6d2d00726e1de81329ebaa7a"></a><!-- doxytag: member="QuaZipFilePrivate::QuaZipFile" ref="a40bd4ccb6d2d00726e1de81329ebaa7a" args="" -->
class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipFilePrivate.html#a40bd4ccb6d2d00726e1de81329ebaa7a">QuaZipFile</a></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>The implementation class for <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a>. </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>quazip/quazipfile.cpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,5 @@
<map id="G" name="G">
<area shape="rect" id="node7" href="$classQuaZipFile.html" title="A file inside ZIP archive." alt="" coords="25,187,108,213"/>
<area shape="rect" id="node2" href="$classQuaZip.html" title="ZIP archive." alt="" coords="134,5,196,32"/>
<area shape="rect" id="node4" href="$classQuaZipPrivate.html" title="All the internal stuff for the QuaZip class." alt="" coords="153,96,255,123"/>
</map>

View File

@ -0,0 +1 @@
8d67fd832bb90332fedcba49da020a67

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

@ -0,0 +1,5 @@
<map id="G" name="G">
<area shape="rect" id="node2" href="$classQuaZipFilePrivate.html" title="The implementation class for QuaZip." alt="" coords="5,96,128,123"/>
<area shape="rect" id="node4" href="$classQuaZip.html" title="ZIP archive." alt="" coords="134,5,196,32"/>
<area shape="rect" id="node6" href="$classQuaZipPrivate.html" title="All the internal stuff for the QuaZip class." alt="" coords="153,96,255,123"/>
</map>

View File

@ -0,0 +1 @@
3cca548c6e61503dea7d82da54af1f8a

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

@ -0,0 +1,54 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">QuaZipPrivate Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classQuaZipPrivate.html">QuaZipPrivate</a>, including all inherited members.<table>
<tr bgcolor="#f0f0f0"><td><b>QuaZip</b> (defined in <a class="el" href="classQuaZipPrivate.html">QuaZipPrivate</a>)</td><td><a class="el" href="classQuaZipPrivate.html">QuaZipPrivate</a></td><td><code> [friend]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipPrivate.html#aeb1d2d3263929b17d6b0608e35af2a88">unzFile_f</a></td><td><a class="el" href="classQuaZipPrivate.html">QuaZipPrivate</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classQuaZipPrivate.html#ab83497156892d07e6a1514cef149a1e2">zipFile_f</a></td><td><a class="el" href="classQuaZipPrivate.html">QuaZipPrivate</a></td><td></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,75 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: QuaZipPrivate Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#friends">Friends</a> </div>
<div class="headertitle">
<div class="title">QuaZipPrivate Class Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="QuaZipPrivate" -->
<p>All the internal stuff for the <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> class.
<a href="classQuaZipPrivate.html#details">More...</a></p>
<div class="dynheader">
Collaboration diagram for QuaZipPrivate:</div>
<div class="dyncontent">
<div class="center"><img src="classQuaZipPrivate__coll__graph.png" border="0" usemap="#QuaZipPrivate_coll__map" alt="Collaboration graph"/></div>
<map name="QuaZipPrivate_coll__map" id="QuaZipPrivate_coll__map">
<area shape="rect" id="node2" href="classQuaZip.html" title="ZIP archive." alt="" coords="25,96,87,123"/> </map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<p><a href="classQuaZipPrivate-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="friends"></a>
Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a913fb7bbd3527119ebb8052d57132af2"></a><!-- doxytag: member="QuaZipPrivate::QuaZip" ref="a913fb7bbd3527119ebb8052d57132af2" args="" -->
class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQuaZipPrivate.html#a913fb7bbd3527119ebb8052d57132af2">QuaZip</a></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>All the internal stuff for the <a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> class. </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>quazip/quazip.cpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,3 @@
<map id="G" name="G">
<area shape="rect" id="node2" href="$classQuaZip.html" title="ZIP archive." alt="" coords="25,96,87,123"/>
</map>

View File

@ -0,0 +1 @@
4dadbc94c10e818b6d044a538076a620

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -0,0 +1,3 @@
<map id="G" name="G">
<area shape="rect" id="node2" href="$classQuaZipPrivate.html" title="All the internal stuff for the QuaZip class." alt="" coords="5,96,107,123"/>
</map>

View File

@ -0,0 +1 @@
d04fc6b476641932472c86fd8096968c

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -0,0 +1,55 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: Class Index</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Class Index</div> </div>
</div>
<div class="contents">
<div class="qindex"><a class="qindex" href="#letter_J">J</a>&#160;|&#160;<a class="qindex" href="#letter_Q">Q</a></div>
<table align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
<tr><td><a name="letter_J"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;J&#160;&#160;</div></td></tr></table>
</td><td><a class="el" href="classQuaAdler32.html">QuaAdler32</a>&#160;&#160;&#160;</td><td><a class="el" href="classQuaGzipFile.html">QuaGzipFile</a>&#160;&#160;&#160;</td><td><a class="el" href="classQuaZipDir.html">QuaZipDir</a>&#160;&#160;&#160;</td><td><a class="el" href="classQuaZipFilePrivate.html">QuaZipFilePrivate</a>&#160;&#160;&#160;</td></tr><tr><td><a class="el" href="classJlCompress.html">JlCompress</a>&#160;&#160;&#160;</td><td><a class="el" href="classQuaChecksum32.html">QuaChecksum32</a>&#160;&#160;&#160;</td><td><a class="el" href="classQuaZIODevice.html">QuaZIODevice</a>&#160;&#160;&#160;</td><td><a class="el" href="classQuaZipFile.html">QuaZipFile</a>&#160;&#160;&#160;</td><td><a class="el" href="structQuaZipNewInfo.html">QuaZipNewInfo</a>&#160;&#160;&#160;</td></tr><tr><td><a name="letter_Q"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;Q&#160;&#160;</div></td></tr></table>
</td><td><a class="el" href="classQuaCrc32.html">QuaCrc32</a>&#160;&#160;&#160;</td><td><a class="el" href="classQuaZip.html">QuaZip</a>&#160;&#160;&#160;</td><td><a class="el" href="structQuaZipFileInfo.html">QuaZipFileInfo</a>&#160;&#160;&#160;</td><td><a class="el" href="classQuaZipPrivate.html">QuaZipPrivate</a>&#160;&#160;&#160;</td></tr></table><div class="qindex"><a class="qindex" href="#letter_J">J</a>&#160;|&#160;<a class="qindex" href="#letter_Q">Q</a></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 B

View File

@ -0,0 +1,82 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: quazip/ Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_6b1d21316abab84c9bd8ed600604809a.html">quazip</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">quazip Directory Reference</div> </div>
</div>
<div class="contents">
<div class="dynheader">
Directory dependency graph for quazip/:</div>
<div class="dyncontent">
<div class="center"><img src="dir_6b1d21316abab84c9bd8ed600604809a_dep.png" border="0" usemap="#dir__6b1d21316abab84c9bd8ed600604809a__dep" alt="quazip/"/></div>
<map name="dir__6b1d21316abab84c9bd8ed600604809a__dep" id="dir__6b1d21316abab84c9bd8ed600604809a__dep">
<area shape="rect" id="node1" href="dir_6b1d21316abab84c9bd8ed600604809a.html" title="quazip" alt="" coords="5,5,77,53"/> </map>
</div>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="files"></a>
Files</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>JlCompress.cpp</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>JlCompress.h</b> <a href="JlCompress_8h_source.html">[code]</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>qioapi.cpp</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>quaadler32.cpp</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>quaadler32.h</b> <a href="quaadler32_8h_source.html">[code]</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>quachecksum32.h</b> <a href="quachecksum32_8h_source.html">[code]</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>quacrc32.cpp</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>quacrc32.h</b> <a href="quacrc32_8h_source.html">[code]</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>quagzipfile.cpp</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>quagzipfile.h</b> <a href="quagzipfile_8h_source.html">[code]</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>quaziodevice.cpp</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>quaziodevice.h</b> <a href="quaziodevice_8h_source.html">[code]</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>quazip.cpp</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>quazip.h</b> <a href="quazip_8h_source.html">[code]</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>quazip_global.h</b> <a href="quazip__global_8h_source.html">[code]</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>quazipdir.cpp</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>quazipdir.h</b> <a href="quazipdir_8h_source.html">[code]</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>quazipfile.cpp</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>quazipfile.h</b> <a href="quazipfile_8h_source.html">[code]</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>quazipfileinfo.cpp</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>quazipfileinfo.h</b> <a href="quazipfileinfo_8h_source.html">[code]</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>quazipnewinfo.cpp</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>quazipnewinfo.h</b> <a href="quazipnewinfo_8h_source.html">[code]</a></td></tr>
</table>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,3 @@
<map id="G" name="G">
<area shape="rect" id="node1" href="dir_6b1d21316abab84c9bd8ed600604809a.html" title="quazip" alt="" coords="5,5,77,53"/>
</map>

View File

@ -0,0 +1 @@
fae3a2113ceca135f02b2457a94c54e0

Binary file not shown.

After

Width:  |  Height:  |  Size: 425 B

View File

@ -0,0 +1,46 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: Directories</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li class="current"><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Directories</div> </div>
</div>
<div class="contents">
<div class="textblock">This directory hierarchy is sorted roughly, but not completely, alphabetically:</div><ul>
<li><a class="el" href="dir_6b1d21316abab84c9bd8ed600604809a.html">quazip</a></li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,835 @@
/* The standard CSS for doxygen */
body, table, div, p, dl {
font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
font-size: 12px;
}
/* @group Heading Levels */
h1 {
font-size: 150%;
}
.title {
font-size: 150%;
font-weight: bold;
margin: 10px 2px;
}
h2 {
font-size: 120%;
}
h3 {
font-size: 100%;
}
dt {
font-weight: bold;
}
div.multicol {
-moz-column-gap: 1em;
-webkit-column-gap: 1em;
-moz-column-count: 3;
-webkit-column-count: 3;
}
p.startli, p.startdd, p.starttd {
margin-top: 2px;
}
p.endli {
margin-bottom: 0px;
}
p.enddd {
margin-bottom: 4px;
}
p.endtd {
margin-bottom: 2px;
}
/* @end */
caption {
font-weight: bold;
}
span.legend {
font-size: 70%;
text-align: center;
}
h3.version {
font-size: 90%;
text-align: center;
}
div.qindex, div.navtab{
background-color: #EBEFF6;
border: 1px solid #A3B4D7;
text-align: center;
margin: 2px;
padding: 2px;
}
div.qindex, div.navpath {
width: 100%;
line-height: 140%;
}
div.navtab {
margin-right: 15px;
}
/* @group Link Styling */
a {
color: #3D578C;
font-weight: normal;
text-decoration: none;
}
.contents a:visited {
color: #4665A2;
}
a:hover {
text-decoration: underline;
}
a.qindex {
font-weight: bold;
}
a.qindexHL {
font-weight: bold;
background-color: #9CAFD4;
color: #ffffff;
border: 1px double #869DCA;
}
.contents a.qindexHL:visited {
color: #ffffff;
}
a.el {
font-weight: bold;
}
a.elRef {
}
a.code {
color: #4665A2;
}
a.codeRef {
color: #4665A2;
}
/* @end */
dl.el {
margin-left: -1cm;
}
.fragment {
font-family: monospace, fixed;
font-size: 105%;
}
pre.fragment {
border: 1px solid #C4CFE5;
background-color: #FBFCFD;
padding: 4px 6px;
margin: 4px 8px 4px 2px;
overflow: auto;
word-wrap: break-word;
font-size: 9pt;
line-height: 125%;
}
div.ah {
background-color: black;
font-weight: bold;
color: #ffffff;
margin-bottom: 3px;
margin-top: 3px;
padding: 0.2em;
border: solid thin #333;
border-radius: 0.5em;
-webkit-border-radius: .5em;
-moz-border-radius: .5em;
box-shadow: 2px 2px 3px #999;
-webkit-box-shadow: 2px 2px 3px #999;
-moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
}
div.groupHeader {
margin-left: 16px;
margin-top: 12px;
font-weight: bold;
}
div.groupText {
margin-left: 16px;
font-style: italic;
}
body {
background: white;
color: black;
margin: 0;
}
div.contents {
margin-top: 10px;
margin-left: 10px;
margin-right: 5px;
}
td.indexkey {
background-color: #EBEFF6;
font-weight: bold;
border: 1px solid #C4CFE5;
margin: 2px 0px 2px 0;
padding: 2px 10px;
}
td.indexvalue {
background-color: #EBEFF6;
border: 1px solid #C4CFE5;
padding: 2px 10px;
margin: 2px 0px;
}
tr.memlist {
background-color: #EEF1F7;
}
p.formulaDsp {
text-align: center;
}
img.formulaDsp {
}
img.formulaInl {
vertical-align: middle;
}
div.center {
text-align: center;
margin-top: 0px;
margin-bottom: 0px;
padding: 0px;
}
div.center img {
border: 0px;
}
address.footer {
text-align: right;
padding-right: 12px;
}
img.footer {
border: 0px;
vertical-align: middle;
}
/* @group Code Colorization */
span.keyword {
color: #008000
}
span.keywordtype {
color: #604020
}
span.keywordflow {
color: #e08000
}
span.comment {
color: #800000
}
span.preprocessor {
color: #806020
}
span.stringliteral {
color: #002080
}
span.charliteral {
color: #008080
}
span.vhdldigit {
color: #ff00ff
}
span.vhdlchar {
color: #000000
}
span.vhdlkeyword {
color: #700070
}
span.vhdllogic {
color: #ff0000
}
/* @end */
/*
.search {
color: #003399;
font-weight: bold;
}
form.search {
margin-bottom: 0px;
margin-top: 0px;
}
input.search {
font-size: 75%;
color: #000080;
font-weight: normal;
background-color: #e8eef2;
}
*/
td.tiny {
font-size: 75%;
}
.dirtab {
padding: 4px;
border-collapse: collapse;
border: 1px solid #A3B4D7;
}
th.dirtab {
background: #EBEFF6;
font-weight: bold;
}
hr {
height: 0px;
border: none;
border-top: 1px solid #4A6AAA;
}
hr.footer {
height: 1px;
}
/* @group Member Descriptions */
table.memberdecls {
border-spacing: 0px;
padding: 0px;
}
.mdescLeft, .mdescRight,
.memItemLeft, .memItemRight,
.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
background-color: #F9FAFC;
border: none;
margin: 4px;
padding: 1px 0 0 8px;
}
.mdescLeft, .mdescRight {
padding: 0px 8px 4px 8px;
color: #555;
}
.memItemLeft, .memItemRight, .memTemplParams {
border-top: 1px solid #C4CFE5;
}
.memItemLeft, .memTemplItemLeft {
white-space: nowrap;
}
.memItemRight {
width: 100%;
}
.memTemplParams {
color: #4665A2;
white-space: nowrap;
}
/* @end */
/* @group Member Details */
/* Styles for detailed member documentation */
.memtemplate {
font-size: 80%;
color: #4665A2;
font-weight: normal;
margin-left: 9px;
}
.memnav {
background-color: #EBEFF6;
border: 1px solid #A3B4D7;
text-align: center;
margin: 2px;
margin-right: 15px;
padding: 2px;
}
.mempage {
width: 100%;
}
.memitem {
padding: 0;
margin-bottom: 10px;
margin-right: 5px;
}
.memname {
white-space: nowrap;
font-weight: bold;
margin-left: 6px;
}
.memproto {
border-top: 1px solid #A8B8D9;
border-left: 1px solid #A8B8D9;
border-right: 1px solid #A8B8D9;
padding: 6px 0px 6px 0px;
color: #253555;
font-weight: bold;
text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
/* opera specific markup */
box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
border-top-right-radius: 8px;
border-top-left-radius: 8px;
/* firefox specific markup */
-moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
-moz-border-radius-topright: 8px;
-moz-border-radius-topleft: 8px;
/* webkit specific markup */
-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
-webkit-border-top-right-radius: 8px;
-webkit-border-top-left-radius: 8px;
background-image:url('nav_f.png');
background-repeat:repeat-x;
background-color: #E2E8F2;
}
.memdoc {
border-bottom: 1px solid #A8B8D9;
border-left: 1px solid #A8B8D9;
border-right: 1px solid #A8B8D9;
padding: 2px 5px;
background-color: #FBFCFD;
border-top-width: 0;
/* opera specific markup */
border-bottom-left-radius: 8px;
border-bottom-right-radius: 8px;
box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
/* firefox specific markup */
-moz-border-radius-bottomleft: 8px;
-moz-border-radius-bottomright: 8px;
-moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 60%, #F7F8FB 95%, #EEF1F7);
/* webkit specific markup */
-webkit-border-bottom-left-radius: 8px;
-webkit-border-bottom-right-radius: 8px;
-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.6,#FFFFFF), color-stop(0.60,#FFFFFF), color-stop(0.95,#F7F8FB), to(#EEF1F7));
}
.paramkey {
text-align: right;
}
.paramtype {
white-space: nowrap;
}
.paramname {
color: #602020;
white-space: nowrap;
}
.paramname em {
font-style: normal;
}
.params, .retval, .exception, .tparams {
border-spacing: 6px 2px;
}
.params .paramname, .retval .paramname {
font-weight: bold;
vertical-align: top;
}
.params .paramtype {
font-style: italic;
vertical-align: top;
}
.params .paramdir {
font-family: "courier new",courier,monospace;
vertical-align: top;
}
/* @end */
/* @group Directory (tree) */
/* for the tree view */
.ftvtree {
font-family: sans-serif;
margin: 0px;
}
/* these are for tree view when used as main index */
.directory {
font-size: 9pt;
font-weight: bold;
margin: 5px;
}
.directory h3 {
margin: 0px;
margin-top: 1em;
font-size: 11pt;
}
/*
The following two styles can be used to replace the root node title
with an image of your choice. Simply uncomment the next two styles,
specify the name of your image and be sure to set 'height' to the
proper pixel height of your image.
*/
/*
.directory h3.swap {
height: 61px;
background-repeat: no-repeat;
background-image: url("yourimage.gif");
}
.directory h3.swap span {
display: none;
}
*/
.directory > h3 {
margin-top: 0;
}
.directory p {
margin: 0px;
white-space: nowrap;
}
.directory div {
display: none;
margin: 0px;
}
.directory img {
vertical-align: -30%;
}
/* these are for tree view when not used as main index */
.directory-alt {
font-size: 100%;
font-weight: bold;
}
.directory-alt h3 {
margin: 0px;
margin-top: 1em;
font-size: 11pt;
}
.directory-alt > h3 {
margin-top: 0;
}
.directory-alt p {
margin: 0px;
white-space: nowrap;
}
.directory-alt div {
display: none;
margin: 0px;
}
.directory-alt img {
vertical-align: -30%;
}
/* @end */
div.dynheader {
margin-top: 8px;
}
address {
font-style: normal;
color: #2A3D61;
}
table.doxtable {
border-collapse:collapse;
}
table.doxtable td, table.doxtable th {
border: 1px solid #2D4068;
padding: 3px 7px 2px;
}
table.doxtable th {
background-color: #374F7F;
color: #FFFFFF;
font-size: 110%;
padding-bottom: 4px;
padding-top: 5px;
text-align:left;
}
.tabsearch {
top: 0px;
left: 10px;
height: 36px;
background-image: url('tab_b.png');
z-index: 101;
overflow: hidden;
font-size: 13px;
}
.navpath ul
{
font-size: 11px;
background-image:url('tab_b.png');
background-repeat:repeat-x;
height:30px;
line-height:30px;
color:#8AA0CC;
border:solid 1px #C2CDE4;
overflow:hidden;
margin:0px;
padding:0px;
}
.navpath li
{
list-style-type:none;
float:left;
padding-left:10px;
padding-right:15px;
background-image:url('bc_s.png');
background-repeat:no-repeat;
background-position:right;
color:#364D7C;
}
.navpath li.navelem a
{
height:32px;
display:block;
text-decoration: none;
outline: none;
}
.navpath li.navelem a:hover
{
color:#6884BD;
}
.navpath li.footer
{
list-style-type:none;
float:right;
padding-left:10px;
padding-right:15px;
background-image:none;
background-repeat:no-repeat;
background-position:right;
color:#364D7C;
font-size: 8pt;
}
div.summary
{
float: right;
font-size: 8pt;
padding-right: 5px;
width: 50%;
text-align: right;
}
div.summary a
{
white-space: nowrap;
}
div.ingroups
{
font-size: 8pt;
padding-left: 5px;
width: 50%;
text-align: left;
}
div.ingroups a
{
white-space: nowrap;
}
div.header
{
background-image:url('nav_h.png');
background-repeat:repeat-x;
background-color: #F9FAFC;
margin: 0px;
border-bottom: 1px solid #C4CFE5;
}
div.headertitle
{
padding: 5px 5px 5px 10px;
}
dl
{
padding: 0 0 0 10px;
}
dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug
{
border-left:4px solid;
padding: 0 0 0 6px;
}
dl.note
{
border-color: #D0C000;
}
dl.warning, dl.attention
{
border-color: #FF0000;
}
dl.pre, dl.post, dl.invariant
{
border-color: #00D000;
}
dl.deprecated
{
border-color: #505050;
}
dl.todo
{
border-color: #00C0E0;
}
dl.test
{
border-color: #3030E0;
}
dl.bug
{
border-color: #C08050;
}
#projectlogo
{
text-align: center;
vertical-align: bottom;
border-collapse: separate;
}
#projectlogo img
{
border: 0px none;
}
#projectname
{
font: 300% Tahoma, Arial,sans-serif;
margin: 0px;
padding: 2px 0px;
}
#projectbrief
{
font: 120% Tahoma, Arial,sans-serif;
margin: 0px;
padding: 0px;
}
#projectnumber
{
font: 50% Tahoma, Arial,sans-serif;
margin: 0px;
padding: 0px;
}
#titlearea
{
padding: 0px;
margin: 0px;
width: 100%;
border-bottom: 1px solid #5373B4;
}
.image
{
text-align: center;
}
.dotgraph
{
text-align: center;
}
.mscgraph
{
text-align: center;
}
.caption
{
font-weight: bold;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

47
3rdparty/quazip-0.5.1/doc/html/faq.html vendored Normal file
View File

@ -0,0 +1,47 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: QuaZip FAQ</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title"><a class="el" href="classQuaZip.html" title="ZIP archive.">QuaZip</a> FAQ </div> </div>
</div>
<div class="contents">
<div class="textblock"><p><a class="anchor" id="faq-non-QIODevice"></a> Q. Is there any way to use <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> in Qt where you are supposed to use normal (non-zipped) file, but not through QIODevice API?</p>
<p>A. Usually not. For example, if you are passing file name to some database driver (like SQLite), Qt usually just passes this name down to the 3rd-party library, which is usually does not know anything about QIODevice and therefore there is no way to pass <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> as normal file. However, if we are talking about some place where you pass file name, and then indirectly use QFile to open it, then it is a good idea to make overloaded method, which accepts a QIODevice pointer. Then you would be able to pass <a class="el" href="classQuaZipFile.html" title="A file inside ZIP archive.">QuaZipFile</a> as well as many other nice things such as QBuffer or QProcess.</p>
<p><a class="anchor" id="faq-zip64"></a> Q. Can QuaZIP handle files larger than 4GB? What about zip64 standard?</p>
<p>A. It isn't supported yet. QuaZIP is a wrapper around minizip. The minizip version QuaZIP was based on didn't support zip64. The newer version that appeared around 2010 reportedly does. But it will take some time and effort to integrate this version with QuaZIP. </p>
</div></div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,62 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: File List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li class="current"><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">File List</div> </div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented files with brief descriptions:</div><table>
<tr><td class="indexkey">quazip/<b>JlCompress.h</b> <a href="JlCompress_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">quazip/<b>quaadler32.h</b> <a href="quaadler32_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">quazip/<b>quachecksum32.h</b> <a href="quachecksum32_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">quazip/<b>quacrc32.h</b> <a href="quacrc32_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">quazip/<b>quagzipfile.h</b> <a href="quagzipfile_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">quazip/<b>quaziodevice.h</b> <a href="quaziodevice_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">quazip/<b>quazip.h</b> <a href="quazip_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">quazip/<b>quazip_global.h</b> <a href="quazip__global_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">quazip/<b>quazipdir.h</b> <a href="quazipdir_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">quazip/<b>quazipfile.h</b> <a href="quazipfile_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">quazip/<b>quazipfileinfo.h</b> <a href="quazipfileinfo_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey">quazip/<b>quazipnewinfo.h</b> <a href="quazipnewinfo_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
</table>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,579 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li class="current"><a href="functions.html"><span>All</span></a></li>
<li><a href="functions_func.html"><span>Functions</span></a></li>
<li><a href="functions_vars.html"><span>Variables</span></a></li>
<li><a href="functions_enum.html"><span>Enumerations</span></a></li>
<li><a href="functions_eval.html"><span>Enumerator</span></a></li>
</ul>
</div>
<div id="navrow4" class="tabs3">
<ul class="tablist">
<li><a href="#index_a"><span>a</span></a></li>
<li><a href="#index_b"><span>b</span></a></li>
<li><a href="#index_c"><span>c</span></a></li>
<li><a href="#index_d"><span>d</span></a></li>
<li><a href="#index_e"><span>e</span></a></li>
<li><a href="#index_f"><span>f</span></a></li>
<li><a href="#index_g"><span>g</span></a></li>
<li><a href="#index_h"><span>h</span></a></li>
<li><a href="#index_i"><span>i</span></a></li>
<li><a href="#index_m"><span>m</span></a></li>
<li><a href="#index_n"><span>n</span></a></li>
<li><a href="#index_o"><span>o</span></a></li>
<li><a href="#index_p"><span>p</span></a></li>
<li><a href="#index_q"><span>q</span></a></li>
<li><a href="#index_r"><span>r</span></a></li>
<li><a href="#index_s"><span>s</span></a></li>
<li><a href="#index_u"><span>u</span></a></li>
<li><a href="#index_v"><span>v</span></a></li>
<li><a href="#index_w"><span>w</span></a></li>
<li><a href="#index_z"><span>z</span></a></li>
<li><a href="#index_0x7e"><span>~</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
<li>atEnd()
: <a class="el" href="classQuaZipFile.html#a1e3f4c3c075da98af426fc167440cfc3">QuaZipFile</a>
</li>
</ul>
<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
<li>bytesAvailable()
: <a class="el" href="classQuaZipFile.html#a29fbfb34677f69394ae7c986ffd3a0c1">QuaZipFile</a>
</li>
</ul>
<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
<li>calculate()
: <a class="el" href="classQuaAdler32.html#a350e84fd000ebfa3c33503336a7b21bb">QuaAdler32</a>
, <a class="el" href="classQuaChecksum32.html#a14d800fcfd55b2ae11ef07d3924fe0b1">QuaChecksum32</a>
, <a class="el" href="classQuaCrc32.html#aaf6fdf6e36e55c97bf9eab6ec65ecb9e">QuaCrc32</a>
</li>
<li>caseSensitivity()
: <a class="el" href="classQuaZipDir.html#ad7ab403a8d36a3b6149da86ea37178f8">QuaZipDir</a>
</li>
<li>CaseSensitivity
: <a class="el" href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbe">QuaZip</a>
</li>
<li>cd()
: <a class="el" href="classQuaZipDir.html#aa829afc0243f1d307302f1167edecc7b">QuaZipDir</a>
</li>
<li>cdUp()
: <a class="el" href="classQuaZipDir.html#a62306db3f4c0866930fa35c7348b84b3">QuaZipDir</a>
</li>
<li>close()
: <a class="el" href="classQuaGzipFile.html#a273205350b1235a242a1eb5cbf586434">QuaGzipFile</a>
, <a class="el" href="classQuaZIODevice.html#ad27e447544d57f897316ee6f44535895">QuaZIODevice</a>
, <a class="el" href="classQuaZip.html#a7a4323b73e12f3b4470109f200728f9f">QuaZip</a>
, <a class="el" href="classQuaZipFile.html#a42a39b12619bccd3d419ee60bbb3fcf6">QuaZipFile</a>
</li>
<li>comment
: <a class="el" href="structQuaZipFileInfo.html#adc2aad7bbd87ce3415e2a19851266bfc">QuaZipFileInfo</a>
, <a class="el" href="structQuaZipNewInfo.html#ae24b1d38c3550b4724862ffcf8f20924">QuaZipNewInfo</a>
</li>
<li>compressDir()
: <a class="el" href="classJlCompress.html#a8708eafcadc5c192a1d492e784cfc98f">JlCompress</a>
</li>
<li>compressedSize
: <a class="el" href="structQuaZipFileInfo.html#af6116eaac1f36b2a4b3a6a39851a85cc">QuaZipFileInfo</a>
</li>
<li>compressFile()
: <a class="el" href="classJlCompress.html#a4a4de9c62ecf161bb658d4d80495ea97">JlCompress</a>
</li>
<li>compressFiles()
: <a class="el" href="classJlCompress.html#a9cdb92d29a94c6b13a718a3249685846">JlCompress</a>
</li>
<li>Constants
: <a class="el" href="classQuaZip.html#adce46b942c341dbb5c851eadead65459">QuaZip</a>
</li>
<li>convertCaseSensitivity()
: <a class="el" href="classQuaZip.html#a1d3fbd445a8e9d3449ded7371931c6b3">QuaZip</a>
</li>
<li>count()
: <a class="el" href="classQuaZipDir.html#aa3f14665e3991351f4ef94ab8e0ab29d">QuaZipDir</a>
</li>
<li>crc
: <a class="el" href="structQuaZipFileInfo.html#aceee045c9ebce0b9724f40d342bc99ea">QuaZipFileInfo</a>
</li>
<li>csDefault
: <a class="el" href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbeac3cca8c0b976cf6397a28a5c84e75253">QuaZip</a>
</li>
<li>csInsensitive
: <a class="el" href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbea3e492bcc3f64f41a74906cecc45fb366">QuaZip</a>
</li>
<li>csize()
: <a class="el" href="classQuaZipFile.html#ac4da08e5cdec368a2a686775f7dc5639">QuaZipFile</a>
</li>
<li>csSensitive
: <a class="el" href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbead8d86b0c34203336cad09348cfa5356e">QuaZip</a>
</li>
</ul>
<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
<li>dateTime
: <a class="el" href="structQuaZipFileInfo.html#ad6993d099436813a27fd31aebe42911a">QuaZipFileInfo</a>
, <a class="el" href="structQuaZipNewInfo.html#aec7f3ac72c72a2e10b82ad64c2fa3453">QuaZipNewInfo</a>
</li>
<li>dirName()
: <a class="el" href="classQuaZipDir.html#afd2f76410f7728a7166b7598926fbf96">QuaZipDir</a>
</li>
<li>diskNumberStart
: <a class="el" href="structQuaZipFileInfo.html#aa70157fdc2bd8de10405055b4233050b">QuaZipFileInfo</a>
</li>
</ul>
<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
<li>entryInfoList()
: <a class="el" href="classQuaZipDir.html#aef966735a146fc10c9527c236aa89261">QuaZipDir</a>
</li>
<li>entryList()
: <a class="el" href="classQuaZipDir.html#ab20e9d3de675b74fcacc98accbc1d766">QuaZipDir</a>
</li>
<li>exists()
: <a class="el" href="classQuaZipDir.html#aacb488fec6e951ac80e5d473534fee97">QuaZipDir</a>
</li>
<li>externalAttr
: <a class="el" href="structQuaZipNewInfo.html#affd1a9700d302e1395bd04f0864da7d0">QuaZipNewInfo</a>
, <a class="el" href="structQuaZipFileInfo.html#afeb65ffdacc4fc0ba7848d4b37f62ecf">QuaZipFileInfo</a>
</li>
<li>extra
: <a class="el" href="structQuaZipFileInfo.html#affc7b097de2c3c2ef5801c60f96adc72">QuaZipFileInfo</a>
</li>
<li>extractDir()
: <a class="el" href="classJlCompress.html#a365a153baa4c11812d93cbca60b6a293">JlCompress</a>
</li>
<li>extractFile()
: <a class="el" href="classJlCompress.html#a38c0d58bfe3bbbcb3cf4e98d126633a3">JlCompress</a>
</li>
<li>extractFiles()
: <a class="el" href="classJlCompress.html#a309e9ee366719a4d8aa28f837fab73ae">JlCompress</a>
</li>
<li>extraGlobal
: <a class="el" href="structQuaZipNewInfo.html#abda207eb3949db3a88761c1b06e6bd58">QuaZipNewInfo</a>
</li>
<li>extraLocal
: <a class="el" href="structQuaZipNewInfo.html#ab377a81c51cf495c7aeee4f19340a43f">QuaZipNewInfo</a>
</li>
</ul>
<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
<li>filePath()
: <a class="el" href="classQuaZipDir.html#ae8b576a150f8d62c902067603cbc97ae">QuaZipDir</a>
</li>
<li>filter()
: <a class="el" href="classQuaZipDir.html#abeee1810c7c1c1af93364081dbf70d38">QuaZipDir</a>
</li>
<li>flags
: <a class="el" href="structQuaZipFileInfo.html#a56d36f777e4fc892c71e22d080622e2c">QuaZipFileInfo</a>
</li>
<li>flush()
: <a class="el" href="classQuaGzipFile.html#ab745f345b727c81abbc3eb5af4dca844">QuaGzipFile</a>
, <a class="el" href="classQuaZIODevice.html#a25f586eb564841b51c395fd17f1cc080">QuaZIODevice</a>
</li>
</ul>
<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
<li>getActualFileName()
: <a class="el" href="classQuaZipFile.html#a7b8e3c39026855cd98661a1b2815c220">QuaZipFile</a>
</li>
<li>getCaseSensitivity()
: <a class="el" href="classQuaZipFile.html#a25dbfddc589bf6b69b39905f3c3bcc73">QuaZipFile</a>
</li>
<li>getComment()
: <a class="el" href="classQuaZip.html#ae55cfbf2296132df808c557b62433051">QuaZip</a>
</li>
<li>getCommentCodec()
: <a class="el" href="classQuaZip.html#a008260161781d8b5d2a0a28493fddaf4">QuaZip</a>
</li>
<li>getCurrentFileInfo()
: <a class="el" href="classQuaZip.html#a9c91a53ed4c2038e153c64bdc097ebe8">QuaZip</a>
</li>
<li>getCurrentFileName()
: <a class="el" href="classQuaZip.html#a9783f8b4f39cd55e71e975aea78fd54a">QuaZip</a>
</li>
<li>getEntriesCount()
: <a class="el" href="classQuaZip.html#a2ea4bd1fca948637c35c2d2752bb5a80">QuaZip</a>
</li>
<li>getFileInfo()
: <a class="el" href="classQuaZipFile.html#ad3f5807329321be21b12c1ba5798b359">QuaZipFile</a>
</li>
<li>getFileInfoList()
: <a class="el" href="classQuaZip.html#a7486af66bede8e131db0cd2e81881387">QuaZip</a>
</li>
<li>getFileList()
: <a class="el" href="classJlCompress.html#ab42422be913f817d7e04c1b1cd5d0156">JlCompress</a>
</li>
<li>getFileName()
: <a class="el" href="classQuaGzipFile.html#a9a0954a1db1fcf2aeba0530239bce71c">QuaGzipFile</a>
, <a class="el" href="classQuaZipFile.html#a6999362e70a5b2396fba5cfb30095ff9">QuaZipFile</a>
</li>
<li>getFileNameCodec()
: <a class="el" href="classQuaZip.html#a27b866aa2c75ea6f9c438cbb6e32b43c">QuaZip</a>
</li>
<li>getFileNameList()
: <a class="el" href="classQuaZip.html#abb38d8b4c9c4ae0728b48caae9dd82de">QuaZip</a>
</li>
<li>getIoDevice()
: <a class="el" href="classQuaZip.html#afd3ba12fe68748acbf8b7cc14a5a1c29">QuaZip</a>
, <a class="el" href="classQuaZIODevice.html#ad63e7f1717c7d91b3c2c5ace908c98b7">QuaZIODevice</a>
</li>
<li>getMode()
: <a class="el" href="classQuaZip.html#a129ceff04d28fb00531f7bf7f9329664">QuaZip</a>
</li>
<li>getPermissions()
: <a class="el" href="structQuaZipFileInfo.html#af87f96a64d7c02b002622f81d13accdb">QuaZipFileInfo</a>
</li>
<li>getUnzFile()
: <a class="el" href="classQuaZip.html#a3b78a652f296ff4a678a791e8294e642">QuaZip</a>
</li>
<li>getZip()
: <a class="el" href="classQuaZipFile.html#a72daf8a9da14907a801a783603003205">QuaZipFile</a>
</li>
<li>getZipError()
: <a class="el" href="classQuaZip.html#a28b91a6282ddd9382c96a069572c6fb4">QuaZip</a>
, <a class="el" href="classQuaZipFile.html#a26d2ee56aad947193b73052f80597ef0">QuaZipFile</a>
</li>
<li>getZipFile()
: <a class="el" href="classQuaZip.html#a425043a4d7cc31e2fe2bba73d954f15c">QuaZip</a>
</li>
<li>getZipName()
: <a class="el" href="classQuaZipFile.html#a6f034a714aa94631367590de3f8f4e22">QuaZipFile</a>
, <a class="el" href="classQuaZip.html#a4f7deef08ff40aeb1a7a04bcd7f228c2">QuaZip</a>
</li>
<li>goToFirstFile()
: <a class="el" href="classQuaZip.html#a745488f9177bcec3cdb858587584e033">QuaZip</a>
</li>
<li>goToNextFile()
: <a class="el" href="classQuaZip.html#aee6779b6cd338420c2e8c5655fa8ba97">QuaZip</a>
</li>
</ul>
<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
<li>hasCurrentFile()
: <a class="el" href="classQuaZip.html#a00b237d926648f45da86db25e7cfb697">QuaZip</a>
</li>
</ul>
<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
<li>internalAttr
: <a class="el" href="structQuaZipFileInfo.html#a36e681a93b041617addee78cb939c93d">QuaZipFileInfo</a>
, <a class="el" href="structQuaZipNewInfo.html#a59ce9776c2ac7547ade8cb4c404c77ab">QuaZipNewInfo</a>
</li>
<li>isDataDescriptorWritingEnabled()
: <a class="el" href="classQuaZip.html#ae5c665a59447c2d30e63e9c6df48ebb7">QuaZip</a>
</li>
<li>isOpen()
: <a class="el" href="classQuaZip.html#a5b869a9c0d4f49955b759592fec08888">QuaZip</a>
</li>
<li>isRaw()
: <a class="el" href="classQuaZipFile.html#a0df3db94c2a34c8d17ddaa0f54fc32c1">QuaZipFile</a>
</li>
<li>isRoot()
: <a class="el" href="classQuaZipDir.html#a598fdf23f1b37e1876476e5969040a32">QuaZipDir</a>
</li>
<li>isSequential()
: <a class="el" href="classQuaZipFile.html#a64430ec50820c8096f963a7e5f53001f">QuaZipFile</a>
, <a class="el" href="classQuaGzipFile.html#ae97f4e15d86c965c156df33d00318176">QuaGzipFile</a>
, <a class="el" href="classQuaZIODevice.html#af2697f58c228741d3715801bf48a9a8b">QuaZIODevice</a>
</li>
</ul>
<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
<li>MAX_FILE_NAME_LENGTH
: <a class="el" href="classQuaZip.html#adce46b942c341dbb5c851eadead65459ab26ce1a9c9e94f901dc2cf90fa5baa4b">QuaZip</a>
</li>
<li>mdAdd
: <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a22c745f349f06add449af523254fdaec">QuaZip</a>
</li>
<li>mdAppend
: <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4ab807f0c65653a16d77b365801fd25582">QuaZip</a>
</li>
<li>mdCreate
: <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a25ae05b12590540af8c66ae8298b928e">QuaZip</a>
</li>
<li>mdNotOpen
: <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4ac87ddb1e901e1ec700c16ee0d4d398ce">QuaZip</a>
</li>
<li>mdUnzip
: <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a803a371910c2dc830d111e9ce5b58897">QuaZip</a>
</li>
<li>method
: <a class="el" href="structQuaZipFileInfo.html#af5c1bbda7f5dec2c358e7a543564de4c">QuaZipFileInfo</a>
</li>
<li>Mode
: <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4">QuaZip</a>
</li>
</ul>
<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
<li>name
: <a class="el" href="structQuaZipFileInfo.html#a16ac323965deccf0232bfae69d933a84">QuaZipFileInfo</a>
, <a class="el" href="structQuaZipNewInfo.html#a2bdef01b6ac3326e48598e32bfa5fbe8">QuaZipNewInfo</a>
</li>
<li>nameFilters()
: <a class="el" href="classQuaZipDir.html#a00f18e23abb8cac04f975e7f31553f2e">QuaZipDir</a>
</li>
</ul>
<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
<li>open()
: <a class="el" href="classQuaGzipFile.html#a1d560babdfff3a3441d704099a5bc1e4">QuaGzipFile</a>
, <a class="el" href="classQuaZip.html#abfa4e6018b2964a3d10a4c54e5ab3962">QuaZip</a>
, <a class="el" href="classQuaZipFile.html#a2429ea59c77371d7af56d739db130b18">QuaZipFile</a>
, <a class="el" href="classQuaZIODevice.html#a175446c18eb20c9aff6faf23f09cc67a">QuaZIODevice</a>
, <a class="el" href="classQuaZipFile.html#aed75bace51f2bb4c3e4f656ab4493aac">QuaZipFile</a>
</li>
<li>operator!=()
: <a class="el" href="classQuaZipDir.html#a6e60d858d05774c958215ee7741eceed">QuaZipDir</a>
</li>
<li>operator=()
: <a class="el" href="classQuaZipDir.html#aa603c69be0c1597add5951b19f8bc961">QuaZipDir</a>
</li>
<li>operator==()
: <a class="el" href="classQuaZipDir.html#a4a2e07484c7159a3f469922ba2383547">QuaZipDir</a>
</li>
<li>operator[]()
: <a class="el" href="classQuaZipDir.html#a9e37ef5318c44a4575c58d66110e535a">QuaZipDir</a>
</li>
</ul>
<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
<li>path()
: <a class="el" href="classQuaZipDir.html#a68ac82ad605c0b10f9ee1a2d6d474f52">QuaZipDir</a>
</li>
<li>pos()
: <a class="el" href="classQuaZipFile.html#a90fd55dab83eca7f95df50b2c41b7f22">QuaZipFile</a>
</li>
</ul>
<h3><a class="anchor" id="index_q"></a>- q -</h3><ul>
<li>QuaGzipFile()
: <a class="el" href="classQuaGzipFile.html#a709608207b41ca81d5beed2b34982809">QuaGzipFile</a>
</li>
<li>QuaZIODevice()
: <a class="el" href="classQuaZIODevice.html#a8321ed35ee9b57cf9b1104912e236361">QuaZIODevice</a>
</li>
<li>QuaZip()
: <a class="el" href="classQuaZip.html#a970e0f401c7cfd7a78e78572f758eec4">QuaZip</a>
</li>
<li>QuaZipDir()
: <a class="el" href="classQuaZipDir.html#a6c9cc8b74c52d3fe997b753370566690">QuaZipDir</a>
</li>
<li>QuaZipFile()
: <a class="el" href="classQuaZipFile.html#ac6e883b5a5d3a58c9c56eb497dd91220">QuaZipFile</a>
</li>
<li>QuaZipNewInfo()
: <a class="el" href="structQuaZipNewInfo.html#ad47cf11f4277edcb09a8ba2b2963f2a9">QuaZipNewInfo</a>
</li>
</ul>
<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
<li>readData()
: <a class="el" href="classQuaGzipFile.html#a9eab41b46367e63e0c269c42ca883d82">QuaGzipFile</a>
, <a class="el" href="classQuaZIODevice.html#aa12b8bc9c923e543eda9ae22dbd1ecbb">QuaZIODevice</a>
, <a class="el" href="classQuaZipFile.html#aa1f2274e1579327855a17d67a9046ec2">QuaZipFile</a>
</li>
<li>relativeFilePath()
: <a class="el" href="classQuaZipDir.html#a2ae89c2b85786a0168656fc7a3faaf01">QuaZipDir</a>
</li>
<li>reset()
: <a class="el" href="classQuaCrc32.html#a3fe7ce6cb73512c963ffaabfbbc66363">QuaCrc32</a>
, <a class="el" href="classQuaChecksum32.html#ad3f5db3c76b00069db9bda333cb49d57">QuaChecksum32</a>
, <a class="el" href="classQuaAdler32.html#a2fe6ac9eb289bafda6a9fd20e6472ab5">QuaAdler32</a>
</li>
</ul>
<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
<li>setCaseSensitivity()
: <a class="el" href="classQuaZipDir.html#ad53c720975bb0c49a823355f7d518793">QuaZipDir</a>
</li>
<li>setComment()
: <a class="el" href="classQuaZip.html#a1b5d936a203859340574d5908ffa2222">QuaZip</a>
</li>
<li>setCommentCodec()
: <a class="el" href="classQuaZip.html#a413f3c56b54a9a47258d53802cb606e7">QuaZip</a>
</li>
<li>setCurrentFile()
: <a class="el" href="classQuaZip.html#a6c657bfcfccb59d728e0da24c677d899">QuaZip</a>
</li>
<li>setDataDescriptorWritingEnabled()
: <a class="el" href="classQuaZip.html#a6c23a12af88f7ea5edd4f9c0a24b9453">QuaZip</a>
</li>
<li>setFileDateTime()
: <a class="el" href="structQuaZipNewInfo.html#a2b18b554d056877a2f33ffb9d241ed85">QuaZipNewInfo</a>
</li>
<li>setFileName()
: <a class="el" href="classQuaGzipFile.html#a253fbaf410a3d4ae0a719505c5525149">QuaGzipFile</a>
, <a class="el" href="classQuaZipFile.html#a3732ca7704379d457b6a27db8837de95">QuaZipFile</a>
</li>
<li>setFileNameCodec()
: <a class="el" href="classQuaZip.html#a339010b5566704ba3c9cafbfe848d8fb">QuaZip</a>
</li>
<li>setFilePermissions()
: <a class="el" href="structQuaZipNewInfo.html#a08bee5211eb0b49da260c7a9e7a266b8">QuaZipNewInfo</a>
</li>
<li>setFilter()
: <a class="el" href="classQuaZipDir.html#a779a43641f0f3802678e39c9acd1fddb">QuaZipDir</a>
</li>
<li>setIoDevice()
: <a class="el" href="classQuaZip.html#a64642948b6531ee54f5522f29e388cc6">QuaZip</a>
</li>
<li>setNameFilters()
: <a class="el" href="classQuaZipDir.html#abcf208bfd6136e14f36725ae79dce2be">QuaZipDir</a>
</li>
<li>setPath()
: <a class="el" href="classQuaZipDir.html#ae82d06e43856414c30583205d337c111">QuaZipDir</a>
</li>
<li>setPermissions()
: <a class="el" href="structQuaZipNewInfo.html#aed68dc20f7dc42b5056491cf3c1d2d20">QuaZipNewInfo</a>
</li>
<li>setSorting()
: <a class="el" href="classQuaZipDir.html#ae43e9d717e3c4b1c0d4790cf558e7451">QuaZipDir</a>
</li>
<li>setZip()
: <a class="el" href="classQuaZipFile.html#ab7939a26d1e8de2f6aca54f49a12b980">QuaZipFile</a>
</li>
<li>setZipName()
: <a class="el" href="classQuaZip.html#aa80b661de1262af905d1677dbcb008cc">QuaZip</a>
, <a class="el" href="classQuaZipFile.html#ac8109e9a5c19bea75982ff6986b5cb1e">QuaZipFile</a>
</li>
<li>size()
: <a class="el" href="classQuaZipFile.html#ad1a17cc690a01c3edfb82984c3a4c8f0">QuaZipFile</a>
</li>
<li>sorting()
: <a class="el" href="classQuaZipDir.html#a4000523c961ab9e0cad08641ff10e3fa">QuaZipDir</a>
</li>
</ul>
<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
<li>uncompressedSize
: <a class="el" href="structQuaZipFileInfo.html#a0eb908e1b1ea637d1f1f4d6aa31db07f">QuaZipFileInfo</a>
, <a class="el" href="structQuaZipNewInfo.html#a18c079b3f2f5ab6eecdd61d6dbe93be6">QuaZipNewInfo</a>
</li>
<li>unzFile_f
: <a class="el" href="classQuaZipPrivate.html#aeb1d2d3263929b17d6b0608e35af2a88">QuaZipPrivate</a>
</li>
<li>update()
: <a class="el" href="classQuaChecksum32.html#a63a6ed3171f9243214d307da67557f7e">QuaChecksum32</a>
, <a class="el" href="classQuaAdler32.html#aba24f7b16aa0cdc26f81a9ad687fc653">QuaAdler32</a>
, <a class="el" href="classQuaCrc32.html#a5015d80e04afe6e6d094155b7e99888e">QuaCrc32</a>
</li>
<li>usize()
: <a class="el" href="classQuaZipFile.html#a4814b5e6e39fb254737b81ea10964f50">QuaZipFile</a>
</li>
</ul>
<h3><a class="anchor" id="index_v"></a>- v -</h3><ul>
<li>value()
: <a class="el" href="classQuaAdler32.html#a2022e1db95c23cef220b335e44d74fb1">QuaAdler32</a>
, <a class="el" href="classQuaChecksum32.html#afd836e7534194fce08356be6a8336da7">QuaChecksum32</a>
, <a class="el" href="classQuaCrc32.html#a957ce46a53862f75c89d6a3ac4f73389">QuaCrc32</a>
</li>
<li>versionCreated
: <a class="el" href="structQuaZipFileInfo.html#a52f3f1d960ebaa2acbc2a86458fa3e6e">QuaZipFileInfo</a>
</li>
<li>versionNeeded
: <a class="el" href="structQuaZipFileInfo.html#a8b73982808bded49e88e624a65e1a94f">QuaZipFileInfo</a>
</li>
</ul>
<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
<li>writeData()
: <a class="el" href="classQuaGzipFile.html#a6dd09d41d8a51c96b0f2134eff37f676">QuaGzipFile</a>
, <a class="el" href="classQuaZipFile.html#abd07949a6fcc2ef094d2be5398bc8e7c">QuaZipFile</a>
, <a class="el" href="classQuaZIODevice.html#aab23b6badbc3548eb71ca86bf6211902">QuaZIODevice</a>
</li>
</ul>
<h3><a class="anchor" id="index_z"></a>- z -</h3><ul>
<li>zipFile_f
: <a class="el" href="classQuaZipPrivate.html#ab83497156892d07e6a1514cef149a1e2">QuaZipPrivate</a>
</li>
</ul>
<h3><a class="anchor" id="index_0x7e"></a>- ~ -</h3><ul>
<li>~QuaGzipFile()
: <a class="el" href="classQuaGzipFile.html#a1200bc76f36bb2e1991e1e0467befbf2">QuaGzipFile</a>
</li>
<li>~QuaZIODevice()
: <a class="el" href="classQuaZIODevice.html#ab3524cef44c240c21e6b7680ee5f42de">QuaZIODevice</a>
</li>
<li>~QuaZip()
: <a class="el" href="classQuaZip.html#af60a2d3930b90f3b25a3148baecad81e">QuaZip</a>
</li>
<li>~QuaZipDir()
: <a class="el" href="classQuaZipDir.html#ae95d60e2c23e611723371bf8fff2b095">QuaZipDir</a>
</li>
<li>~QuaZipFile()
: <a class="el" href="classQuaZipFile.html#aa1e5a0cf491bafae6cc73e649caa97fc">QuaZipFile</a>
</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,66 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: Class Members - Enumerations</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li><a href="functions.html"><span>All</span></a></li>
<li><a href="functions_func.html"><span>Functions</span></a></li>
<li><a href="functions_vars.html"><span>Variables</span></a></li>
<li class="current"><a href="functions_enum.html"><span>Enumerations</span></a></li>
<li><a href="functions_eval.html"><span>Enumerator</span></a></li>
</ul>
</div>
</div>
<div class="contents">
&#160;<ul>
<li>CaseSensitivity
: <a class="el" href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbe">QuaZip</a>
</li>
<li>Constants
: <a class="el" href="classQuaZip.html#adce46b942c341dbb5c851eadead65459">QuaZip</a>
</li>
<li>Mode
: <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4">QuaZip</a>
</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,84 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: Class Members - Enumerator</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li><a href="functions.html"><span>All</span></a></li>
<li><a href="functions_func.html"><span>Functions</span></a></li>
<li><a href="functions_vars.html"><span>Variables</span></a></li>
<li><a href="functions_enum.html"><span>Enumerations</span></a></li>
<li class="current"><a href="functions_eval.html"><span>Enumerator</span></a></li>
</ul>
</div>
</div>
<div class="contents">
&#160;<ul>
<li>csDefault
: <a class="el" href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbeac3cca8c0b976cf6397a28a5c84e75253">QuaZip</a>
</li>
<li>csInsensitive
: <a class="el" href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbea3e492bcc3f64f41a74906cecc45fb366">QuaZip</a>
</li>
<li>csSensitive
: <a class="el" href="classQuaZip.html#a6053a1d249ed210a85c9d5eb7cf9cdbead8d86b0c34203336cad09348cfa5356e">QuaZip</a>
</li>
<li>MAX_FILE_NAME_LENGTH
: <a class="el" href="classQuaZip.html#adce46b942c341dbb5c851eadead65459ab26ce1a9c9e94f901dc2cf90fa5baa4b">QuaZip</a>
</li>
<li>mdAdd
: <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a22c745f349f06add449af523254fdaec">QuaZip</a>
</li>
<li>mdAppend
: <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4ab807f0c65653a16d77b365801fd25582">QuaZip</a>
</li>
<li>mdCreate
: <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a25ae05b12590540af8c66ae8298b928e">QuaZip</a>
</li>
<li>mdNotOpen
: <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4ac87ddb1e901e1ec700c16ee0d4d398ce">QuaZip</a>
</li>
<li>mdUnzip
: <a class="el" href="classQuaZip.html#a47e28d4116ee716fdd6b431b821d0be4a803a371910c2dc830d111e9ce5b58897">QuaZip</a>
</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,473 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li><a href="functions.html"><span>All</span></a></li>
<li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
<li><a href="functions_vars.html"><span>Variables</span></a></li>
<li><a href="functions_enum.html"><span>Enumerations</span></a></li>
<li><a href="functions_eval.html"><span>Enumerator</span></a></li>
</ul>
</div>
<div id="navrow4" class="tabs3">
<ul class="tablist">
<li><a href="#index_a"><span>a</span></a></li>
<li><a href="#index_b"><span>b</span></a></li>
<li><a href="#index_c"><span>c</span></a></li>
<li><a href="#index_d"><span>d</span></a></li>
<li><a href="#index_e"><span>e</span></a></li>
<li><a href="#index_f"><span>f</span></a></li>
<li><a href="#index_g"><span>g</span></a></li>
<li><a href="#index_h"><span>h</span></a></li>
<li><a href="#index_i"><span>i</span></a></li>
<li><a href="#index_n"><span>n</span></a></li>
<li><a href="#index_o"><span>o</span></a></li>
<li><a href="#index_p"><span>p</span></a></li>
<li><a href="#index_q"><span>q</span></a></li>
<li><a href="#index_r"><span>r</span></a></li>
<li><a href="#index_s"><span>s</span></a></li>
<li><a href="#index_u"><span>u</span></a></li>
<li><a href="#index_v"><span>v</span></a></li>
<li><a href="#index_w"><span>w</span></a></li>
<li><a href="#index_0x7e"><span>~</span></a></li>
</ul>
</div>
</div>
<div class="contents">
&#160;
<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
<li>atEnd()
: <a class="el" href="classQuaZipFile.html#a1e3f4c3c075da98af426fc167440cfc3">QuaZipFile</a>
</li>
</ul>
<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
<li>bytesAvailable()
: <a class="el" href="classQuaZipFile.html#a29fbfb34677f69394ae7c986ffd3a0c1">QuaZipFile</a>
</li>
</ul>
<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
<li>calculate()
: <a class="el" href="classQuaAdler32.html#a350e84fd000ebfa3c33503336a7b21bb">QuaAdler32</a>
, <a class="el" href="classQuaChecksum32.html#a14d800fcfd55b2ae11ef07d3924fe0b1">QuaChecksum32</a>
, <a class="el" href="classQuaCrc32.html#aaf6fdf6e36e55c97bf9eab6ec65ecb9e">QuaCrc32</a>
</li>
<li>caseSensitivity()
: <a class="el" href="classQuaZipDir.html#ad7ab403a8d36a3b6149da86ea37178f8">QuaZipDir</a>
</li>
<li>cd()
: <a class="el" href="classQuaZipDir.html#aa829afc0243f1d307302f1167edecc7b">QuaZipDir</a>
</li>
<li>cdUp()
: <a class="el" href="classQuaZipDir.html#a62306db3f4c0866930fa35c7348b84b3">QuaZipDir</a>
</li>
<li>close()
: <a class="el" href="classQuaZIODevice.html#ad27e447544d57f897316ee6f44535895">QuaZIODevice</a>
, <a class="el" href="classQuaZip.html#a7a4323b73e12f3b4470109f200728f9f">QuaZip</a>
, <a class="el" href="classQuaZipFile.html#a42a39b12619bccd3d419ee60bbb3fcf6">QuaZipFile</a>
, <a class="el" href="classQuaGzipFile.html#a273205350b1235a242a1eb5cbf586434">QuaGzipFile</a>
</li>
<li>compressDir()
: <a class="el" href="classJlCompress.html#a8708eafcadc5c192a1d492e784cfc98f">JlCompress</a>
</li>
<li>compressFile()
: <a class="el" href="classJlCompress.html#a4a4de9c62ecf161bb658d4d80495ea97">JlCompress</a>
</li>
<li>compressFiles()
: <a class="el" href="classJlCompress.html#a9cdb92d29a94c6b13a718a3249685846">JlCompress</a>
</li>
<li>convertCaseSensitivity()
: <a class="el" href="classQuaZip.html#a1d3fbd445a8e9d3449ded7371931c6b3">QuaZip</a>
</li>
<li>count()
: <a class="el" href="classQuaZipDir.html#aa3f14665e3991351f4ef94ab8e0ab29d">QuaZipDir</a>
</li>
<li>csize()
: <a class="el" href="classQuaZipFile.html#ac4da08e5cdec368a2a686775f7dc5639">QuaZipFile</a>
</li>
</ul>
<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
<li>dirName()
: <a class="el" href="classQuaZipDir.html#afd2f76410f7728a7166b7598926fbf96">QuaZipDir</a>
</li>
</ul>
<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
<li>entryInfoList()
: <a class="el" href="classQuaZipDir.html#aef966735a146fc10c9527c236aa89261">QuaZipDir</a>
</li>
<li>entryList()
: <a class="el" href="classQuaZipDir.html#ab20e9d3de675b74fcacc98accbc1d766">QuaZipDir</a>
</li>
<li>exists()
: <a class="el" href="classQuaZipDir.html#aacb488fec6e951ac80e5d473534fee97">QuaZipDir</a>
</li>
<li>extractDir()
: <a class="el" href="classJlCompress.html#a365a153baa4c11812d93cbca60b6a293">JlCompress</a>
</li>
<li>extractFile()
: <a class="el" href="classJlCompress.html#a38c0d58bfe3bbbcb3cf4e98d126633a3">JlCompress</a>
</li>
<li>extractFiles()
: <a class="el" href="classJlCompress.html#a309e9ee366719a4d8aa28f837fab73ae">JlCompress</a>
</li>
</ul>
<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
<li>filePath()
: <a class="el" href="classQuaZipDir.html#ae8b576a150f8d62c902067603cbc97ae">QuaZipDir</a>
</li>
<li>filter()
: <a class="el" href="classQuaZipDir.html#abeee1810c7c1c1af93364081dbf70d38">QuaZipDir</a>
</li>
<li>flush()
: <a class="el" href="classQuaGzipFile.html#ab745f345b727c81abbc3eb5af4dca844">QuaGzipFile</a>
, <a class="el" href="classQuaZIODevice.html#a25f586eb564841b51c395fd17f1cc080">QuaZIODevice</a>
</li>
</ul>
<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
<li>getActualFileName()
: <a class="el" href="classQuaZipFile.html#a7b8e3c39026855cd98661a1b2815c220">QuaZipFile</a>
</li>
<li>getCaseSensitivity()
: <a class="el" href="classQuaZipFile.html#a25dbfddc589bf6b69b39905f3c3bcc73">QuaZipFile</a>
</li>
<li>getComment()
: <a class="el" href="classQuaZip.html#ae55cfbf2296132df808c557b62433051">QuaZip</a>
</li>
<li>getCommentCodec()
: <a class="el" href="classQuaZip.html#a008260161781d8b5d2a0a28493fddaf4">QuaZip</a>
</li>
<li>getCurrentFileInfo()
: <a class="el" href="classQuaZip.html#a9c91a53ed4c2038e153c64bdc097ebe8">QuaZip</a>
</li>
<li>getCurrentFileName()
: <a class="el" href="classQuaZip.html#a9783f8b4f39cd55e71e975aea78fd54a">QuaZip</a>
</li>
<li>getEntriesCount()
: <a class="el" href="classQuaZip.html#a2ea4bd1fca948637c35c2d2752bb5a80">QuaZip</a>
</li>
<li>getFileInfo()
: <a class="el" href="classQuaZipFile.html#ad3f5807329321be21b12c1ba5798b359">QuaZipFile</a>
</li>
<li>getFileInfoList()
: <a class="el" href="classQuaZip.html#a7486af66bede8e131db0cd2e81881387">QuaZip</a>
</li>
<li>getFileList()
: <a class="el" href="classJlCompress.html#ab42422be913f817d7e04c1b1cd5d0156">JlCompress</a>
</li>
<li>getFileName()
: <a class="el" href="classQuaGzipFile.html#a9a0954a1db1fcf2aeba0530239bce71c">QuaGzipFile</a>
, <a class="el" href="classQuaZipFile.html#a6999362e70a5b2396fba5cfb30095ff9">QuaZipFile</a>
</li>
<li>getFileNameCodec()
: <a class="el" href="classQuaZip.html#a27b866aa2c75ea6f9c438cbb6e32b43c">QuaZip</a>
</li>
<li>getFileNameList()
: <a class="el" href="classQuaZip.html#abb38d8b4c9c4ae0728b48caae9dd82de">QuaZip</a>
</li>
<li>getIoDevice()
: <a class="el" href="classQuaZip.html#afd3ba12fe68748acbf8b7cc14a5a1c29">QuaZip</a>
, <a class="el" href="classQuaZIODevice.html#ad63e7f1717c7d91b3c2c5ace908c98b7">QuaZIODevice</a>
</li>
<li>getMode()
: <a class="el" href="classQuaZip.html#a129ceff04d28fb00531f7bf7f9329664">QuaZip</a>
</li>
<li>getPermissions()
: <a class="el" href="structQuaZipFileInfo.html#af87f96a64d7c02b002622f81d13accdb">QuaZipFileInfo</a>
</li>
<li>getUnzFile()
: <a class="el" href="classQuaZip.html#a3b78a652f296ff4a678a791e8294e642">QuaZip</a>
</li>
<li>getZip()
: <a class="el" href="classQuaZipFile.html#a72daf8a9da14907a801a783603003205">QuaZipFile</a>
</li>
<li>getZipError()
: <a class="el" href="classQuaZip.html#a28b91a6282ddd9382c96a069572c6fb4">QuaZip</a>
, <a class="el" href="classQuaZipFile.html#a26d2ee56aad947193b73052f80597ef0">QuaZipFile</a>
</li>
<li>getZipFile()
: <a class="el" href="classQuaZip.html#a425043a4d7cc31e2fe2bba73d954f15c">QuaZip</a>
</li>
<li>getZipName()
: <a class="el" href="classQuaZipFile.html#a6f034a714aa94631367590de3f8f4e22">QuaZipFile</a>
, <a class="el" href="classQuaZip.html#a4f7deef08ff40aeb1a7a04bcd7f228c2">QuaZip</a>
</li>
<li>goToFirstFile()
: <a class="el" href="classQuaZip.html#a745488f9177bcec3cdb858587584e033">QuaZip</a>
</li>
<li>goToNextFile()
: <a class="el" href="classQuaZip.html#aee6779b6cd338420c2e8c5655fa8ba97">QuaZip</a>
</li>
</ul>
<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
<li>hasCurrentFile()
: <a class="el" href="classQuaZip.html#a00b237d926648f45da86db25e7cfb697">QuaZip</a>
</li>
</ul>
<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
<li>isDataDescriptorWritingEnabled()
: <a class="el" href="classQuaZip.html#ae5c665a59447c2d30e63e9c6df48ebb7">QuaZip</a>
</li>
<li>isOpen()
: <a class="el" href="classQuaZip.html#a5b869a9c0d4f49955b759592fec08888">QuaZip</a>
</li>
<li>isRaw()
: <a class="el" href="classQuaZipFile.html#a0df3db94c2a34c8d17ddaa0f54fc32c1">QuaZipFile</a>
</li>
<li>isRoot()
: <a class="el" href="classQuaZipDir.html#a598fdf23f1b37e1876476e5969040a32">QuaZipDir</a>
</li>
<li>isSequential()
: <a class="el" href="classQuaZipFile.html#a64430ec50820c8096f963a7e5f53001f">QuaZipFile</a>
, <a class="el" href="classQuaZIODevice.html#af2697f58c228741d3715801bf48a9a8b">QuaZIODevice</a>
, <a class="el" href="classQuaGzipFile.html#ae97f4e15d86c965c156df33d00318176">QuaGzipFile</a>
</li>
</ul>
<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
<li>nameFilters()
: <a class="el" href="classQuaZipDir.html#a00f18e23abb8cac04f975e7f31553f2e">QuaZipDir</a>
</li>
</ul>
<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
<li>open()
: <a class="el" href="classQuaGzipFile.html#a1d560babdfff3a3441d704099a5bc1e4">QuaGzipFile</a>
, <a class="el" href="classQuaZip.html#abfa4e6018b2964a3d10a4c54e5ab3962">QuaZip</a>
, <a class="el" href="classQuaZipFile.html#a2429ea59c77371d7af56d739db130b18">QuaZipFile</a>
, <a class="el" href="classQuaZIODevice.html#a175446c18eb20c9aff6faf23f09cc67a">QuaZIODevice</a>
, <a class="el" href="classQuaZipFile.html#aed75bace51f2bb4c3e4f656ab4493aac">QuaZipFile</a>
</li>
<li>operator!=()
: <a class="el" href="classQuaZipDir.html#a6e60d858d05774c958215ee7741eceed">QuaZipDir</a>
</li>
<li>operator=()
: <a class="el" href="classQuaZipDir.html#aa603c69be0c1597add5951b19f8bc961">QuaZipDir</a>
</li>
<li>operator==()
: <a class="el" href="classQuaZipDir.html#a4a2e07484c7159a3f469922ba2383547">QuaZipDir</a>
</li>
<li>operator[]()
: <a class="el" href="classQuaZipDir.html#a9e37ef5318c44a4575c58d66110e535a">QuaZipDir</a>
</li>
</ul>
<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
<li>path()
: <a class="el" href="classQuaZipDir.html#a68ac82ad605c0b10f9ee1a2d6d474f52">QuaZipDir</a>
</li>
<li>pos()
: <a class="el" href="classQuaZipFile.html#a90fd55dab83eca7f95df50b2c41b7f22">QuaZipFile</a>
</li>
</ul>
<h3><a class="anchor" id="index_q"></a>- q -</h3><ul>
<li>QuaGzipFile()
: <a class="el" href="classQuaGzipFile.html#a709608207b41ca81d5beed2b34982809">QuaGzipFile</a>
</li>
<li>QuaZIODevice()
: <a class="el" href="classQuaZIODevice.html#a8321ed35ee9b57cf9b1104912e236361">QuaZIODevice</a>
</li>
<li>QuaZip()
: <a class="el" href="classQuaZip.html#a970e0f401c7cfd7a78e78572f758eec4">QuaZip</a>
</li>
<li>QuaZipDir()
: <a class="el" href="classQuaZipDir.html#a6c9cc8b74c52d3fe997b753370566690">QuaZipDir</a>
</li>
<li>QuaZipFile()
: <a class="el" href="classQuaZipFile.html#ac6e883b5a5d3a58c9c56eb497dd91220">QuaZipFile</a>
</li>
<li>QuaZipNewInfo()
: <a class="el" href="structQuaZipNewInfo.html#ad47cf11f4277edcb09a8ba2b2963f2a9">QuaZipNewInfo</a>
</li>
</ul>
<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
<li>readData()
: <a class="el" href="classQuaGzipFile.html#a9eab41b46367e63e0c269c42ca883d82">QuaGzipFile</a>
, <a class="el" href="classQuaZIODevice.html#aa12b8bc9c923e543eda9ae22dbd1ecbb">QuaZIODevice</a>
, <a class="el" href="classQuaZipFile.html#aa1f2274e1579327855a17d67a9046ec2">QuaZipFile</a>
</li>
<li>relativeFilePath()
: <a class="el" href="classQuaZipDir.html#a2ae89c2b85786a0168656fc7a3faaf01">QuaZipDir</a>
</li>
<li>reset()
: <a class="el" href="classQuaCrc32.html#a3fe7ce6cb73512c963ffaabfbbc66363">QuaCrc32</a>
, <a class="el" href="classQuaChecksum32.html#ad3f5db3c76b00069db9bda333cb49d57">QuaChecksum32</a>
, <a class="el" href="classQuaAdler32.html#a2fe6ac9eb289bafda6a9fd20e6472ab5">QuaAdler32</a>
</li>
</ul>
<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
<li>setCaseSensitivity()
: <a class="el" href="classQuaZipDir.html#ad53c720975bb0c49a823355f7d518793">QuaZipDir</a>
</li>
<li>setComment()
: <a class="el" href="classQuaZip.html#a1b5d936a203859340574d5908ffa2222">QuaZip</a>
</li>
<li>setCommentCodec()
: <a class="el" href="classQuaZip.html#a413f3c56b54a9a47258d53802cb606e7">QuaZip</a>
</li>
<li>setCurrentFile()
: <a class="el" href="classQuaZip.html#a6c657bfcfccb59d728e0da24c677d899">QuaZip</a>
</li>
<li>setDataDescriptorWritingEnabled()
: <a class="el" href="classQuaZip.html#a6c23a12af88f7ea5edd4f9c0a24b9453">QuaZip</a>
</li>
<li>setFileDateTime()
: <a class="el" href="structQuaZipNewInfo.html#a2b18b554d056877a2f33ffb9d241ed85">QuaZipNewInfo</a>
</li>
<li>setFileName()
: <a class="el" href="classQuaGzipFile.html#a253fbaf410a3d4ae0a719505c5525149">QuaGzipFile</a>
, <a class="el" href="classQuaZipFile.html#a3732ca7704379d457b6a27db8837de95">QuaZipFile</a>
</li>
<li>setFileNameCodec()
: <a class="el" href="classQuaZip.html#a339010b5566704ba3c9cafbfe848d8fb">QuaZip</a>
</li>
<li>setFilePermissions()
: <a class="el" href="structQuaZipNewInfo.html#a08bee5211eb0b49da260c7a9e7a266b8">QuaZipNewInfo</a>
</li>
<li>setFilter()
: <a class="el" href="classQuaZipDir.html#a779a43641f0f3802678e39c9acd1fddb">QuaZipDir</a>
</li>
<li>setIoDevice()
: <a class="el" href="classQuaZip.html#a64642948b6531ee54f5522f29e388cc6">QuaZip</a>
</li>
<li>setNameFilters()
: <a class="el" href="classQuaZipDir.html#abcf208bfd6136e14f36725ae79dce2be">QuaZipDir</a>
</li>
<li>setPath()
: <a class="el" href="classQuaZipDir.html#ae82d06e43856414c30583205d337c111">QuaZipDir</a>
</li>
<li>setPermissions()
: <a class="el" href="structQuaZipNewInfo.html#aed68dc20f7dc42b5056491cf3c1d2d20">QuaZipNewInfo</a>
</li>
<li>setSorting()
: <a class="el" href="classQuaZipDir.html#ae43e9d717e3c4b1c0d4790cf558e7451">QuaZipDir</a>
</li>
<li>setZip()
: <a class="el" href="classQuaZipFile.html#ab7939a26d1e8de2f6aca54f49a12b980">QuaZipFile</a>
</li>
<li>setZipName()
: <a class="el" href="classQuaZip.html#aa80b661de1262af905d1677dbcb008cc">QuaZip</a>
, <a class="el" href="classQuaZipFile.html#ac8109e9a5c19bea75982ff6986b5cb1e">QuaZipFile</a>
</li>
<li>size()
: <a class="el" href="classQuaZipFile.html#ad1a17cc690a01c3edfb82984c3a4c8f0">QuaZipFile</a>
</li>
<li>sorting()
: <a class="el" href="classQuaZipDir.html#a4000523c961ab9e0cad08641ff10e3fa">QuaZipDir</a>
</li>
</ul>
<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
<li>update()
: <a class="el" href="classQuaAdler32.html#aba24f7b16aa0cdc26f81a9ad687fc653">QuaAdler32</a>
, <a class="el" href="classQuaChecksum32.html#a63a6ed3171f9243214d307da67557f7e">QuaChecksum32</a>
, <a class="el" href="classQuaCrc32.html#a5015d80e04afe6e6d094155b7e99888e">QuaCrc32</a>
</li>
<li>usize()
: <a class="el" href="classQuaZipFile.html#a4814b5e6e39fb254737b81ea10964f50">QuaZipFile</a>
</li>
</ul>
<h3><a class="anchor" id="index_v"></a>- v -</h3><ul>
<li>value()
: <a class="el" href="classQuaAdler32.html#a2022e1db95c23cef220b335e44d74fb1">QuaAdler32</a>
, <a class="el" href="classQuaCrc32.html#a957ce46a53862f75c89d6a3ac4f73389">QuaCrc32</a>
, <a class="el" href="classQuaChecksum32.html#afd836e7534194fce08356be6a8336da7">QuaChecksum32</a>
</li>
</ul>
<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
<li>writeData()
: <a class="el" href="classQuaGzipFile.html#a6dd09d41d8a51c96b0f2134eff37f676">QuaGzipFile</a>
, <a class="el" href="classQuaZipFile.html#abd07949a6fcc2ef094d2be5398bc8e7c">QuaZipFile</a>
, <a class="el" href="classQuaZIODevice.html#aab23b6badbc3548eb71ca86bf6211902">QuaZIODevice</a>
</li>
</ul>
<h3><a class="anchor" id="index_0x7e"></a>- ~ -</h3><ul>
<li>~QuaGzipFile()
: <a class="el" href="classQuaGzipFile.html#a1200bc76f36bb2e1991e1e0467befbf2">QuaGzipFile</a>
</li>
<li>~QuaZIODevice()
: <a class="el" href="classQuaZIODevice.html#ab3524cef44c240c21e6b7680ee5f42de">QuaZIODevice</a>
</li>
<li>~QuaZip()
: <a class="el" href="classQuaZip.html#af60a2d3930b90f3b25a3148baecad81e">QuaZip</a>
</li>
<li>~QuaZipDir()
: <a class="el" href="classQuaZipDir.html#ae95d60e2c23e611723371bf8fff2b095">QuaZipDir</a>
</li>
<li>~QuaZipFile()
: <a class="el" href="classQuaZipFile.html#aa1e5a0cf491bafae6cc73e649caa97fc">QuaZipFile</a>
</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

View File

@ -0,0 +1,117 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QuaZIP: Class Members - Variables</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-5-1</span></div>
</td>
</tr>
</tbody>
</table>
</div>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li><a href="functions.html"><span>All</span></a></li>
<li><a href="functions_func.html"><span>Functions</span></a></li>
<li class="current"><a href="functions_vars.html"><span>Variables</span></a></li>
<li><a href="functions_enum.html"><span>Enumerations</span></a></li>
<li><a href="functions_eval.html"><span>Enumerator</span></a></li>
</ul>
</div>
</div>
<div class="contents">
&#160;<ul>
<li>comment
: <a class="el" href="structQuaZipFileInfo.html#adc2aad7bbd87ce3415e2a19851266bfc">QuaZipFileInfo</a>
, <a class="el" href="structQuaZipNewInfo.html#ae24b1d38c3550b4724862ffcf8f20924">QuaZipNewInfo</a>
</li>
<li>compressedSize
: <a class="el" href="structQuaZipFileInfo.html#af6116eaac1f36b2a4b3a6a39851a85cc">QuaZipFileInfo</a>
</li>
<li>crc
: <a class="el" href="structQuaZipFileInfo.html#aceee045c9ebce0b9724f40d342bc99ea">QuaZipFileInfo</a>
</li>
<li>dateTime
: <a class="el" href="structQuaZipFileInfo.html#ad6993d099436813a27fd31aebe42911a">QuaZipFileInfo</a>
, <a class="el" href="structQuaZipNewInfo.html#aec7f3ac72c72a2e10b82ad64c2fa3453">QuaZipNewInfo</a>
</li>
<li>diskNumberStart
: <a class="el" href="structQuaZipFileInfo.html#aa70157fdc2bd8de10405055b4233050b">QuaZipFileInfo</a>
</li>
<li>externalAttr
: <a class="el" href="structQuaZipFileInfo.html#afeb65ffdacc4fc0ba7848d4b37f62ecf">QuaZipFileInfo</a>
, <a class="el" href="structQuaZipNewInfo.html#affd1a9700d302e1395bd04f0864da7d0">QuaZipNewInfo</a>
</li>
<li>extra
: <a class="el" href="structQuaZipFileInfo.html#affc7b097de2c3c2ef5801c60f96adc72">QuaZipFileInfo</a>
</li>
<li>extraGlobal
: <a class="el" href="structQuaZipNewInfo.html#abda207eb3949db3a88761c1b06e6bd58">QuaZipNewInfo</a>
</li>
<li>extraLocal
: <a class="el" href="structQuaZipNewInfo.html#ab377a81c51cf495c7aeee4f19340a43f">QuaZipNewInfo</a>
</li>
<li>flags
: <a class="el" href="structQuaZipFileInfo.html#a56d36f777e4fc892c71e22d080622e2c">QuaZipFileInfo</a>
</li>
<li>internalAttr
: <a class="el" href="structQuaZipFileInfo.html#a36e681a93b041617addee78cb939c93d">QuaZipFileInfo</a>
, <a class="el" href="structQuaZipNewInfo.html#a59ce9776c2ac7547ade8cb4c404c77ab">QuaZipNewInfo</a>
</li>
<li>method
: <a class="el" href="structQuaZipFileInfo.html#af5c1bbda7f5dec2c358e7a543564de4c">QuaZipFileInfo</a>
</li>
<li>name
: <a class="el" href="structQuaZipFileInfo.html#a16ac323965deccf0232bfae69d933a84">QuaZipFileInfo</a>
, <a class="el" href="structQuaZipNewInfo.html#a2bdef01b6ac3326e48598e32bfa5fbe8">QuaZipNewInfo</a>
</li>
<li>uncompressedSize
: <a class="el" href="structQuaZipFileInfo.html#a0eb908e1b1ea637d1f1f4d6aa31db07f">QuaZipFileInfo</a>
, <a class="el" href="structQuaZipNewInfo.html#a18c079b3f2f5ab6eecdd61d6dbe93be6">QuaZipNewInfo</a>
</li>
<li>unzFile_f
: <a class="el" href="classQuaZipPrivate.html#aeb1d2d3263929b17d6b0608e35af2a88">QuaZipPrivate</a>
</li>
<li>versionCreated
: <a class="el" href="structQuaZipFileInfo.html#a52f3f1d960ebaa2acbc2a86458fa3e6e">QuaZipFileInfo</a>
</li>
<li>versionNeeded
: <a class="el" href="structQuaZipFileInfo.html#a8b73982808bded49e88e624a65e1a94f">QuaZipFileInfo</a>
</li>
<li>zipFile_f
: <a class="el" href="classQuaZipPrivate.html#ab83497156892d07e6a1514cef149a1e2">QuaZipPrivate</a>
</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Sat Mar 2 2013 11:05:10 for QuaZIP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More