From 987dc35e38883a12757a836ca67e8cbf58a4e1e8 Mon Sep 17 00:00:00 2001 From: Markus Mittendrein Date: Wed, 7 Sep 2016 20:56:18 +0200 Subject: Add dcc disconnect command --- src/crsm.cpp | 13 +++++++++++++ src/crsm.hpp | 1 + 2 files changed, 14 insertions(+) diff --git a/src/crsm.cpp b/src/crsm.cpp index 601d3b1..2e14319 100644 --- a/src/crsm.cpp +++ b/src/crsm.cpp @@ -1499,6 +1499,7 @@ void CRSM::setupCmds() { addCommandGroup("dcc", IRC, User, "Die dcc-Befehlsgruppe bietet die Möglichkeit zum Steuern eines DCC-Chats."); addCommand("dcc connect", &CRSM::dccConnect, IRC, User, "Sendet eine DCC-Chat-Verbindungsanfrage."); + addCommand("dcc disconnect", &CRSM::dccDisconnect, IRC, User, "Schließt die zum Nick zugewiesene DCC-Verbindung, falls vorhanden."); addCommand("dcc identify", &CRSM::dccIdentify, IRC, User, "Mit dem Befehl wird eine neu geöffnete DCC-Verbindung einem Benutzer zugewiesen.", ""); } } @@ -3309,6 +3310,18 @@ CMD_FUNCTION_IMPL(dccConnect) return Success; } +CMD_FUNCTION_IMPL(dccDisconnect) + if(dccNickConnections.contains(client.nick)) + { + QTimer::singleShot(0, dccNickConnections[client.nick].socket, &QTcpSocket::close); + } + else + { + respond(client, "Diesem Nick ist keine DCC-Verbindung zugewiesen.\n"); + } + return Success; +} + CMD_FUNCTION_IMPL(dccIdentify) if(dccNickConnections.contains(client.nick)) { diff --git a/src/crsm.hpp b/src/crsm.hpp index 27da66c..8fc8798 100644 --- a/src/crsm.hpp +++ b/src/crsm.hpp @@ -378,6 +378,7 @@ private: CMD_FUNCTION(packsScenariosList); CMD_FUNCTION(dccConnect); + CMD_FUNCTION(dccDisconnect); CMD_FUNCTION(dccIdentify); -- cgit v1.2.3-54-g00ecf