X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcommon%2Fnetwork.h;h=37bdadbe3b10a77469f0f68f43f195997a50a9f6;hb=79aa3994d78860c0b7a623a46ce44dffff988fd9;hp=5ad42e9f1a3ffec70ca32775c57b79cfbf14d5a6;hpb=b2c3e61e5888741644b24f5b3701a6311ec631dd;p=quassel.git diff --git a/src/common/network.h b/src/common/network.h index 5ad42e9f..37bdadbe 100644 --- a/src/common/network.h +++ b/src/common/network.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2016 by the Quassel Project * + * Copyright (C) 2005-2018 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -172,10 +172,37 @@ public : //Network::ConnectionState connectionState() const; inline int connectionState() const { return _connectionState; } + /**@{*/ + /** + * Translates a user’s prefix to the channelmode associated with it. + * @param prefix Prefix to be translated. + */ QString prefixToMode(const QString &prefix) const; inline QString prefixToMode(const QCharRef &prefix) const { return prefixToMode(QString(prefix)); } + inline QString prefixesToModes(const QString &prefix) const { + QString modes; + for (QChar c : prefix) { + modes += prefixToMode(c); + } + return modes; + } + /**@}*/ + + /**@{*/ + /** + * Translates a user’s prefix to the channelmode associated with it. + * @param prefix Prefix to be translated. + */ QString modeToPrefix(const QString &mode) const; inline QString modeToPrefix(const QCharRef &mode) const { return modeToPrefix(QString(mode)); } + inline QString modesToPrefixes(const QString &mode) const { + QString prefixes; + for (QChar c : mode) { + prefixes += modeToPrefix(c); + } + return prefixes; + } + /**@}*/ ChannelModeType channelModeType(const QString &mode); inline ChannelModeType channelModeType(const QCharRef &mode) { return channelModeType(QString(mode)); } @@ -268,7 +295,7 @@ public : * * These results aren't valid if the network is disconnected or capability negotiation hasn't * happened, and some servers might not correctly advertise capabilities. Don't treat this as - * a guarentee. + * a guarantee. * * @param[in] capability Name of capability * @returns True if connected and advertised by the server, otherwise false