//
//     Copyright 2008 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2007 Jim Bublitz also apply

//                 Generated by twine

// This file is part of PyKDE4.

// PyKDE4 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.1 of
// the License, or (at your option) any later version.

// PyKDE4 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.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

//ig typedef KSharedPtr<KSharedConfig> KSharedConfigPtr;

%ModuleHeaderCode
#include <kprotocolmanager.h>
%End


class KProtocolManager
{
%TypeHeaderCode
#include <kprotocolmanager.h>
%End


public:
    static QString          defaultUserAgent ();
    static QString          defaultUserAgent (const QString& keys);

    static QString          userAgentForApplication (const QString& appName, const QString& appVersion, const QStringList& extraInfo = QStringList());

    static QString          userAgentForHost (const QString& hostname);

    static bool             getSystemNameVersionAndMachine (QString& systemName, QString& systemVersion, QString& machine);

    static int              readTimeout ();
    static int              connectTimeout ();
    static int              proxyConnectTimeout ();
    static int              responseTimeout ();
    static bool             useProxy ();
    static bool             useReverseProxy ();

    enum ProxyType
    {
        NoProxy,
        ManualProxy,
        PACProxy,
        WPADProxy,
        EnvVarProxy
    };

    static KProtocolManager::ProxyType  proxyType ();

    enum ProxyAuthMode
    {
        Prompt,
        Automatic
    };

    static KProtocolManager::ProxyAuthMode  proxyAuthMode ();
    static QString          noProxyFor ();
    static QString          proxyFor (const QString& protocol);
    static QString          proxyForUrl (const KUrl& url);
    static void             badProxy (const QString& proxy);
    static QString          proxyConfigScript ();
    static bool             useCache ();
    static int              maxCacheAge ();
    static int              maxCacheSize ();
    static QString          cacheDir ();
    static KIO::CacheControl  cacheControl ();
    static bool             autoResume ();
    static bool             markPartial ();
    static int              minimumKeepSize ();
    static bool             persistentProxyConnection ();
    static bool             persistentConnections ();
    static bool             supportsListing (const KUrl& url);
    static bool             supportsReading (const KUrl& url);
    static bool             supportsWriting (const KUrl& url);
    static bool             supportsMakeDir (const KUrl& url);
    static bool             supportsDeleting (const KUrl& url);
    static bool             supportsLinking (const KUrl& url);
    static bool             supportsMoving (const KUrl& url);
    static bool             supportsOpening (const KUrl& url);
    static bool             canCopyFromFile (const KUrl& url);
    static bool             canCopyToFile (const KUrl& url);
    static bool             canRenameFromFile (const KUrl& url);
    static bool             canRenameToFile (const KUrl& url);
    static bool             canDeleteRecursive (const KUrl& url);
    static KProtocolInfo::FileNameUsedForCopying  fileNameUsedForCopying (const KUrl& url);
    static QString          defaultMimetype (const KUrl& url);
    static KProtocolInfo::Type  inputType (const KUrl& url);
    static KProtocolInfo::Type  outputType (const KUrl& url);
    static QStringList      listing (const KUrl& url);
    static bool             isSourceProtocol (const KUrl& url);

    static QString          protocolForArchiveMimetype (const QString& mimeType);

    static void             reparseConfiguration ();
    static QString          slaveProtocol (const KUrl& url, QString& proxy);
    static QString          acceptLanguagesHeader ();
};   // KProtocolManager


