class InternalPeer;
class IrcParser;
class MessageEvent;
-class NetworkConnection;
class RemotePeer;
class SignalProxy;
const QString strictCompliantIdent(const CoreIdentity* identity);
inline CoreNetworkConfig* networkConfig() const { return _networkConfig; }
- NetworkConnection* networkConnection(NetworkId) const;
Protocol::SessionState sessionState() const;
* @param[in] msg Away message, or blank to set unaway
* @param[in] skipFormatting If true, skip timestamp formatting codes (e.g. if already done)
*/
- void globalAway(const QString& msg = QString(), const bool skipFormatting = false);
+ void globalAway(const QString& msg = QString(), bool skipFormatting = false);
signals:
void initialized();
void removeClient(Peer* peer);
void recvStatusMsgFromServer(QString msg);
- void recvMessageFromServer(NetworkId networkId,
- Message::Type,
- BufferInfo::Type,
- const QString& target,
- const QString& text,
- const QString& sender = "",
- Message::Flags flags = Message::None);
+ void recvMessageFromServer(RawMessage msg);
void destroyNetwork(NetworkId);
CoreHighlightRuleManager _highlightRuleManager;
};
+struct NetworkInternalMessage
+{
+ Message::Type type;
+ BufferInfo::Type bufferType;
+ QString target;
+ QString text;
+ QString sender;
+ Message::Flags flags;
+ NetworkInternalMessage(Message::Type type, BufferInfo::Type bufferType, QString target, QString text, QString sender = "", Message::Flags flags = Message::None)
+ : type(type)
+ , bufferType(bufferType)
+ , target(std::move(target))
+ , text(std::move(text))
+ , sender(std::move(sender))
+ , flags(flags)
+ {}
+};
+
struct RawMessage
{
NetworkId networkId;
, sender(std::move(sender))
, flags(flags)
{}
+
+ RawMessage(NetworkId networkId, const NetworkInternalMessage& msg)
+ : networkId(networkId)
+ , type(msg.type)
+ , bufferType(msg.bufferType)
+ , target(msg.target)
+ , text(msg.text)
+ , sender(msg.sender)
+ , flags(msg.flags)
+ {}
};