/* ============================================================
*
* This file is a part of the rekonq project
*
* Copyright (C) 2007-2008 Trolltech ASA. All rights reserved
* Copyright (C) 2008-2009 by Andrea Diamantini <adjam7 at gmail dot com>
*
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
* Public License as published by the Free Software Foundation;
* either version 3, 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 General Public License for more details.
*
* ============================================================ */


#ifndef NETWORKMANAGER_H
#define NETWORKMANAGER_H

// KDE Includes
#include <KIO/AccessManager>

// Forward Declarations
class QNetworkDiskCache;

using namespace KIO;

class NetworkAccessManager : public AccessManager
{
    Q_OBJECT

public:
    NetworkAccessManager(QObject *parent = 0);

    void resetDiskCache();
    
public slots:
    void loadSettings();

private slots:
    void authenticationRequired(QNetworkReply *reply, QAuthenticator *auth);
    void proxyAuthenticationRequired(const QNetworkProxy &proxy, QAuthenticator *auth);

#ifndef QT_NO_OPENSSL
    void slotSSLErrors(QNetworkReply *reply, const QList<QSslError> &error);
#endif

private:
    QNetworkDiskCache *m_diskCache;
    
};

#endif // NETWORKMANAGER_H