Diffstat (limited to 'noncore/net/opieirc/ircconnection.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/opieirc/ircconnection.cpp | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/noncore/net/opieirc/ircconnection.cpp b/noncore/net/opieirc/ircconnection.cpp index 2325cca..88e63f7 100644 --- a/noncore/net/opieirc/ircconnection.cpp +++ b/noncore/net/opieirc/ircconnection.cpp @@ -1,6 +1,10 @@ #include <unistd.h> #include <string.h> + +#include <qstringlist.h> +#include <qdatetime.h> + #include "ircconnection.h" IRCConnection::IRCConnection(IRCServer *server) { m_server = server; @@ -27,10 +31,25 @@ void IRCConnection::sendLine(QString line) { line.append("\r\n"); m_socket->writeBlock(line, line.length()); } -void IRCConnection::sendCTCP(QString nick, QString line) { - sendLine("NOTICE " + nick + " :\001"+line+"\001"); +void IRCConnection::sendCTCPReply(const QString &nickname, const QString &type, const QString &args) { + sendLine("NOTICE " + nickname + " :\001" + type + " " + args + "\001"); +} + +void IRCConnection::sendCTCPRequest(const QString &nickname, const QString &type, const QString &args) { + sendLine("PRIVMSG " + nickname + " :\001" + type + " " + args + "\001"); +} + +void IRCConnection::sendCTCPPing(const QString &nickname) { + QDateTime tm; + tm.setTime_t(0); + QString strtime = QString::number(tm.secsTo(QDateTime::currentDateTime())); + sendCTCPRequest(nickname, "PING", strtime); +} + +void IRCConnection::whois(const QString &nickname) { + sendLine("WHOIS " + nickname); } /* * login() is called right after the connection @@ -99,4 +118,5 @@ void IRCConnection::close() { if (m_socket->state()==QSocket::Idle) { disconnect(); } } + |