diff --git a/src/networkplugin.cpp b/src/networkplugin.cpp index 2aa5ce7a5667355699fc0d8ccb4754d6e8810230..86ae3bd5ecae9b089b9fa6d045861c770107eca2 100644 --- a/src/networkplugin.cpp +++ b/src/networkplugin.cpp @@ -373,6 +373,26 @@ void NetworkPlugin::handleFTStartPayload(const std::string &data) { handleFTStartRequest(payload.username(), payload.buddyname(), payload.filename(), payload.size(), payload.ftid()); } +void NetworkPlugin::handleFTPausePayload(const std::string &data) { + pbnetwork::FileTransferData payload; + if (payload.ParseFromString(data) == false) { + // TODO: ERROR + return; + } + + handleFTPauseRequest(payload.ftid()); +} + +void NetworkPlugin::handleFTContinuePayload(const std::string &data) { + pbnetwork::FileTransferData payload; + if (payload.ParseFromString(data) == false) { + // TODO: ERROR + return; + } + + handleFTContinueRequest(payload.ftid()); +} + void NetworkPlugin::handleJoinRoomPayload(const std::string &data) { pbnetwork::Room payload; if (payload.ParseFromString(data) == false) { @@ -523,6 +543,12 @@ void NetworkPlugin::handleDataRead(boost::shared_ptr data) case pbnetwork::WrapperMessage_Type_TYPE_FT_START: handleFTStartPayload(wrapper.payload()); break; + case pbnetwork::WrapperMessage_Type_TYPE_FT_PAUSE: + handleFTPausePayload(wrapper.payload()); + break; + case pbnetwork::WrapperMessage_Type_TYPE_FT_CONTINUE: + handleFTContinuePayload(wrapper.payload()); + break; default: return; }