+ inline IrcServerHandler *ircServerHandler() const { return _ircServerHandler; }
+ inline UserInputHandler *userInputHandler() const { return _userInputHandler; }
+ inline CtcpHandler *ctcpHandler() const { return _ctcpHandler; }
+
+ //! Decode a string using the server (network) decoding.
+ inline QString serverDecode(const QByteArray &string) const { return decodeServerString(string); }
+
+ //! Decode a string using a channel-specific encoding if one is set (and use the standard encoding else).
+ QString channelDecode(const QString &channelName, const QByteArray &string) const;
+
+ //! Decode a string using an IrcUser-specific encoding, if one exists (using the standaed encoding else).
+ QString userDecode(const QString &userNick, const QByteArray &string) const;
+
+ //! Encode a string using the server (network) encoding.
+ inline QByteArray serverEncode(const QString &string) const { return encodeServerString(string); }
+
+ //! Encode a string using the channel-specific encoding, if set, and use the standard encoding else.
+ QByteArray channelEncode(const QString &channelName, const QString &string) const;
+
+ //! Encode a string using the user-specific encoding, if set, and use the standard encoding else.
+ QByteArray userEncode(const QString &userNick, const QString &string) const;
+
+ inline QString channelKey(const QString &channel) const { return _channelKeys.value(channel.toLower(), QString()); }
+ inline QStringList persistentChannels() const { return _channelKeys.keys(); }
+
+ inline bool isAutoWhoInProgress(const QString &channel) const { return _autoWhoInProgress.value(channel.toLower(), 0); }
+
+ inline UserId userId() const { return _coreSession->user(); }
+