X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fircuser.h;h=4aa2bf5c993ebab8a8e6672f314b5f861c1f3c6f;hp=2be27583ca90919ee47cf9d79542185b16809f23;hb=0dbec2cfc937857d66a9645249f876f1e6b3f05e;hpb=694f9bfbf7f1af19108461c7e00d133e55082bce diff --git a/src/common/ircuser.h b/src/common/ircuser.h index 2be27583..4aa2bf5c 100644 --- a/src/common/ircuser.h +++ b/src/common/ircuser.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-09 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 * @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ #ifndef IRCUSER_H @@ -39,21 +39,23 @@ class IrcUser : public SyncableObject SYNCABLE_OBJECT Q_OBJECT - Q_PROPERTY(QString user READ user WRITE setUser STORED false) - Q_PROPERTY(QString host READ host WRITE setHost STORED false) - Q_PROPERTY(QString nick READ nick WRITE setNick STORED false) - Q_PROPERTY(QString realName READ realName WRITE setRealName STORED false) - Q_PROPERTY(bool away READ isAway WRITE setAway STORED false) - Q_PROPERTY(QString awayMessage READ awayMessage WRITE setAwayMessage STORED false) - Q_PROPERTY(QDateTime idleTime READ idleTime WRITE setIdleTime STORED false) - Q_PROPERTY(QDateTime loginTime READ loginTime WRITE setLoginTime STORED false) - Q_PROPERTY(QString server READ server WRITE setServer STORED false) - Q_PROPERTY(QString ircOperator READ ircOperator WRITE setIrcOperator STORED false) - Q_PROPERTY(int lastAwayMessage READ lastAwayMessage WRITE setLastAwayMessage STORED false) - Q_PROPERTY(QString whoisServiceReply READ whoisServiceReply WRITE setWhoisServiceReply STORED false) - Q_PROPERTY(QString suserHost READ suserHost WRITE setSuserHost STORED false) - - Q_PROPERTY(QStringList channels READ channels STORED false) + Q_PROPERTY(QString user READ user WRITE setUser) + Q_PROPERTY(QString host READ host WRITE setHost) + Q_PROPERTY(QString nick READ nick WRITE setNick) + Q_PROPERTY(QString realName READ realName WRITE setRealName) + Q_PROPERTY(QString account READ account WRITE setAccount) + Q_PROPERTY(bool away READ isAway WRITE setAway) + Q_PROPERTY(QString awayMessage READ awayMessage WRITE setAwayMessage) + Q_PROPERTY(QDateTime idleTime READ idleTime WRITE setIdleTime) + Q_PROPERTY(QDateTime loginTime READ loginTime WRITE setLoginTime) + Q_PROPERTY(QString server READ server WRITE setServer) + Q_PROPERTY(QString ircOperator READ ircOperator WRITE setIrcOperator) + Q_PROPERTY(int lastAwayMessage READ lastAwayMessage WRITE setLastAwayMessage) + Q_PROPERTY(QString whoisServiceReply READ whoisServiceReply WRITE setWhoisServiceReply) + Q_PROPERTY(QString suserHost READ suserHost WRITE setSuserHost) + Q_PROPERTY(bool encrypted READ encrypted WRITE setEncrypted) + + Q_PROPERTY(QStringList channels READ channels) Q_PROPERTY(QString userModes READ userModes WRITE setUserModes) public : @@ -64,6 +66,12 @@ public : inline QString host() const { return _host; } inline QString nick() const { return _nick; } inline QString realName() const { return _realName; } + /** + * Account name, e.g. NickServ/SASL account + * + * @return Account name if logged in, * if logged out, or empty string if unknown + */ + inline QString account() const { return _account; } QString hostmask() const; inline bool isAway() const { return _away; } inline QString awayMessage() const { return _awayMessage; } @@ -74,6 +82,7 @@ public : inline int lastAwayMessage() const { return _lastAwayMessage; } inline QString whoisServiceReply() const { return _whoisServiceReply; } inline QString suserHost() const { return _suserHost; } + inline bool encrypted() const { return _encrypted; } inline Network *network() const { return _network; } inline QString userModes() const { return _userModes; } @@ -102,6 +111,12 @@ public slots: void setHost(const QString &host); void setNick(const QString &nick); void setRealName(const QString &realName); + /** + * Set account name, e.g. NickServ/SASL account + * + * @param[in] account Account name if logged in, * if logged out, or empty string if unknown + */ + void setAccount(const QString &account); void setAway(const bool &away); void setAwayMessage(const QString &awayMessage); void setIdleTime(const QDateTime &idleTime); @@ -111,11 +126,17 @@ public slots: void setLastAwayMessage(const int &lastAwayMessage); void setWhoisServiceReply(const QString &whoisServiceReply); void setSuserHost(const QString &suserHost); + void setEncrypted(bool encrypted); void updateHostmask(const QString &mask); void setUserModes(const QString &modes); - void joinChannel(IrcChannel *channel); + /*! + * \brief joinChannel Called when user joins some channel, this function inserts the channel to internal list of channels this user is in. + * \param channel Pointer to a channel this user just joined + * \param skip_channel_join If this is false, this function will also call IrcChannel::joinIrcUser, can be set to true as a performance tweak. + */ + void joinChannel(IrcChannel *channel, bool skip_channel_join = false); void joinChannel(const QString &channelname); void partChannel(IrcChannel *channel); void partChannel(const QString &channelname); @@ -138,6 +159,7 @@ signals: // void lastAwayMessageSet(int lastAwayMessage); // void whoisServiceReplySet(QString whoisServiceReply); // void suserHostSet(QString suserHost); + void encryptedSet(bool encrypted); void userModesSet(QString modes); void userModesAdded(QString modes); @@ -173,6 +195,7 @@ private: QString _user; QString _host; QString _realName; + QString _account; /// Account name, e.g. NickServ/SASL account QString _awayMessage; bool _away; QString _server; @@ -183,6 +206,7 @@ private: int _lastAwayMessage; QString _whoisServiceReply; QString _suserHost; + bool _encrypted; // QSet _channels; QSet _channels;