X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fcorenetwork.h;h=01d71edc8e8857e6501dcbba80c1bb31d4088454;hp=3ea739dfc803636126947d793784d43db3c5d248;hb=8f92b3f08df9f4eb8fd243ccec6aa9d4b563ec23;hpb=cc6e7c08709c4e761e2fd9c2e322751015497003 diff --git a/src/core/corenetwork.h b/src/core/corenetwork.h index 3ea739df..01d71edc 100644 --- a/src/core/corenetwork.h +++ b/src/core/corenetwork.h @@ -20,15 +20,10 @@ #pragma once -#include "coreircchannel.h" -#include "coreircuser.h" -#include "network.h" +#include -// IRCv3 capabilities #include -#include "irccap.h" - #ifdef HAVE_SSL # include # include @@ -40,9 +35,12 @@ # include "cipher.h" #endif -#include - +#include "coreircchannel.h" +#include "coreircuser.h" #include "coresession.h" +#include "irccap.h" +#include "irctag.h" +#include "network.h" class CoreIdentity; class CoreUserInputHandler; @@ -280,7 +278,7 @@ public slots: * maintain PING/PONG replies, the other side will close the connection. * @endparmblock */ - void putCmd(const QString& cmd, const QList& params, const QByteArray& prefix = {}, bool prepend = false); + void putCmd(const QString& cmd, const QList& params, const QByteArray& prefix = {}, const QHash &tags = {}, bool prepend = false); /** * Sends the command for each set of encoded parameters, with optional prefix or high priority. @@ -299,7 +297,7 @@ public slots: * cannot maintain PING/PONG replies, the other side will close the connection. * @endparmblock */ - void putCmd(const QString& cmd, const QList>& params, const QByteArray& prefix = {}, bool prependAll = false); + void putCmd(const QString& cmd, const QList>& params, const QByteArray& prefix = {}, const QHash &tags = {}, bool prependAll = false); void setChannelJoined(const QString& channel); void setChannelParted(const QString& channel); @@ -337,7 +335,7 @@ public slots: * set by the user. Use with caution and remember to re-enable configured limits when done. * @endparmblock */ - void updateRateLimiting(const bool forceUnlimited = false); + void updateRateLimiting(bool forceUnlimited = false); /** * Resets the token bucket up to the maximum @@ -420,21 +418,15 @@ public slots: */ inline void resetPongReplyPending() { _pongReplyPending = false; } - void onDisplayMsg(Message::Type msgType, - BufferInfo::Type bufferType, - const QString& target, - const QString& text, - const QString& sender, - Message::Flags flags) + void onDisplayMsg(const NetworkInternalMessage& msg) { - emit displayMsg(networkId(), msgType, bufferType, target, text, sender, flags); + emit displayMsg(RawMessage(networkId(), msg)); } signals: - void recvRawServerMsg(QString); - void displayStatusMsg(QString); - void displayMsg( - NetworkId, Message::Type, BufferInfo::Type, const QString& target, const QString& text, const QString& sender, Message::Flags flags); + void recvRawServerMsg(const QString&); + void displayStatusMsg(const QString&); + void displayMsg(const RawMessage& msg); void disconnected(NetworkId networkId); void connectionError(const QString& errorMsg); @@ -510,14 +502,9 @@ private slots: void writeToSocket(const QByteArray& data); private: - void showMessage(Message::Type msgType, - BufferInfo::Type bufferType, - const QString& target, - const QString& text, - const QString& sender = "", - Message::Flags flags = Message::None) + void showMessage(const NetworkInternalMessage& msg) { - emit displayMsg(networkId(), msgType, bufferType, target, text, sender, flags); + emit displayMsg(RawMessage(networkId(), msg)); } private: @@ -534,6 +521,7 @@ private: qint64 _socketId{0}; CoreUserInputHandler* _userInputHandler; + MetricsServer* _metricsServer; QHash _channelKeys; // stores persistent channels and their passwords, if any