summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Mittendrein <git@maxmitti.tk>2016-09-07 20:56:18 +0200
committerMarkus Mittendrein <git@maxmitti.tk>2016-09-07 20:56:32 +0200
commit987dc35e38883a12757a836ca67e8cbf58a4e1e8 (patch)
treedc56e633d5b93a9b6fdc259e8917168820f9dd70
parent7daecef2aaab3647011a5a7a0859e27558dcb9b3 (diff)
downloadmanager-987dc35e38883a12757a836ca67e8cbf58a4e1e8.tar.gz
manager-987dc35e38883a12757a836ca67e8cbf58a4e1e8.zip
Add dcc disconnect command
-rw-r--r--src/crsm.cpp13
-rw-r--r--src/crsm.hpp1
2 files changed, 14 insertions, 0 deletions
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.", "<Verbindungs-ID>");
}
}
@@ -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);