X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fcorenetwork.cpp;h=3d20faf4b6c783f590d6c43020d923d14d586c02;hb=a72e2b4a90ce18c58b54e111161691ba008dc47d;hp=534199e30ad956ed83fbaa21e3a82288b48b4f9a;hpb=393ac8b4bca9db98f297cb4756ef2e79364bf6f0;p=quassel.git diff --git a/src/core/corenetwork.cpp b/src/core/corenetwork.cpp index 534199e3..3d20faf4 100644 --- a/src/core/corenetwork.cpp +++ b/src/core/corenetwork.cpp @@ -77,6 +77,12 @@ CoreNetwork::CoreNetwork(const NetworkId &networkid, CoreSession *session) connect(&socket, SIGNAL(encrypted()), this, SLOT(socketInitialized())); connect(&socket, SIGNAL(sslErrors(const QList &)), this, SLOT(sslErrors(const QList &))); #endif + connect(this, SIGNAL(newEvent(Event *)), coreSession()->eventManager(), SLOT(postEvent(Event *))); + + if(Quassel::isOptionSet("oidentd")) { + connect(this, SIGNAL(socketInitialized(const CoreIdentity*,QHostAddress,quint16,QHostAddress,quint16)), Core::instance()->oidentdConfigGenerator(), SLOT(addSocket(const CoreIdentity*,QHostAddress,quint16,QHostAddress,quint16))); + connect(this, SIGNAL(socketDisconnected(const CoreIdentity*,QHostAddress,quint16,QHostAddress,quint16)), Core::instance()->oidentdConfigGenerator(), SLOT(removeSocket(const CoreIdentity*,QHostAddress,quint16,QHostAddress,quint16))); + } } CoreNetwork::~CoreNetwork() { @@ -330,7 +336,7 @@ void CoreNetwork::socketHasData() { #else event->setTimestamp(QDateTime::currentDateTime().toUTC()); #endif - coreSession()->eventManager()->sendEvent(event); + emit newEvent(event); } } @@ -349,6 +355,7 @@ void CoreNetwork::socketError(QAbstractSocket::SocketError error) { } void CoreNetwork::socketInitialized() { +qDebug() << "connected()"; Server server = usedServer(); #ifdef HAVE_SSL if(server.useSsl && !socket.isEncrypted()) @@ -362,6 +369,8 @@ void CoreNetwork::socketInitialized() { return; } + emit socketInitialized(identity, localAddress(), localPort(), peerAddress(), peerPort()); + // TokenBucket to avoid sending too much at once _messageDelay = 2200; // this seems to be a safe value (2.2 seconds delay) _burstSize = 5; @@ -406,6 +415,7 @@ void CoreNetwork::socketDisconnected() { setConnected(false); emit disconnected(networkId()); + emit socketDisconnected(identityPtr(), localAddress(), localPort(), peerAddress(), peerPort()); if(_quitRequested) { _quitRequested = false; setConnectionState(Network::Disconnected);