added ircserverhandler for whois, who and whowas
[quassel.git] / src / common / ircuser.cpp
index 5f05f0f..f7fc9b0 100644 (file)
@@ -39,6 +39,7 @@ IrcUser::IrcUser(const QString &hostmask, Network *network)
     _codecForDecoding(0)
 {
   updateObjectName();
+  _away = false;
 }
 
 IrcUser::~IrcUser() {
@@ -61,10 +62,22 @@ 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::userModes() const {
   return _userModes;
 }
@@ -128,6 +141,28 @@ void IrcUser::setUser(const QString &user) {
   }
 }
 
+void IrcUser::setRealName(const QString &realName) {
+  if (!realName.isEmpty() && _realName != realName) {
+    _realName = realName;
+    emit realNameSet(realName);
+  }
+}
+
+void IrcUser::setAway(const bool &away) {
+  if(away != _away) {
+    _away = away;
+    emit awaySet(away);
+  }
+}
+
+void IrcUser::setAwayMessage(const QString &awayMessage) {
+  if(!awayMessage.isEmpty() && _awayMessage != awayMessage) {
+    _awayMessage = awayMessage;
+    emit awayMessageSet(awayMessage);
+  }
+}
+
+
 void IrcUser::setHost(const QString &host) {
   if(!host.isEmpty() && _host != host) {
     _host = host;