X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fnetworkconnection.cpp;fp=src%2Fcore%2Fserver.cpp;h=ae8ac13930476e4b16314b85fbc689fd389028d0;hp=406fa46dab51b875cad6e08bbfbd22217936d6f1;hb=fd7c2c4a41b5bb9cffcfe7a8f86a28ab7f38ac27;hpb=9a6a8478bdd8c7c5bb4ff1fa3de9510863d65a97 diff --git a/src/core/server.cpp b/src/core/networkconnection.cpp similarity index 68% rename from src/core/server.cpp rename to src/core/networkconnection.cpp index 406fa46d..ae8ac139 100644 --- a/src/core/server.cpp +++ b/src/core/networkconnection.cpp @@ -17,7 +17,7 @@ * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ -#include "server.h" +#include "networkconnection.h" #include #include @@ -28,35 +28,35 @@ #include "coresession.h" #include "ircuser.h" -#include "networkinfo.h" +#include "network.h" #include "ircserverhandler.h" #include "userinputhandler.h" #include "ctcphandler.h" -Server::Server(UserId uid, NetworkId networkId, QString net, const QVariant &state) +NetworkConnection::NetworkConnection(UserId uid, NetworkId networkId, QString net, const QVariant &state) : _userId(uid), _networkId(networkId), _ircServerHandler(new IrcServerHandler(this)), _userInputHandler(new UserInputHandler(this)), _ctcpHandler(new CtcpHandler(this)), - _networkInfo(new NetworkInfo(networkId, this)), + _network(new Network(networkId, this)), _previousState(state) { - connect(networkInfo(), SIGNAL(currentServerSet(const QString &)), this, SLOT(sendPerform())); - networkInfo()->setCodecForEncoding("ISO-8859-15"); // FIXME - networkInfo()->setCodecForDecoding("ISO-8859-15"); // FIXME - networkInfo()->setNetworkName(net); - networkInfo()->setProxy(coreSession()->signalProxy()); + connect(network(), SIGNAL(currentServerSet(const QString &)), this, SLOT(sendPerform())); + network()->setCodecForEncoding("ISO-8859-15"); // FIXME + network()->setCodecForDecoding("ISO-8859-15"); // FIXME + network()->setNetworkName(net); + network()->setProxy(coreSession()->signalProxy()); } -Server::~Server() { +NetworkConnection::~NetworkConnection() { delete _ircServerHandler; delete _userInputHandler; delete _ctcpHandler; } -void Server::run() { +void NetworkConnection::run() { connect(&socket, SIGNAL(connected()), this, SLOT(socketConnected())); connect(&socket, SIGNAL(disconnected()), this, SLOT(quit())); connect(&socket, SIGNAL(error(QAbstractSocket::SocketError)), this, SLOT(socketError(QAbstractSocket::SocketError))); @@ -67,40 +67,40 @@ void Server::run() { exec(); } -QString Server::serverDecode(const QByteArray &string) const { - return networkInfo()->decodeString(string); +QString NetworkConnection::serverDecode(const QByteArray &string) const { + return network()->decodeString(string); } -QString Server::bufferDecode(const QString &bufferName, const QByteArray &string) const { +QString NetworkConnection::bufferDecode(const QString &bufferName, const QByteArray &string) const { Q_UNUSED(bufferName); // TODO: Implement buffer-specific encodings - return networkInfo()->decodeString(string); + return network()->decodeString(string); } -QString Server::userDecode(const QString &userNick, const QByteArray &string) const { - IrcUser *user = networkInfo()->ircUser(userNick); +QString NetworkConnection::userDecode(const QString &userNick, const QByteArray &string) const { + IrcUser *user = network()->ircUser(userNick); if(user) return user->decodeString(string); - return networkInfo()->decodeString(string); + return network()->decodeString(string); } -QByteArray Server::serverEncode(const QString &string) const { - return networkInfo()->encodeString(string); +QByteArray NetworkConnection::serverEncode(const QString &string) const { + return network()->encodeString(string); } -QByteArray Server::bufferEncode(const QString &bufferName, const QString &string) const { +QByteArray NetworkConnection::bufferEncode(const QString &bufferName, const QString &string) const { Q_UNUSED(bufferName); // TODO: Implement buffer-specific encodings - return networkInfo()->encodeString(string); + return network()->encodeString(string); } -QByteArray Server::userEncode(const QString &userNick, const QString &string) const { - IrcUser *user = networkInfo()->ircUser(userNick); +QByteArray NetworkConnection::userEncode(const QString &userNick, const QString &string) const { + IrcUser *user = network()->ircUser(userNick); if(user) return user->encodeString(string); - return networkInfo()->encodeString(string); + return network()->encodeString(string); } -void Server::connectToIrc(QString net) { +void NetworkConnection::connectToIrc(QString net) { if(net != networkName()) return; // not me! @@ -116,7 +116,7 @@ void Server::connectToIrc(QString net) { socket.connectToHost(host, port); } -void Server::sendPerform() { +void NetworkConnection::sendPerform() { // TODO: reimplement perform List! //// send performlist //QStringList performList = networkSettings["Perform"].toString().split( "\n" ); @@ -138,58 +138,58 @@ void Server::sendPerform() { _previousState = QVariant(); } -QVariant Server::state() { - IrcUser *me = networkInfo()->ircUser(networkInfo()->myNick()); +QVariant NetworkConnection::state() { + IrcUser *me = network()->ircUser(network()->myNick()); if(!me) return QVariant(); // this shouldn't really happen, I guess return me->channels(); } -void Server::disconnectFromIrc(QString net) { +void NetworkConnection::disconnectFromIrc(QString net) { if(net != networkName()) return; // not me! socket.disconnectFromHost(); } -void Server::socketHasData() { +void NetworkConnection::socketHasData() { while(socket.canReadLine()) { QByteArray s = socket.readLine().trimmed(); ircServerHandler()->handleServerMsg(s); } } -void Server::socketError( QAbstractSocket::SocketError err ) { +void NetworkConnection::socketError( QAbstractSocket::SocketError err ) { //qDebug() << "Socket Error!"; } -void Server::socketConnected() { +void NetworkConnection::socketConnected() { emit connected(networkId()); putRawLine(QString("NICK :%1").arg(identity["NickList"].toStringList()[0])); // FIXME: try more nicks if error occurs putRawLine(QString("USER %1 8 * :%2").arg(identity["Ident"].toString()).arg(identity["RealName"].toString())); } -void Server::threadFinished() { +void NetworkConnection::threadFinished() { // the Socket::disconnected() is connect to this::quit() // so after the event loop is finished we're beeing called // and propagate the disconnect emit disconnected(networkId()); } -void Server::socketStateChanged(QAbstractSocket::SocketState state) { +void NetworkConnection::socketStateChanged(QAbstractSocket::SocketState state) { //qDebug() << "Socket state changed: " << state; } -void Server::userInput(uint netid, QString buf, QString msg) { +void NetworkConnection::userInput(uint netid, QString buf, QString msg) { if(netid != networkId()) return; // not me! userInputHandler()->handleUserInput(buf, msg); } -void Server::putRawLine(QString s) { +void NetworkConnection::putRawLine(QString s) { s += "\r\n"; socket.write(s.toAscii()); } -void Server::putCmd(QString cmd, QStringList params, QString prefix) { +void NetworkConnection::putCmd(QString cmd, QStringList params, QString prefix) { QString msg; if(!prefix.isEmpty()) msg += ":" + prefix + " "; @@ -205,25 +205,25 @@ void Server::putCmd(QString cmd, QStringList params, QString prefix) { } -uint Server::networkId() const { +uint NetworkConnection::networkId() const { return _networkId; } -QString Server::networkName() const { - return networkInfo()->networkName(); +QString NetworkConnection::networkName() const { + return network()->networkName(); } -CoreSession *Server::coreSession() const { +CoreSession *NetworkConnection::coreSession() const { return Core::session(userId()); } /* Exception classes for message handling */ -Server::ParseError::ParseError(QString cmd, QString prefix, QStringList params) { +NetworkConnection::ParseError::ParseError(QString cmd, QString prefix, QStringList params) { Q_UNUSED(prefix); _msg = QString("Command Parse Error: ") + cmd + params.join(" "); } -Server::UnknownCmdError::UnknownCmdError(QString cmd, QString prefix, QStringList params) { +NetworkConnection::UnknownCmdError::UnknownCmdError(QString cmd, QString prefix, QStringList params) { Q_UNUSED(prefix); _msg = QString("Unknown Command: ") + cmd + params.join(" "); }