5
Copyright (c) 2006 André Duffeck <duffeck@kde.org>
7
*************************************************************************
9
* This library is free software; you can redistribute it and/or *
10
* modify it under the terms of the GNU Lesser General Public *
11
* License as published by the Free Software Foundation; either *
12
* version 2 of the License, or (at your option) any later version. *
14
*************************************************************************
17
#ifndef SENDFILETASK_H
18
#define SENDFILETASK_H
32
class SendFileTask : public Task
36
SendFileTask(Task *parent);
41
bool take(Transfer *transfer);
43
void setTarget( const QString &to );
44
void setMessage( const QString &msg );
45
void setFileUrl( KUrl url );
46
void setTransferId( unsigned int transferId );
49
void bytesProcessed( unsigned int, unsigned int );
50
void complete( unsigned int );
51
void error( unsigned int, int, const QString & );
56
bool forMe( const Transfer *transfer ) const;
57
void sendFileTransferInfo();
58
void parseFileTransfer( const Transfer *transfer );
59
void parseTransferAccept(const Transfer *transfer);
61
QString newYahooTransferId();
63
/** returns true if things need to be stopped due to file transfer error or completed */
64
bool fillSendBuffer();
66
/** returns true if file transfer completed */
67
bool checkTransferEnd();
70
void connectSucceeded();
71
void connectFailed( int );
73
void transmitHeader();
74
void canceled( unsigned int );
81
unsigned int m_transferId;
82
unsigned int m_transmitted;
83
KNetwork::KStreamSocket *m_socket;
87
QString m_yahooTransferId;
89
/** buffer containing data to be sent */
91
/** position (until m_bufferInPos) of data ready to be sent on the wire */
93
/** position where next fills from the file should happen */