Public Types | Public Member Functions | Static Public Member Functions | Data Fields | Protected Member Functions | Protected Attributes | Private Attributes | Static Private Attributes

User Class Reference

#include <users.h>

Inherits Base, Extensible, and CommandReply.

Inherited by BotInfo, and NickServRelease.

Collaboration diagram for User:
Collaboration graph
[legend]

Public Types

typedef std::list
< ChanUserContainer * > 
ChanUserList

Public Member Functions

 User (const Anope::string &snick, const Anope::string &sident, const Anope::string &shost, const Anope::string &svhost, const Anope::string &sip, Server *sserver, const Anope::string &srealname, time_t ssignon, const Anope::string &smodes, const Anope::string &suid="")
void ChangeNick (const Anope::string &newnick, time_t ts=Anope::CurTime)
void SetDisplayedHost (const Anope::string &host)
const Anope::stringGetDisplayedHost () const
void SetCloakedHost (const Anope::string &newhost)
const Anope::stringGetCloakedHost () const
const Anope::stringGetUID () const
void SetVIdent (const Anope::string &ident)
const Anope::stringGetVIdent () const
void SetIdent (const Anope::string &ident)
const Anope::stringGetIdent () const
Anope::string GetMask () const
Anope::string GetDisplayedMask () const
void SetRealname (const Anope::string &realname)
void SendMessage (const BotInfo *source, const char *fmt,...)
void SendMessage (const BotInfo *source, const Anope::string &msg) anope_override
void Collide (NickAlias *na)
void Identify (NickAlias *na)
void Login (NickCore *core)
void Logout ()
virtual NickCoreAccount () const
bool IsIdentified (bool check_nick=false) const
bool IsRecognized (bool check_nick=true) const
bool IsServicesOper ()
bool HasCommand (const Anope::string &cmdstr)
bool HasPriv (const Anope::string &privstr)
void UpdateHost ()
bool HasMode (const Anope::string &name) const
void SetModeInternal (UserMode *um, const Anope::string &param="")
void RemoveModeInternal (UserMode *um)
void SetMode (const BotInfo *bi, UserMode *um, const Anope::string &param="")
void SetMode (const BotInfo *bi, const Anope::string &name, const Anope::string &param="")
void RemoveMode (const BotInfo *bi, UserMode *um)
void RemoveMode (const BotInfo *bi, const Anope::string &name)
void SetModes (const BotInfo *bi, const char *umodes,...)
void SetModesInternal (const char *umodes,...)
Anope::string GetModes () const
ChanUserContainerFindChannel (const Channel *c) const
bool IsProtected () const
void Kill (const Anope::string &source, const Anope::string &reason)
void KillInternal (const Anope::string &source, const Anope::string &reason)
void Quit (const Anope::string &reason="")
bool Quitting () const
Anope::string Mask () const
bool BadPassword ()

Static Public Member Functions

static UserFind (const Anope::string &name, bool nick_only=false)
static void QuitUsers ()

Data Fields

Anope::string nick
Anope::string host
Anope::string vhost
Anope::string chost
Anope::string realname
Anope::string fingerprint
Anope::string ip
Serverserver
time_t signon
time_t timestamp
bool super_admin
ChanUserList chans
time_t lastmemosend
time_t lastnickreg
time_t lastmail

Protected Member Functions

virtual ~User ()

Protected Attributes

Anope::string vident
Anope::string ident
Anope::string uid
bool on_access
std::map< Anope::string,
Anope::string
modes
Serialize::Reference< NickCorenc
unsigned short invalid_pw_count
time_t invalid_pw_time

Private Attributes

bool quit

Static Private Attributes

static std::list< User * > quitting_users

Detailed Description

Definition at line 33 of file users.h.


Member Typedef Documentation

typedef std::list<ChanUserContainer *> User::ChanUserList

Definition at line 82 of file users.h.


Constructor & Destructor Documentation

User::User ( const Anope::string snick,
const Anope::string sident,
const Anope::string shost,
const Anope::string svhost,
const Anope::string sip,
Server sserver,
const Anope::string srealname,
time_t  ssignon,
const Anope::string smodes,
const Anope::string suid = "" 
)

Create a new user object, initialising necessary fields and adds it to the hash

Parameters:
snick The nickname of the user.
sident The username of the user
shost The hostname of the user
svhost The vhost of the user
sip The ip of the user
sserver The server of the user
srealname The realname/gecos of teh user
ssignon User's timestamp
smodes User's modes
suid The unique identifier of the user.

Definition at line 35 of file users.cpp.

References Anope::string::c_str(), Anope::CurTime, Anope::string::empty(), FOREACH_MOD, Server::GetName(), host, I_OnUserConnect, ident, invalid_pw_count, invalid_pw_time, ip, Server::IsULined(), lastmail, lastmemosend, lastnickreg, LOG_DEBUG, MaxUserCount, MaxUserTime, nc, nick, on_access, quit, realname, server, SetCloakedHost(), SetModesInternal(), signon, super_admin, timestamp, uid, Server::users, and vhost.

User::~User (  )  [protected, virtual]

Member Function Documentation

NickCore * User::Account (  )  const [virtual]
bool User::BadPassword (  ) 

Notes the usage of an incorrect password. If too many incorrect passwords are used the user might be killed.

Returns:
true if the user was killed

Definition at line 812 of file users.cpp.

References ServerConfig::BadPassLimit, ServerConfig::BadPassTimeout, Config, Anope::CurTime, invalid_pw_count, invalid_pw_time, Kill(), and ServerConfig::ServerName.

Referenced by CommandOSLogin::Execute(), NSRecoverRequest::OnFail(), NSIdentifyRequest::OnFail(), and NSGroupRequest::OnFail().

void User::ChangeNick ( const Anope::string newnick,
time_t  ts = Anope::CurTime 
)

Update the nickname of a user record accordingly, should be called from ircd protocol.

Parameters:
newnick The new username
ts The time the nick was changed, User::timestamp will be updated to this.

Definition at line 88 of file users.cpp.

References Anope::CurTime, Anope::string::empty(), Anope::string::equals_ci(), Find(), FOREACH_MOD, I_OnUserNickChange, IsIdentified(), IsRecognized(), NickAlias::last_seen, NickAlias::nc, nick, on_access, realname, super_admin, timestamp, and UpdateHost().

void User::Collide ( NickAlias na  ) 

Collide a nick See the comment in users.cpp

Parameters:
na The nick

Collides a nick.

First, it marks the nick (if the user is on a registered nick, we don't use it without but it could be) as COLLIDED, this is checked in NickAlias::OnCancel.

Then it does one of two things.

1. This will force change the users nick to the guest nick. This gets processed by the IRCd and comes back to call do_nick. do_nick changes the nick of the use to the new one, then calls NickAlias::OnCancel with the users old nick's nickalias (if there is one).

2. Calls User::Kill, which will either delete the user immediatly or kill them, wait for the QUIT, then delete the user then. Users destructor then calls NickAlias::OnCancel

NickAlias::OnCancel checks for NS_COLLIDED, it then does one of two things.

1. If supported, we send a SVSHold for the user. We are done here, the IRCds expires this at the time we give it.

2. We create a new client with SendClientIntroduction(). Note that is it important that this is called either after the user has been removed from our internal list of user or after the users nick has been updated completely internally. This is beacuse SendClientIntroduction will destroy any users we think are currently on the nickname (which causes a lot of problems, eg, deleting the user which recalls OnCancel), whether they really are or not. We then create a release timer for this new client that waits and later on sends a QUIT for the client. Release timers are never used for SVSHolds. Ever.

Note that now for the timers we only store the users name, not the NickAlias* pointer. We never remove timers when a user changes nick or a nick is deleted, the timers must assume that either of these may have happend.

Storing NickAlias* pointers caused quite a problem, some of which are:

Having a valid timer alive that calls User::Collide would either:

1. Kill the user, causing users destructor to cancel all timers for the nick (as it should, it has no way of knowing if we are in a timer or not) which would delete the currently active timer while it was running, causing TimerManager to explode.

2. Force a user off of their nick, this would call NickAlias::Cancel before updating the user internally (to cancel the current nicks timers, granted we could have easially saved this and called it after) which could possibly try to introduce an enforcer nick. We would then check to see if the nick is already in use (it is, internally) and send a kill for that nick. That may in turn delete the user immediatly, calling users destructor, which would attempt to delete the timer, causing TimerManager to explode.

Additionally, if we marked the timer as "in use" so that calling the ClearTimer function wouldn't delete them, users destructor would then call NickAlias::OnCancel, which would (at this point, it was unsetting GUESTED after introducing the new client) introduce the same new client again, without actually deleting the originial user, causing an infinite loop.

This is why we remove NS_GUESTED first in NickAlias::OnCancel before introducing a new client, although this should not happen anymore. If I must emphasize this again, users need to be GONE from the internal list before calling NickAlias::OnCancel. NickAlias::OnCancel intentionally reffers to this->nick, not the user passed to it. They *can* (but not always) be different, depending if the user changed nicks or disconnected.

Adam

Definition at line 346 of file users.cpp.

References _, Anope::string::c_str(), IRCDProto::CanSVSNick, Config, Anope::CurTime, Extensible::Extend(), Find(), IRCD, Kill(), NickServ, ServerConfig::NickServ, ServerConfig::NSGuestNickPrefix, IRCDProto::SendForceNickChange(), SendMessage(), and stringify().

Referenced by CommandNSSuspend::Execute(), NSRecoverRequest::OnSuccess(), and OSForbid::OnUserNickChange().

User * User::Find ( const Anope::string name,
bool  nick_only = false 
) [static]

Finds a user by nick, or possibly UID

Parameters:
name The nick, or possibly UID, to lookup
nick_only set to true to only look up by nick, not UID
Returns:
the user, if they exist

Definition at line 830 of file users.cpp.

References IRCD, and IRCDProto::RequiresID.

Referenced by ChangeNick(), Collide(), CommandOSAKill::DoAdd(), XOPBase::DoAdd(), CommandCSAccess::DoAdd(), XOPBase::DoDel(), CommandCSAccess::DoDel(), CommandCSFlags::DoModify(), CommandCSMode::DoSet(), MyXMLRPCEvent::DoUser(), EOld::EOld(), CommandOSSVSPart::Execute(), CommandOSSVSJoin::Execute(), CommandOSSVSNick::Execute(), CommandOSOLine::Execute(), CommandOSUMode::Execute(), CommandOSMode::Execute(), CommandOSChanList::Execute(), CommandOSKill::Execute(), CommandOSKick::Execute(), CommandNSSuspend::Execute(), CommandNSStatus::Execute(), CommandNSRecover::Execute(), CommandNSLogout::Execute(), CommandNSInfo::Execute(), CommandNSUngroup::Execute(), CommandCSDown::Execute(), CommandCSUp::Execute(), CommandCSUnban::Execute(), CommandCSStatus::Execute(), CommandSeen::Execute(), CommandCSKick::Execute(), CommandCSInvite::Execute(), CommandCSBan::Execute(), Identify(), IsIdentified(), IsRecognized(), KillInternal(), MessageSource::MessageSource(), HelpChannel::OnChannelModeSet(), NickServCore::OnDelNick(), IdentifyInterface::OnResult(), OnIdentifyInterface::OnResult(), NSRecoverRequest::OnSuccess(), MChanstats::OnTopicUpdated(), ProtoInspIRCd::ProtoInspIRCd(), ProtoPlexus::ProtoPlexus(), ProtoRatbox::ProtoRatbox(), Message::Whois::Run(), Message::Mode::Run(), Message::Kill::Run(), IRCDMessageSetName::Run(), IRCDMessageChgName::Run(), IRCDMessageChgHost::Run(), IRCDMessageNJoin::Run(), IRCDMessageEncap::Run(), IRCDMessageMetadata::Run(), IRCDMessageFJoin::Run(), IRCDMessageChgIdent::Run(), IRCDMessageSVSMode::Run(), IRCDMessageSJoin::Run(), IRCDMessageMode::Run(), MyMemoServService::Send(), InspIRCd12Proto::SendSWhois(), Channel::SetModesInternal(), SetRealname(), ExpireCallback::Tick(), Servers::TS6_UID_Retrieve(), and UpdateHost().

ChanUserContainer * User::FindChannel ( const Channel c  )  const

Find the channel container for Channel c that the user is on This is preferred over using FindUser in Channel, as there are usually more users in a channel than channels a user is in

Parameters:
c The channel
Returns:
The channel container, or NULL

Definition at line 721 of file users.cpp.

References chans.

Referenced by CommandCSRegister::Execute(), CommandCSClone::Execute(), Channel::HasUserStatus(), Channel::KickInternal(), Channel::RemoveModeInternal(), Message::Part::Run(), and Channel::SetModeInternal().

const Anope::string & User::GetCloakedHost (  )  const

Get the cloaked host of a user

Returns:
The cloaked host

Definition at line 161 of file users.cpp.

References chost.

Referenced by GetDisplayedHost(), NickCore::IsOnAccess(), and Entry::Matches().

const Anope::string & User::GetDisplayedHost (  )  const
Anope::string User::GetDisplayedMask (  )  const

Get the full display mask (nick!vident/chost)

Definition at line 210 of file users.cpp.

References GetDisplayedHost(), GetVIdent(), and nick.

Referenced by CommandCSKick::Execute(), CommandCSBan::Execute(), ChanAccess::Matches(), and Channel::SetCorrectModes().

const Anope::string & User::GetIdent (  )  const

Get the real ident (username) of this user.

Returns:
The displayed ident of this user. NOTE: Where possible, you should use the Get/SetVIdent() equivilants.

Definition at line 200 of file users.cpp.

References ident.

Referenced by CommandBSBot::DoAdd(), CommandBSBot::DoChange(), MyXMLRPCEvent::DoUser(), CommandOSUserList::Execute(), CommandNSRegister::Execute(), CommandBSInfo::Execute(), CommandBSBotList::Execute(), Identify(), NickCore::IsOnAccess(), IsServicesOper(), Mask(), Entry::Matches(), DBPlain::OnSaveDatabase(), NSGroupRequest::OnSuccess(), Message::Whois::Run(), and UpdateHost().

Anope::string User::GetMask (  )  const

Get the full mask (nick!ident) of a user

Definition at line 205 of file users.cpp.

References host, ident, and nick.

Referenced by Log::BuildPrefix(), CommandBSBot::DoAdd(), CommandBSBot::DoChange(), CommandCSMode::DoSet(), BSKick::GetBanData(), MemoInfo::HasIgnore(), and RunCommand().

Anope::string User::GetModes (  )  const

Get modes set for this user.

Returns:
A string of modes set on the user

Definition at line 701 of file users.cpp.

References ModeManager::FindUserModeByName(), Mode::mchar, and modes.

const Anope::string & User::GetUID (  )  const
const Anope::string & User::GetVIdent (  )  const

Get the displayed ident (username) of this user.

Returns:
The displayed ident of this user.

Definition at line 183 of file users.cpp.

References Anope::string::empty(), ident, and vident.

Referenced by MyXMLRPCEvent::DoUser(), GetDisplayedMask(), ChannelInfo::GetIdealBan(), Entry::Matches(), and CSSeen::UpdateUser().

bool User::HasCommand ( const Anope::string cmdstr  ) 

Check whether this user has access to run the given command string.

Parameters:
cmdstr The string to check, e.g. botserv/set/private.
Returns:
True if this user may run the specified command, false otherwise.

Definition at line 511 of file users.cpp.

References IsServicesOper(), and nc.

bool User::HasMode ( const Anope::string name  )  const
bool User::HasPriv ( const Anope::string privstr  ) 

Check whether this user has access to the given special permission.

Parameters:
privstr The priv to check for, e.g. users/auspex.
Returns:
True if this user has the specified priv, false otherwise.

Definition at line 518 of file users.cpp.

References IsServicesOper(), and nc.

Referenced by HelpChannel::OnChannelModeSet(), and MyMemoServService::Send().

void User::Identify ( NickAlias na  ) 
bool User::IsIdentified ( bool  check_nick = false  )  const

Check if the user is identified for their nick

Parameters:
check_nick True to check if the user is identified to the nickname they are on too
Returns:
true or false

Definition at line 454 of file users.cpp.

References Find(), NickAlias::nc, and nc.

Referenced by ChangeNick(), NSCert::DoAutoIdentify(), CommandCSEnforce::DoRegOnly(), CommandNSStatus::Execute(), KillInternal(), NickServCore::OnServerSync(), NSIdentifyRequest::OnSuccess(), Message::Quit::Run(), MyMemoServService::Send(), SetRealname(), ExpireCallback::Tick(), UpdateHost(), and Server::~Server().

bool User::IsProtected (  )  const
bool User::IsRecognized ( bool  check_nick = true  )  const

Check if the user is recognized for their nick (on the nicks access list)

Parameters:
check_nick Only returns true if the user has secure off
Returns:
true or false

Definition at line 469 of file users.cpp.

References Find(), NickAlias::nc, nick, and on_access.

Referenced by ChannelInfo::AccessFor(), ChangeNick(), CommandNSStatus::Execute(), KillInternal(), Message::Quit::Run(), SetRealname(), ExpireCallback::Tick(), UpdateHost(), and Server::~Server().

bool User::IsServicesOper (  ) 

Check if the user is a services oper

Returns:
true if they are an oper

Definition at line 482 of file users.cpp.

References EVENT_STOP, fingerprint, FOREACH_RESULT, GetIdent(), host, I_IsServicesOper, Anope::Match(), and nc.

Referenced by CommandNSLogout::Execute(), HasCommand(), HasPriv(), and Identify().

void User::Kill ( const Anope::string source,
const Anope::string reason 
)
void User::KillInternal ( const Anope::string source,
const Anope::string reason 
)

Process a kill for a user

Parameters:
source The user/server doing the kill
reason The reason for the kill

Definition at line 745 of file users.cpp.

References Anope::CurTime, Find(), IsIdentified(), IsRecognized(), NickAlias::last_quit, NickAlias::last_seen, LOG_DEBUG, NickAlias::nc, nick, quit, and quitting_users.

Referenced by Message::Kill::Run().

void User::Login ( NickCore core  ) 

Login the user to a NickCore

Parameters:
core The account the user is useing

Definition at line 423 of file users.cpp.

References Server::IsSynced(), Logout(), nc, server, UpdateHost(), and NickCore::users.

Referenced by CommandNSRegister::Execute(), Identify(), NSRecoverRequest::OnSuccess(), NSGroupRequest::OnSuccess(), IRCDMessageEncap::Run(), and IRCDMessageMetadata::Run().

void User::Logout (  ) 
Anope::string User::Mask (  )  const
void User::Quit ( const Anope::string reason = ""  ) 

Processes a quit for the user, and marks them as quit

Parameters:
reason The reason for the quit

Definition at line 766 of file users.cpp.

References LOG_DEBUG, nick, quit, and quitting_users.

Referenced by NickAlias::Release(), Message::Quit::Run(), and Server::~Server().

bool User::Quitting (  )  const

Definition at line 778 of file users.cpp.

References quit.

Referenced by OSNews::OnUserConnect().

void User::QuitUsers (  )  [static]

Quits all users who are pending to be quit

Definition at line 848 of file users.cpp.

References quitting_users.

Referenced by UplinkSocket::ProcessRead().

void User::RemoveMode ( const BotInfo bi,
UserMode um 
)

Remove a mode on the user

Parameters:
bi The client setting the mode
um The user mode

Definition at line 583 of file users.cpp.

References HasMode(), Mode::name, RemoveModeInternal(), and ModeManager::StackerAdd().

Referenced by CommandNSLogout::Execute(), CommandNSUngroup::Execute(), NickServCore::OnDelCore(), NickServCore::OnDelNick(), ProtoInspIRCd::OnUserNickChange(), RemoveMode(), and SetModes().

void User::RemoveMode ( const BotInfo bi,
const Anope::string name 
)

Remove a mode from the user

Parameters:
bi The client setting the mode
name The mode name

Definition at line 592 of file users.cpp.

References ModeManager::FindUserModeByName(), and RemoveMode().

void User::RemoveModeInternal ( UserMode um  ) 

Remove a mode internally on the user, the IRCd is not informed

Parameters:
um The user mode

Definition at line 559 of file users.cpp.

References FOREACH_MOD, I_OnUserModeUnset, modes, and Mode::name.

Referenced by ProtoUnreal::OnUserNickChange(), ProtongIRCd::OnUserNickChange(), ProtoInspIRCd::OnUserNickChange(), ProtoHybrid::OnUserNickChange(), ProtoBahamut::OnUserNickChange(), RemoveMode(), and SetModesInternal().

void User::SendMessage ( const BotInfo source,
const Anope::string msg 
) [virtual]
void User::SendMessage ( const BotInfo source,
const char *  fmt,
  ... 
)
void User::SetCloakedHost ( const Anope::string newhost  ) 

Update the cloaked host of a user

Parameters:
host The cloaked host

Definition at line 149 of file users.cpp.

References chost, Anope::string::empty(), and UpdateHost().

Referenced by IRCDMessageSetHost::Run(), IRCDMessageMetadata::Run(), and User().

void User::SetDisplayedHost ( const Anope::string host  ) 

Update the displayed (vhost) of a user record. This is used (if set) instead of real host.

Parameters:
host The new displayed host to give the user.

Definition at line 127 of file users.cpp.

References Anope::string::empty(), UpdateHost(), and vhost.

Referenced by Identify(), IRCDMessageSetHost::Run(), IRCDMessageChgHost::Run(), IRCDMessageMetadata::Run(), and IRCDMessageEncap::Run().

void User::SetIdent ( const Anope::string ident  ) 

Update the real ident (username) of a user record.

Parameters:
ident The new ident to give this user. NOTE: Where possible, you should use the Get/SetVIdent() equivilants.

Definition at line 191 of file users.cpp.

References ident, and UpdateHost().

Referenced by CommandBSBot::DoChange(), IRCDMessageEncap::Run(), and IRCDMessageChgIdent::Run().

void User::SetMode ( const BotInfo bi,
const Anope::string name,
const Anope::string param = "" 
)

Set a mode on the user

Parameters:
bi The client setting the mode
name The mode name
Param Optional param for the mode

Definition at line 578 of file users.cpp.

References ModeManager::FindUserModeByName(), and SetMode().

void User::SetMode ( const BotInfo bi,
UserMode um,
const Anope::string param = "" 
)

Set a mode on the user

Parameters:
bi The client setting the mode
um The user mode
Param Optional param for the mode

Definition at line 569 of file users.cpp.

References HasMode(), Mode::name, SetModeInternal(), and ModeManager::StackerAdd().

Referenced by CommandOSOLine::Execute(), CommandNSRegister::Execute(), Identify(), HelpChannel::OnChannelModeSet(), NSGroupRequest::OnSuccess(), IRCDMessageEncap::Run(), IRCDMessageMetadata::Run(), IRCDProto::SendOper(), SetMode(), and SetModes().

void User::SetModeInternal ( UserMode um,
const Anope::string param = "" 
)

Set a mode internally on the user, the IRCd is not informed

Parameters:
um The user mode
Param The param, if there is one

Definition at line 549 of file users.cpp.

References FOREACH_MOD, I_OnUserModeSet, modes, and Mode::name.

Referenced by SetMode(), and SetModesInternal().

void User::SetModes ( const BotInfo bi,
const char *  umodes,
  ... 
)

Set a string of modes on a user

Parameters:
bi The client setting the modes
umodes The modes

Definition at line 597 of file users.cpp.

References BUFSIZE, ModeManager::FindUserModeByChar(), sepstream::GetToken(), Anope::string::length(), MODE_PARAM, RemoveMode(), SetMode(), and Mode::type.

Referenced by CommandOSUMode::Execute(), and Identify().

void User::SetModesInternal ( const char *  umodes,
  ... 
)
void User::SetRealname ( const Anope::string realname  ) 
void User::SetVIdent ( const Anope::string ident  ) 

Update the displayed ident (username) of a user record.

Parameters:
ident The new ident to give this user.

Definition at line 174 of file users.cpp.

References UpdateHost(), and vident.

Referenced by CommandHSOn::Execute(), IRCDMessageSetIdent::Run(), IRCDMessageChgIdent::Run(), and IRCDMessageMetadata::Run().

void User::UpdateHost (  ) 

Field Documentation

Definition at line 65 of file users.h.

Referenced by MyXMLRPCEvent::DoUser(), GetCloakedHost(), and SetCloakedHost().

Definition at line 41 of file users.h.

Referenced by GetIdent(), GetMask(), GetVIdent(), BotInfo::Serialize(), SetIdent(), and User().

unsigned short User::invalid_pw_count [protected]

Definition at line 51 of file users.h.

Referenced by BadPassword(), and User().

time_t User::invalid_pw_time [protected]

Definition at line 53 of file users.h.

Referenced by BadPassword(), and User().

Definition at line 90 of file users.h.

Referenced by Mail::Send(), and User().

Definition at line 86 of file users.h.

Referenced by CommandHSRequest::Execute(), MyMemoServService::Send(), and User().

std::map<Anope::string, Anope::string> User::modes [protected]

Definition at line 46 of file users.h.

Referenced by GetModes(), HasMode(), RemoveModeInternal(), and SetModeInternal().

Definition at line 58 of file users.h.

Referenced by ChannelInfo::AccessFor(), BotInfo::BotInfo(), ChangeNick(), Channel::ChangeTopic(), Channel::ChangeTopicInternal(), ChannelInfo::CheckKick(), Channel::DeleteUser(), CommandBSBot::DoAdd(), NSCert::DoAutoIdentify(), CommandBSBot::DoChange(), MyXMLRPCEvent::DoChannel(), DoCommands(), CommandBSBot::DoDel(), DoneServices(), CommandCSMode::DoSet(), MyXMLRPCEvent::DoUser(), CommandOSSVSPart::Execute(), CommandOSSVSJoin::Execute(), CommandOSOper::Execute(), CommandOSModInfo::Execute(), CommandOSUMode::Execute(), CommandOSUserList::Execute(), CommandOSChanList::Execute(), CommandOSKill::Execute(), CommandOSKick::Execute(), CommandNSUpdate::Execute(), CommandNSLogout::Execute(), CommandNSIdentify::Execute(), CommandNSUngroup::Execute(), CommandNSGroup::Execute(), CommandHSOn::Execute(), CommandHSOff::Execute(), CommandCSUnban::Execute(), CommandCSStatus::Execute(), CommandSeen::Execute(), CommandCSLog::Execute(), CommandCSKick::Execute(), CommandCSInvite::Execute(), CommandCSBan::Execute(), CommandBSSetPrivate::Execute(), CommandBSInfo::Execute(), CommandBSBotList::Execute(), CommandBSAssign::Execute(), GetDisplayedMask(), GetMask(), MessageSource::GetName(), GetUID(), MemoInfo::HasIgnore(), Identify(), IsRecognized(), BotInfo::Join(), Channel::Kick(), Channel::KickInternal(), KillInternal(), LoadBotInfo(), LoadBots(), ModuleManager::LoadModule(), Log::Log(), Entry::Matches(), ChanAccess::Matches(), NickServCollide::NickServCollide(), StatusUpdate::OnAccessAdd(), StatusUpdate::OnAccessDel(), CommandOSSQLine::OnAdd(), OSIgnore::OnBotPrivmsg(), OSForbid::OnJoinChannel(), BotInfo::OnMessage(), IdentifyInterface::OnResult(), OnIdentifyInterface::OnResult(), DBPlain::OnSaveDatabase(), NSGroupRequest::OnSuccess(), OSDefcon::OnUserConnect(), OSForbid::OnUserNickChange(), Quit(), CommandCSDown::RemoveAll(), Channel::RemoveModeInternal(), Channel::Reset(), ChannelInfo::RestoreTopic(), Message::Whois::Run(), Message::Quit::Run(), Message::Privmsg::Run(), IRCDMessageEncap::Run(), IRCDMessageUID::Run(), IRCDMessageJoin::Run(), IRCDMessageMetadata::Run(), IRCDMessageNick::Run(), IRCDProto::SendForceNickChange(), HybridProto::SendSVSHold(), BotInfo::Serialize(), Server::Server(), Channel::SetCorrectModes(), Channel::SetModeInternal(), Channel::SetModesInternal(), BotInfo::SetNewNick(), SetRealname(), BotInfo::UnAssign(), BotInfo::Unserialize(), UpdateHost(), User(), BotInfo::~BotInfo(), UplinkSocket::Message::~Message(), Server::~Server(), UplinkSocket::~UplinkSocket(), and ~User().

bool User::on_access [protected]

Definition at line 44 of file users.h.

Referenced by ChangeNick(), IsRecognized(), UpdateHost(), and User().

bool User::quit [private]

Definition at line 36 of file users.h.

Referenced by KillInternal(), Quit(), Quitting(), and User().

std::list< User * > User::quitting_users [static, private]

Definition at line 38 of file users.h.

Referenced by KillInternal(), Quit(), and QuitUsers().

time_t User::signon
Anope::string User::uid [protected]

Definition at line 42 of file users.h.

Referenced by BotInfo::BotInfo(), BotInfo::GenerateUID(), GetUID(), User(), BotInfo::~BotInfo(), and ~User().

Definition at line 40 of file users.h.

Referenced by GetVIdent(), and SetVIdent().


The documentation for this class was generated from the following files: