void CoreTransfer::onSocketDisconnected()
{
- if (state() == Connecting || state() == Transferring) {
+ if (state() == State::Connecting || state() == State::Transferring) {
setError(tr("Socket closed while still transferring!"));
}
else
{
Q_UNUSED(error)
- if (state() == Connecting || state() == Transferring) {
+ if (state() == State::Connecting || state() == State::Transferring) {
setError(tr("DCC connection error: %1").arg(_socket->errorString()));
}
}
void CoreTransfer::requestAccepted(PeerPtr peer)
{
- if (_peer || !peer || state() != New)
+ if (_peer || !peer || state() != State::New)
return; // transfer was already accepted
_peer = peer;
- setState(Pending);
+ setState(State::Pending);
emit accepted(peer);
void CoreTransfer::requestRejected(PeerPtr peer)
{
- if (_peer || state() != New)
+ if (_peer || state() != State::New)
return;
_peer = peer;
- setState(Rejected);
+ setState(State::Rejected);
emit rejected(peer);
}
void CoreTransfer::start()
{
- if (!_peer || state() != Pending || direction() != Receive)
+ if (!_peer || state() != State::Pending || direction() != Direction::Receive)
return;
setupConnectionForReceive();
return;
}
- setState(Connecting);
+ setState(State::Connecting);
_socket = new QTcpSocket(this);
connect(_socket, SIGNAL(connected()), SLOT(startReceiving()));
void CoreTransfer::startReceiving()
{
- setState(Transferring);
+ setState(State::Transferring);
}
else if (_pos == fileSize()) {
qDebug() << "DCC Receive: Transfer finished";
if (relayData(QByteArray(), false)) // empty buffer
- setState(Completed);
+ setState(State::Completed);
}
_reading = false;
// we only want to send data to the client once we have reached the chunksize
if (_buffer.size() > 0 && (_buffer.size() >= chunkSize || !requireChunkSize)) {
- SYNC_OTHER(dataReceived, ARG(_peer), ARG(_buffer));
+ Peer *p = _peer.data();
+ SYNC_OTHER(dataReceived, ARG(p), ARG(_buffer));
_buffer.clear();
}