KVIrc 5.2.6
Developer APIs
KviIrcUserEntry.h
Go to the documentation of this file.
1#ifndef _KVI_IRCUSER_ENTRY_H_
2#define _KVI_IRCUSER_ENTRY_H_
3//=============================================================================
4//
5// File : KviIrcUserEntry.h
6// Creation date : Tue Jan 04 2010 22:45:12 by Elvio Basello
7//
8// This file is part of the KVIrc IRC client distribution
9// Copyright (C) 2010 Elvio Basello (hellvis69 at gmail dot com)
10//
11// This program is FREE software. You can redistribute it and/or
12// modify it under the terms of the GNU General Public License
13// as published by the Free Software Foundation; either version 2
14// of the License, or (at your option) any later version.
15//
16// This program is distributed in the HOPE that it will be USEFUL,
17// but WITHOUT ANY WARRANTY; without even the implied warranty of
18// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
19// See the GNU General Public License for more details.
20//
21// You should have received a copy of the GNU General Public License
22// along with this program. If not, write to the Free Software Foundation,
23// Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
24//
25//=============================================================================
26
34
35#include "kvi_settings.h"
36#include "KviAvatar.h"
37
38#include <memory>
39
45{
46 friend class KviIrcUserDataBase;
47
48public:
53 enum Gender
54 {
55 Male = 0,
56 Female = 1,
58 };
59
74
81 KviIrcUserEntry(const QString & user, const QString & host);
82
83protected:
84 QString m_szUser;
85 QString m_szHost;
86
87 QString m_szServer;
88 QString m_szRealName;
92
93 bool m_bAway;
95
96 std::unique_ptr<KviAvatar> m_upAvatar;
97
99 bool m_bBot;
101
105
108
111
112public:
118
124 void setSmartNickColor(const int iColor) { m_iSmartNickColor = iColor; };
125
130 Gender gender() { return m_eGender; };
131
137 void setBot(bool bIsBot) { m_bBot = bIsBot; };
138
145
151 void setUser(const QString & szUser) { m_szUser = szUser; };
152
158 void setServer(const QString & szServ) { m_szServer = szServ; };
159
165 void setRealName(const QString & szReal);
166
172 void setHops(int iHops) { m_iHops = iHops; };
173
179 void setHost(const QString & szHost) { m_szHost = szHost; };
180
186 void setAway(bool bAway) { m_bAway = bAway; };
187
193 void setIrcOp(bool bIrcOp) { m_bIrcOp = bIrcOp; };
194
201 void setAvatar(std::unique_ptr<KviAvatar> upAvatar = nullptr);
202
210 void setAvatar(KviAvatar * upAvatar = nullptr);
211
217 void setUserFlags(const QString & szFlags) { m_szUserFlags = szFlags; };
218
223 bool isBot() { return m_bBot; };
224
229 bool isAway() const { return m_bAway; };
230
235 bool isIrcOp() const { return m_bIrcOp; };
236
241 bool hasUser() { return (!m_szUser.isEmpty()); };
242
247 bool hasHost() { return (!m_szHost.isEmpty()); };
248
253 bool hasServer() { return (!m_szServer.isEmpty()); };
254
259 bool hasRealName() { return (!m_szRealName.isEmpty()); };
260
265 bool hasHops() { return m_iHops >= 0; };
266
271 const QString & user() { return m_szUser; };
272
277 const QString & host() { return m_szHost; };
278
283 const QString & server() { return m_szServer; };
284
289 const QString & realName() { return m_szRealName; };
290
295 const QString & userFlags() { return m_szUserFlags; };
296
301 int hops() { return m_iHops; };
302
307 KviAvatar * avatar() { return m_upAvatar.get(); };
308
313 int nRefs() { return m_nRefs; };
314
319 std::unique_ptr<KviAvatar> forgetAvatar();
320
325 bool avatarRequested() const { return m_bAvatarRequested; };
326
331
336 const QString & accountName() { return m_szAccountName; };
337
341 void setAccountName(const QString & szAccountName) { m_szAccountName = szAccountName; };
342
347 bool hasAccountName() { return (!m_szAccountName.isEmpty()); };
348};
349
350#endif // _KVI_IRCUSER_ENTRY_H_
Avatar handling.
Avatar class.
Definition KviAvatar.h:54
A class to handle the entries of the user database.
Definition KviIrcUserEntry.h:45
Gender m_eGender
Definition KviIrcUserEntry.h:90
std::unique_ptr< KviAvatar > m_upAvatar
Definition KviIrcUserEntry.h:96
const QString & userFlags()
Returns the user flags.
Definition KviIrcUserEntry.h:295
bool hasAccountName()
Returns true if the user has an account name.
Definition KviIrcUserEntry.h:347
bool hasRealName()
Returns true if the user has the realname set.
Definition KviIrcUserEntry.h:259
void setBot(bool bIsBot)
Sets the user as a bot.
Definition KviIrcUserEntry.h:137
UserMode
Defines the user mode in a channel.
Definition KviIrcUserEntry.h:65
@ Voice
Definition KviIrcUserEntry.h:67
@ ChanAdmin
Definition KviIrcUserEntry.h:70
@ ChanOwner
Definition KviIrcUserEntry.h:71
@ HalfOp
Definition KviIrcUserEntry.h:68
@ ModeMask
Definition KviIrcUserEntry.h:72
@ UserOp
Definition KviIrcUserEntry.h:66
@ Op
Definition KviIrcUserEntry.h:69
QString m_szHost
Definition KviIrcUserEntry.h:85
int m_iHops
Definition KviIrcUserEntry.h:89
QString m_szServer
Definition KviIrcUserEntry.h:87
friend class KviIrcUserDataBase
Definition KviIrcUserEntry.h:46
bool m_bNotFoundRegUserLookup
Definition KviIrcUserEntry.h:102
bool hasUser()
Returns true if the user has the username set.
Definition KviIrcUserEntry.h:241
void setServer(const QString &szServ)
Sets the server of the user.
Definition KviIrcUserEntry.h:158
bool isBot()
Returns true if the user is marked as a bot.
Definition KviIrcUserEntry.h:223
void setAway(bool bAway)
Sets the away state of the user.
Definition KviIrcUserEntry.h:186
bool isAway() const
Returns true if the user is in away mode.
Definition KviIrcUserEntry.h:229
QString m_szRegisteredUserName
Definition KviIrcUserEntry.h:103
void setGender(Gender g)
Sets the gender of the user.
Definition KviIrcUserEntry.h:144
bool hasServer()
Returns true if the user has the server set.
Definition KviIrcUserEntry.h:253
QString m_szRealName
Definition KviIrcUserEntry.h:88
int m_nRefs
Definition KviIrcUserEntry.h:98
QColor m_cachedColor
Definition KviIrcUserEntry.h:106
bool m_bAway
Definition KviIrcUserEntry.h:93
void setUserFlags(const QString &szFlags)
Sets the user global flags (eg: "G*")
Definition KviIrcUserEntry.h:217
const QString & accountName()
Returns the account name (if any)
Definition KviIrcUserEntry.h:336
bool m_bUseCustomColor
Definition KviIrcUserEntry.h:107
KviIrcUserEntry(const QString &user, const QString &host)
Constructs the entry object.
Definition KviIrcUserEntry.cpp:29
int nRefs()
Returns the number of references of the user in the database.
Definition KviIrcUserEntry.h:313
QString m_szAccountName
Definition KviIrcUserEntry.h:110
QString m_szUser
Definition KviIrcUserEntry.h:84
KviAvatar * avatar()
Returns the avatar of the user.
Definition KviIrcUserEntry.h:307
Gender gender()
Returns the gender of the user.
Definition KviIrcUserEntry.h:130
const QString & host()
Returns the hostname of the user.
Definition KviIrcUserEntry.h:277
bool m_bBot
Definition KviIrcUserEntry.h:99
void setHops(int iHops)
Sets the number of hops of the user.
Definition KviIrcUserEntry.h:172
int hops()
Returns the number of hops.
Definition KviIrcUserEntry.h:301
void setAccountName(const QString &szAccountName)
Sets the account name for the user.
Definition KviIrcUserEntry.h:341
void setUser(const QString &szUser)
Sets the username of the user.
Definition KviIrcUserEntry.h:151
QString m_szLastRegisteredMatchNick
Definition KviIrcUserEntry.h:104
void setHost(const QString &szHost)
Sets the hostname of the user.
Definition KviIrcUserEntry.h:179
bool m_bAvatarRequested
Definition KviIrcUserEntry.h:100
bool hasHost()
Returns true if the user has the hostname set.
Definition KviIrcUserEntry.h:247
void setAvatarRequested()
Mark that kvirc is trying (already tried) to get user's avatar.
Definition KviIrcUserEntry.h:330
bool isIrcOp() const
Returns true if the user is an irc operator.
Definition KviIrcUserEntry.h:235
void setSmartNickColor(const int iColor)
Sets the ircview smart nick color of the user.
Definition KviIrcUserEntry.h:124
bool avatarRequested() const
Returns true if kvirc already made an attempt to download user's avatar.
Definition KviIrcUserEntry.h:325
const QString & realName()
Returns the realname of the user.
Definition KviIrcUserEntry.h:289
QString m_szUserFlags
Definition KviIrcUserEntry.h:91
bool hasHops()
Returns true if the user has hops set.
Definition KviIrcUserEntry.h:265
int smartNickColor()
Returns the ircview smart nick color of the user.
Definition KviIrcUserEntry.h:117
const QString & server()
Returns the server of the user.
Definition KviIrcUserEntry.h:283
const QString & user()
Returns the username of the user.
Definition KviIrcUserEntry.h:271
bool m_bIrcOp
Definition KviIrcUserEntry.h:94
void setIrcOp(bool bIrcOp)
Sets the irc operator state of the user.
Definition KviIrcUserEntry.h:193
int m_iSmartNickColor
Definition KviIrcUserEntry.h:109
Gender
Defines the gender of the user.
Definition KviIrcUserEntry.h:54
@ Unknown
Definition KviIrcUserEntry.h:57
@ Male
Definition KviIrcUserEntry.h:55
@ Female
Definition KviIrcUserEntry.h:56
#define g
Definition detector.cpp:72
This file contains compile time settings.
#define KVILIB_API
Definition kvi_settings.h:124
QString szHost
Definition libkvisetup.cpp:48