//
//     Copyright 2006 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2005 Jim Bublitz and/or Phil Thompson
//     may also apply


//                 Generated by preSip
//            module tdeio  version KDE 3.5.3


// This software 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 2 of
// the License, or (at your option) any later version.
//
// This software 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 library; see the file COPYING.
// If not, write to the Free Software Foundation, Inc.,
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

%ModuleHeaderCode
#include <slaveinterface.h>
%End

namespace TDEIO
{

enum Info
{
    INF_TOTAL_SIZE, 
    INF_PROCESSED_SIZE, 
    INF_SPEED, 
    INF_REDIRECTION, 
    INF_MIME_TYPE, 
    INF_ERROR_PAGE, 
    INF_WARNING, 
    INF_GETTING_FILE, 
    INF_NEED_PASSWD, 
    INF_INFOMESSAGE, 
    INF_META_DATA, 
    INF_NETWORK_STATUS, 
    INF_MESSAGEBOX
};


%If ( KDE_3_1_2 -  )

enum Message
{
    MSG_DATA, 
    MSG_DATA_REQ, 
    MSG_ERROR, 
    MSG_CONNECTED, 
    MSG_FINISHED, 
    MSG_STAT_ENTRY, 
    MSG_LIST_ENTRIES, 
    MSG_RENAMED, 
    MSG_RESUME, 
    MSG_SLAVE_STATUS, 
    MSG_SLAVE_ACK, 
    MSG_NET_REQUEST, 
    MSG_NET_DROP, 
    MSG_NEED_SUBURL_DATA, 
    MSG_CANRESUME, 
    MSG_AUTH_KEY, 
    MSG_DEL_AUTH_KEY
};

%End


class SlaveInterface : TQObject
{
%TypeHeaderCode
#include <slaveinterface.h>
%End


public:
                         SlaveInterface (TDEIO::Connection*);
    void                 setConnection (TDEIO::Connection*);
    TDEIO::Connection*     connection () const;
    void                 setProgressId (int);
    int                  progressId () const;
    void                 sendResumeAnswer (bool);
    void                 setOffset (TDEIO::filesize_t);
    TDEIO::filesize_t      offset () const;

signals:
    void                 data (const TQByteArray&);
    void                 dataReq ();
    void                 error (int, const TQString&);
    void                 connected ();
    void                 finished ();
    void                 slaveStatus (pid_t, const TQCString&, const TQString&, bool);
    void                 listEntries (const TDEIO::UDSEntryList&);
    void                 statEntry (const TDEIO::UDSEntry&);
    void                 needSubURLData ();
    void                 needProgressId ();
    void                 canResume (TDEIO::filesize_t);
    void                 metaData (const TDEIO::MetaData&);
    void                 totalSize (TDEIO::filesize_t);
    void                 processedSize (TDEIO::filesize_t);
    void                 redirection (const KURL&);
    void                 speed (ulong);
    void                 errorPage ();
    void                 mimeType (const TQString&);
    void                 warning (const TQString&);
    void                 infoMessage (const TQString&);
    void                 connectFinished ();
    void                 authorizationKey (const TQCString&, const TQCString&, bool);
    void                 delAuthorization (const TQCString&);

protected:
    virtual bool         dispatch ();
    virtual bool         dispatch (int, const TQByteArray&);
    void                 openPassDlg (TDEIO::AuthInfo&);
    void                 openPassDlg (const TQString&, const TQString&, const TQString&, const TQString&, const TQString&, bool);
    void                 openPassDlg (const TQString&, const TQString&, bool);
    void                 messageBox (int, const TQString&, const TQString&, const TQString&, const TQString&);

%If ( KDE_3_3_0 -  )
    void                 messageBox (int, const TQString&, const TQString&, const TQString&, const TQString&, const TQString&);
%End

    void                 requestNetwork (const TQString&, const TQString&);
    void                 dropNetwork (const TQString&, const TQString&);
    static void          sigpipe_handler (int);

protected slots:
    void                 calcSpeed ();

protected:

protected:
//igx     virtual void         virtual_hook (int, void*);

};  // class SlaveInterface


%If (  - KDE_3_2_0 )

enum Command
{
    CMD_HOST, 
    CMD_CONNECT, 
    CMD_DISCONNECT, 
    CMD_SLAVE_STATUS, 
    CMD_SLAVE_CONNECT, 
    CMD_SLAVE_HOLD, 
    CMD_NONE, 
    CMD_TESTDIR, 
    CMD_GET, 
    CMD_PUT, 
    CMD_STAT, 
    CMD_MIMETYPE, 
    CMD_LISTDIR, 
    CMD_MKDIR, 
    CMD_RENAME, 
    CMD_COPY, 
    CMD_DEL, 
    CMD_CHMOD, 
    CMD_SPECIAL, 
    CMD_USERPASS, 
    CMD_REPARSECONFIGURATION, 
    CMD_META_DATA, 
    CMD_SYMLINK, 
    CMD_SUBURL, 
    CMD_MESSAGEBOXANSWER, 
    CMD_RESUMEANSWER, 
    CMD_CONFIG, 
    CMD_MULTI_GET
};

%End

};  // namespace TDEIO


%If ( KDE_3_1_4 -  )
//igx TQDataStream&         operator << (TQDataStream&, const TDEIO::UDSEntry&);
//igx TQDataStream&         operator >> (TQDataStream&, TDEIO::UDSEntry&);
%End
