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

namespace KIO
{

class ForwardingSlaveBase : QObject, KIO::SlaveBase
{
%TypeHeaderCode
#include <forwardingslavebase.h>
%End


public:
                            ForwardingSlaveBase (const QByteArray& protocol, const QByteArray& poolSocket, const QByteArray& appSocket);
    virtual void            get (const KUrl& url);
    virtual void            put (const KUrl& url, int permissions, KIO::JobFlags flags);
    virtual void            stat (const KUrl& url);
    virtual void            mimetype (const KUrl& url);
    virtual void            listDir (const KUrl& url);
    virtual void            mkdir (const KUrl& url, int permissions);
    virtual void            rename (const KUrl& src, const KUrl& dest, KIO::JobFlags flags);
    virtual void            symlink (const QString& target, const KUrl& dest, KIO::JobFlags flags);
    virtual void            chmod (const KUrl& url, int permissions);
    virtual void            setModificationTime (const KUrl& url, const QDateTime& mtime);
    virtual void            copy (const KUrl& src, const KUrl& dest, int permissions, KIO::JobFlags flags);
    virtual void            del (const KUrl& url, bool isfile) /PyName=del_/;

protected:
    virtual bool            rewriteUrl (const KUrl& url, KUrl& newURL) = 0;
    virtual void            prepareUDSEntry (KIO::UDSEntry& entry, bool listing = 0) const;
    KUrl                    processedUrl () const;
    KUrl                    requestedUrl () const;
};   // ForwardingSlaveBase

};   // KIO


