From 8aaae9e3eca7853e9c693d2401f721d75209acf7 Mon Sep 17 00:00:00 2001 From: skyhusker Date: Thu, 03 Feb 2005 21:47:50 +0000 Subject: Added DCC receive support --- (limited to 'noncore/net/opieirc/dcctransfer.cpp') 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 +#include + +#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); +} -- cgit v0.9.0.2