+// ====================
+// PUBLIC:
+// ====================
+
+QString IrcUser::user() const {
+ return _user;
+}
+
+QString IrcUser::host() const {
+ return _host;
+}
+
+QString IrcUser::nick() const {
+ return _nick;
+}
+
+QString IrcUser::realName() const {
+ return _realName;
+}
+
+QString IrcUser::hostmask() const {
+ return QString("%1!%2@%3").arg(nick()).arg(user()).arg(host());
+}
+
+bool IrcUser::isAway() const {
+ return _away;
+}
+
+QString IrcUser::awayMessage() const {
+ return _awayMessage;
+}
+
+QString IrcUser::server() const {
+ return _server;
+}
+
+QDateTime IrcUser::idleTime() const {
+ return _idleTime;
+}
+
+QString IrcUser::ircOperator() const {
+ return _ircOperator;
+}
+
+int IrcUser::lastAwayMessage() const {
+ return _lastAwayMessage;
+}
+
+QString IrcUser::userModes() const {
+ return _userModes;
+}
+
+QStringList IrcUser::channels() const {
+ QStringList chanList;
+ IrcChannel *channel;
+ foreach(channel, _channels) {
+ chanList << channel->name();
+ }
+ return chanList;
+}
+
+Network* IrcUser::network() const {
+ return _network;
+}
+
+QTextCodec *IrcUser::codecForEncoding() const {
+ return _codecForEncoding;
+}
+
+void IrcUser::setCodecForEncoding(const QString &name) {
+ setCodecForEncoding(QTextCodec::codecForName(name.toAscii()));
+}
+
+void IrcUser::setCodecForEncoding(QTextCodec *codec) {
+ _codecForEncoding = codec;
+}
+
+QTextCodec *IrcUser::codecForDecoding() const {
+ return _codecForDecoding;
+}
+
+void IrcUser::setCodecForDecoding(const QString &name) {
+ setCodecForDecoding(QTextCodec::codecForName(name.toAscii()));
+}
+
+void IrcUser::setCodecForDecoding(QTextCodec *codec) {
+ _codecForDecoding = codec;
+}
+
+QString IrcUser::decodeString(const QByteArray &text) const {
+ if(!codecForDecoding()) return network()->decodeString(text);
+ return ::decodeString(text, codecForDecoding());
+}
+
+QByteArray IrcUser::encodeString(const QString &string) const {
+ if(codecForEncoding()) {
+ return codecForEncoding()->fromUnicode(string);
+ }
+ return network()->encodeString(string);
+}
+
+// ====================
+// PUBLIC SLOTS:
+// ====================