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.cpp | |
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.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/opieirc/dcctransfer.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/noncore/net/opieirc/dcctransfer.cpp b/noncore/net/opieirc/dcctransfer.cpp new file mode 100644 index 0000000..cfa9f74 --- a/dev/null +++ b/noncore/net/opieirc/dcctransfer.cpp @@ -0,0 +1,41 @@ +#include <qsocket.h> +#include <qfile.h> + +#include "dcctransfer.h" + + +DCCTransfer::DCCTransfer(Q_UINT32 ip4Addr, Q_UINT16 port, const QString &filename, unsigned int size) + : m_socket(new QSocket), m_file(new QFile), m_bufSize(4096), m_buffer(new char[m_bufSize]), + m_ip4Addr(ip4Addr), m_port(port), m_totalSize(size), m_processedSize(0) +{ + m_file->setName(filename); +} + +DCCTransfer::~DCCTransfer() +{ + if(m_socket) + delete m_socket; + if(m_file) { + m_file->close(); + delete m_file; + } + if(m_buffer) + delete []m_buffer; +} + + +void DCCTransfer::cancel() +{ + if(m_socket) + m_socket->close(); + + emit(finished(DCCTransfer::SelfAborted)); +} + +QString DCCTransfer::filename() +{ + if(!m_file) + return QString::null; + + return m_file->name().mid(m_file->name().findRev('/') + 1); +} |