1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
/*
(c) Copyright 2012 - 2018 Anton Sviridenko
https://picapica.im
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, version 3.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
#ifndef FILETRANSFERCONTROLLER_H
#define FILETRANSFERCONTROLLER_H
#include <QObject>
#include <QMap>
#include "dialogs/filetransferdialog.h"
class FileTransferController : public QObject
{
Q_OBJECT
public:
explicit FileTransferController(QObject *parent = 0);
signals:
private:
QMap<QByteArray, FileTransferDialog*> ftdialogs_in;
QMap<QByteArray, FileTransferDialog*> ftdialogs_out;
QMap<QByteArray, QString> fnames;
public slots:
// from remote peer to me
void file_progress(QByteArray peer_id, quint64 bytes_sent, quint64 bytes_received);
void file_request(QByteArray peer_id, quint64 file_size, QString filename);
void file_accepted_by_peer(QByteArray peer_id);
void file_denied_by_peer(QByteArray peer_id);
void file_paused_incoming(QByteArray peer_id);
void file_resumed_incoming(QByteArray peer_id);
void file_cancelled_incoming(QByteArray peer_id);
void file_ioerror_incoming(QByteArray peer_id);
void file_paused_outgoing(QByteArray peer_id);
void file_resumed_outgoing(QByteArray peer_id);
void file_cancelled_outgoing(QByteArray peer_id);
void file_ioerror_outgoing(QByteArray peer_id);
void file_finished_incoming(QByteArray peer_id);
void file_peer_disconnected(QByteArray peer_id);
//from me (file transfer dialog shown to user) to remote peer
void file_accepted_by_me(QByteArray peer_id);
void file_denied_by_me(QByteArray peer_id);
void file_cancelled_by_me(QByteArray peer_id, FileTransferDialog *from);
void file_paused_by_me(QByteArray peer_id, FileTransferDialog *from);
void file_resumed_by_me(QByteArray peer_id, FileTransferDialog *from);
void send_file(QByteArray peer_id);
void file_finished_outgoing(QByteArray peer_id);
};
#endif // FILETRANSFERCONTROLLER_H
|