Transfer.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include "Qt.h"
00024 #include "Transfer.h"
00025 #include "Imports.cpp"
00026
00027 Transfer::Transfer (TrackerManager *trackerManager,
00028 SessionManager *sessionManager,
00029 QList <PacketProcessor *>packetProcessors)
00030 : trackerManager_ (trackerManager),
00031 sessionManager_ (sessionManager),
00032 packetProcessors_ (packetProcessors)
00033 {
00034 }
00035
00036 void Transfer::start (const Torrent &torrent)
00037 {
00038 trackerManager_->start (torrent.announce());
00039 sessionManager_->start();
00040 }
00041
00042 void Transfer::stop()
00043 {
00044 trackerManager_->stop();
00045 sessionManager_->stop();
00046 }
00047
00048 void Transfer::trackerManagerFoundPeers (const QList <PeerInfo> &peers)
00049 {
00050 sessionManager_->addPeers (peers);
00051 }
00052
00053 void Transfer::sessionManagerEstablishedSession (TransferSession *session)
00054 {
00055 foreach (PacketProcessor *processor, packetProcessors_)
00056 processor->openedSession (session);
00057 }
00058
00059 void Transfer::transferSessionReceivedPacket (TransferSession *transferSession,
00060 const Packet &packet)
00061 {
00062 foreach (PacketProcessor *processor, packetProcessors_)
00063 processor->incomingPacket (transferSession, packet);
00064 }
00065
00066 void Transfer::transferSessionSendingPacket (TransferSession *transferSession,
00067 const Packet &packet)
00068 {
00069 foreach (PacketProcessor *processor, packetProcessors_)
00070 processor->outgoingPacket (transferSession, packet);
00071 }
00072
00073 void Transfer::transferSessionClosing (TransferSession *)
00074 {
00075
00076
00077 }
00078
00079 void Transfer::transferSessionClosed (TransferSession *transferSession)
00080 {
00081 foreach (PacketProcessor *processor, packetProcessors_)
00082 processor->closedSession (transferSession);
00083 sessionManager_->closedSession (transferSession);
00084 }