8
CNick::CNick(const string& sNick) {
16
void CNick::Parse(const string& sNickMask) {
17
if (sNickMask.empty()) {
21
unsigned int uPos = sNickMask.find('!');
23
if (uPos == string::npos) {
24
m_sNick = sNickMask.substr((sNickMask[0] == ':'));
28
m_sNick = sNickMask.substr((sNickMask[0] == ':'), uPos);
29
m_sHost = sNickMask.substr(uPos +1);
31
if ((uPos = m_sHost.find('@')) != string::npos) {
32
m_sIdent = m_sHost.substr(0, uPos);
33
m_sHost = m_sHost.substr(uPos +1);
37
void CNick::SetNick(const string& s) { m_sNick = s; }
38
void CNick::SetIdent(const string& s) { m_sIdent = s; }
39
void CNick::SetHost(const string& s) { m_sHost = s; }
40
void CNick::SetOp(bool b) { m_bIsOp = b; }
41
void CNick::SetVoice(bool b) { m_bIsVoice = b; }
43
bool CNick::IsOp() const { return m_bIsOp; }
44
bool CNick::IsVoice() const { return m_bIsVoice; }
45
const string& CNick::GetNick() const { return m_sNick; }
46
const string& CNick::GetIdent() const { return m_sIdent; }
47
const string& CNick::GetHost() const { return m_sHost; }
48
string CNick::GetNickMask() const { return m_sNick + "!" + m_sIdent + "@" + m_sHost; }
50
string CNick::GetHostMask() const {
51
string sRet = m_sNick;
53
if (!m_sIdent.empty()) {
54
sRet += "!" + m_sIdent;
57
if (!m_sHost.empty()) {
58
sRet += "@" + m_sHost;