/* incomingtransfer.h - msn p2p protocol Copyright (c) 2003-2005 by Olivier Goffart Copyright (c) 2005 by Gregg Edghill ************************************************************************* * * * 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 2 of the License, or * * (at your option) any later version. * * * ************************************************************************* */ #ifndef INCOMINGTRANSFER_H #define INCOMINGTRANSFER_H #include "p2p.h" #include "dispatcher.h" namespace KNetwork{ class TDEServerSocket; } /** @author Kopete Developers */ namespace P2P{ class IncomingTransfer : public P2P::TransferContext { Q_OBJECT public: IncomingTransfer(const TQString& from, P2P::Dispatcher *dispatcher, TQ_UINT32 sessionId); virtual ~IncomingTransfer(); private slots: void slotListenError(int errorCode); void slotAccept(); void slotSocketRead(); void slotSocketClosed(); void slotSocketError(int errorCode); void slotTransferAccepted(Kopete::Transfer* transfer, const TQString& fileName); void slotTransferRefused(const Kopete::FileTransferInfo& info); private: virtual void acknowledged(); virtual void processMessage(const Message& message); KTempFile *m_tempFile; KNetwork::TDEServerSocket *m_listener; }; } #endif