author | skyhusker <skyhusker> | 2005-02-03 21:47:50 (UTC) |
---|---|---|
committer | skyhusker <skyhusker> | 2005-02-03 21:47:50 (UTC) |
commit | 8aaae9e3eca7853e9c693d2401f721d75209acf7 (patch) (side-by-side diff) | |
tree | 6f700d154fac8510b322242496604d0ad7589377 /noncore/net/opieirc/dcctransfer.h | |
parent | 875b3b63624308f4e50f82e17db27edeb9609d6c (diff) | |
download | opie-8aaae9e3eca7853e9c693d2401f721d75209acf7.zip opie-8aaae9e3eca7853e9c693d2401f721d75209acf7.tar.gz opie-8aaae9e3eca7853e9c693d2401f721d75209acf7.tar.bz2 |
Added DCC receive support
Diffstat (limited to 'noncore/net/opieirc/dcctransfer.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/opieirc/dcctransfer.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/noncore/net/opieirc/dcctransfer.h b/noncore/net/opieirc/dcctransfer.h new file mode 100644 index 0000000..775ed24 --- a/dev/null +++ b/noncore/net/opieirc/dcctransfer.h @@ -0,0 +1,44 @@ +#ifndef DCCTRANSFER_H +#define DCCTRANSFER_H + +#include <qobject.h> + +class QSocket; +class QFile; +class QString; + +class DCCTransfer: public QObject { + Q_OBJECT +public: + enum Type { Send, Recv }; + enum EndCode { Successfull, SelfAborted, PeerAborted, Timeout }; + + DCCTransfer(Q_UINT32 ip4Addr, Q_UINT16 port, const QString &filename, unsigned int size); + virtual ~DCCTransfer(); + + void cancel(); + + QString filename(); + +signals: + virtual void finished(DCCTransfer *transfer, EndCode code); + virtual void progress(int progress); + +protected slots: + virtual void slotProcess() = 0; + virtual void slotFinished() = 0; + +protected: + QSocket *m_socket; + QFile *m_file; + unsigned int m_bufSize; + char *m_buffer; + Q_UINT32 m_ip4Addr; + Q_UINT16 m_port; + unsigned int m_totalSize; + unsigned int m_processedSize; + bool m_cancel; + bool m_timeout; +}; + +#endif |