KVIrc 5.2.6
Developer APIs
KviIrcServerParser Class Reference

#include <KviIrcServerParser.h>

+ Inheritance diagram for KviIrcServerParser:

Public Member Functions

 KviIrcServerParser ()
 
void parseMessage (const char *message, KviIrcConnection *pConnection)
 
 ~KviIrcServerParser ()
 

Static Public Member Functions

static const char * decodeCtcpEscape (const char *msg_ptr, KviCString &buffer)
 
static const char * decodeCtcpEscape (const char *msg_ptr, QByteArray &buffer)
 
static void encodeCtcpParameter (const char *param, KviCString &buffer, bool bSpaceBreaks=true)
 
static void encodeCtcpParameter (const char *param, QString &buffer, bool bSpaceBreaks=true)
 
static const char * extractCtcpParameter (const char *msg_ptr, KviCString &buffer, bool bSpaceBreaks=true, bool bSafeOnly=false)
 
static const char * extractCtcpParameter (const char *msg_ptr, QString &buffer, bool bSpaceBreaks=true, bool bSafeOnly=false)
 

Private Member Functions

bool checkCtcpFlood (KviCtcpMessage *msg)
 
void echoCtcpReply (KviCtcpMessage *msg)
 
void echoCtcpRequest (KviCtcpMessage *msg)
 
void otherChannelError (KviIrcMessage *msg)
 
void parseChannelHelp (KviIrcMessage *msg)
 
void parseChannelMode (const QString &szNick, const QString &szUser, const QString &szHost, KviChannelWindow *chan, KviCString &modefl, KviIrcMessage *msg, int curParam)
 
void parseCommandEndOfHelp (KviIrcMessage *msg)
 
void parseCommandHelp (KviIrcMessage *msg)
 
void parseCommandSyntaxHelp (KviIrcMessage *msg)
 
void parseCtcpReply (KviCtcpMessage *msg)
 
void parseCtcpReplyAvatar (KviCtcpMessage *msg)
 
void parseCtcpReplyGeneric (KviCtcpMessage *msg)
 
void parseCtcpReplyLagcheck (KviCtcpMessage *msg)
 
void parseCtcpReplyPing (KviCtcpMessage *msg)
 
void parseCtcpReplyUserinfo (KviCtcpMessage *msg)
 
void parseCtcpRequest (KviCtcpMessage *msg)
 
void parseCtcpRequestAction (KviCtcpMessage *msg)
 
void parseCtcpRequestAvatar (KviCtcpMessage *msg)
 
void parseCtcpRequestClientinfo (KviCtcpMessage *msg)
 
void parseCtcpRequestDcc (KviCtcpMessage *msg)
 
void parseCtcpRequestFinger (KviCtcpMessage *msg)
 
void parseCtcpRequestPage (KviCtcpMessage *msg)
 
void parseCtcpRequestPing (KviCtcpMessage *msg)
 
void parseCtcpRequestSource (KviCtcpMessage *msg)
 
void parseCtcpRequestTime (KviCtcpMessage *msg)
 
void parseCtcpRequestUserinfo (KviCtcpMessage *msg)
 
void parseCtcpRequestVersion (KviCtcpMessage *msg)
 
void parseLiteralAccount (KviIrcMessage *msg)
 
void parseLiteralAuthenticate (KviIrcMessage *msg)
 
void parseLiteralAway (KviIrcMessage *msg)
 
void parseLiteralCap (KviIrcMessage *msg)
 
void parseLiteralChghost (KviIrcMessage *msg)
 
void parseLiteralError (KviIrcMessage *msg)
 
void parseLiteralInvite (KviIrcMessage *msg)
 
void parseLiteralJoin (KviIrcMessage *msg)
 
void parseLiteralKick (KviIrcMessage *msg)
 
void parseLiteralMode (KviIrcMessage *msg)
 
void parseLiteralNick (KviIrcMessage *msg)
 
void parseLiteralNotice (KviIrcMessage *msg)
 
void parseLiteralPart (KviIrcMessage *msg)
 
void parseLiteralPing (KviIrcMessage *msg)
 
void parseLiteralPong (KviIrcMessage *msg)
 
void parseLiteralPrivmsg (KviIrcMessage *msg)
 
void parseLiteralQuit (KviIrcMessage *msg)
 
void parseLiteralTopic (KviIrcMessage *msg)
 
void parseLiteralWallops (KviIrcMessage *msg)
 
void parseLoginNicknameProblem (KviIrcMessage *msg)
 
void parseNumeric001 (KviIrcMessage *msg)
 
void parseNumeric002 (KviIrcMessage *msg)
 
void parseNumeric003 (KviIrcMessage *msg)
 
void parseNumeric004 (KviIrcMessage *msg)
 
void parseNumeric005 (KviIrcMessage *msg)
 
void parseNumeric020 (KviIrcMessage *msg)
 
void parseNumeric344 (KviIrcMessage *msg)
 
void parseNumeric345 (KviIrcMessage *msg)
 
void parseNumeric367 (KviIrcMessage *msg)
 
void parseNumeric368 (KviIrcMessage *msg)
 
void parseNumeric480 (KviIrcMessage *msg)
 
void parseNumeric486 (KviIrcMessage *msg)
 
void parseNumeric728 (KviIrcMessage *msg)
 
void parseNumeric729 (KviIrcMessage *msg)
 
void parseNumeric742 (KviIrcMessage *msg)
 
void parseNumericAList (KviIrcMessage *msg)
 
void parseNumericAlreadyRegistered (KviIrcMessage *msg)
 
void parseNumericAway (KviIrcMessage *)
 
void parseNumericBackFromAway (KviIrcMessage *)
 
void parseNumericBanOnChan (KviIrcMessage *msg)
 
void parseNumericCannotSend (KviIrcMessage *msg)
 
void parseNumericCannotSendColor (KviIrcMessage *msg)
 
void parseNumericCantJoinChannel (KviIrcMessage *msg)
 
void parseNumericChanAccessList (KviIrcMessage *msg)
 
void parseNumericChannelModeIs (KviIrcMessage *msg)
 
void parseNumericChanUrl (KviIrcMessage *msg)
 
void parseNumericCodePageScheme (KviIrcMessage *msg)
 
void parseNumericCodePageSet (KviIrcMessage *msg)
 
void parseNumericCommandSyntax (KviIrcMessage *msg)
 
void parseNumericCreationTime (KviIrcMessage *msg)
 
void parseNumericEndOfAList (KviIrcMessage *msg)
 
void parseNumericEndOfChanAccessList (KviIrcMessage *msg)
 
void parseNumericEndOfExceptList (KviIrcMessage *msg)
 
void parseNumericEndOfExemptChanOpList (KviIrcMessage *msg)
 
void parseNumericEndOfInviteList (KviIrcMessage *msg)
 
void parseNumericEndOfLinks (KviIrcMessage *msg)
 
void parseNumericEndOfNames (KviIrcMessage *msg)
 
void parseNumericEndOfQList (KviIrcMessage *msg)
 
void parseNumericEndOfQuietList (KviIrcMessage *msg)
 
void parseNumericEndOfReopList (KviIrcMessage *msg)
 
void parseNumericEndOfSpamFilterList (KviIrcMessage *msg)
 
void parseNumericEndOfStats (KviIrcMessage *msg)
 
void parseNumericEndOfWho (KviIrcMessage *msg)
 
void parseNumericEndOfWhois (KviIrcMessage *msg)
 
void parseNumericEndOfWhowas (KviIrcMessage *msg)
 
void parseNumericExceptList (KviIrcMessage *msg)
 
void parseNumericExemptChanOpList (KviIrcMessage *msg)
 
void parseNumericForward (KviIrcMessage *msg)
 
void parseNumericHiddenHost (KviIrcMessage *msg)
 
void parseNumericInfo (KviIrcMessage *msg)
 
void parseNumericInfoEnd (KviIrcMessage *msg)
 
void parseNumericInfoStart (KviIrcMessage *msg)
 
void parseNumericInvited (KviIrcMessage *msg)
 
void parseNumericInviteList (KviIrcMessage *msg)
 
void parseNumericInviting (KviIrcMessage *msg)
 
void parseNumericIsOn (KviIrcMessage *msg)
 
void parseNumericLinks (KviIrcMessage *msg)
 
void parseNumericList (KviIrcMessage *msg)
 
void parseNumericListEnd (KviIrcMessage *msg)
 
void parseNumericListStart (KviIrcMessage *msg)
 
void parseNumericMotd (KviIrcMessage *msg)
 
void parseNumericMotdMissing (KviIrcMessage *msg)
 
void parseNumericNames (KviIrcMessage *msg)
 
void parseNumericNeedSSL (KviIrcMessage *msg)
 
void parseNumericNicknameProblem (KviIrcMessage *msg)
 
void parseNumericNoPrivs (KviIrcMessage *msg)
 
void parseNumericNoSuchChannel (KviIrcMessage *msg)
 
void parseNumericNoSuchNick (KviIrcMessage *msg)
 
void parseNumericNoSuchServer (KviIrcMessage *msg)
 
void parseNumericNotEnoughParams (KviIrcMessage *msg)
 
void parseNumericNotifyGeneric (KviIrcMessage *msg)
 
void parseNumericNoTopic (KviIrcMessage *msg)
 
void parseNumericNotRegistered (KviIrcMessage *msg)
 
void parseNumericOftcEndOfQuietList (KviIrcMessage *msg)
 
void parseNumericOftcQuietList (KviIrcMessage *msg)
 
void parseNumericPasswordIncorrect (KviIrcMessage *msg)
 
void parseNumericQList (KviIrcMessage *msg)
 
void parseNumericQuietList (KviIrcMessage *msg)
 
void parseNumericReopList (KviIrcMessage *msg)
 
void parseNumericSaslFail (KviIrcMessage *msg)
 
void parseNumericSaslLogin (KviIrcMessage *msg)
 
void parseNumericSaslSuccess (KviIrcMessage *msg)
 
void parseNumericServerAdminInfoAdminContact (KviIrcMessage *msg)
 
void parseNumericServerAdminInfoAdminName (KviIrcMessage *msg)
 
void parseNumericServerAdminInfoServerName (KviIrcMessage *msg)
 
void parseNumericServerAdminInfoTitle (KviIrcMessage *msg)
 
void parseNumericSnomask (KviIrcMessage *msg)
 
void parseNumericSpamFilterList (KviIrcMessage *msg)
 
void parseNumericStartTls (KviIrcMessage *msg)
 
void parseNumericStats (KviIrcMessage *msg)
 
void parseNumericTime (KviIrcMessage *msg)
 
void parseNumericTopic (KviIrcMessage *msg)
 
void parseNumericTopicWhoTime (KviIrcMessage *msg)
 
void parseNumericTryAgain (KviIrcMessage *msg)
 
void parseNumericUnavailResource (KviIrcMessage *msg)
 
void parseNumericUnknownCommand (KviIrcMessage *msg)
 
void parseNumericUserhost (KviIrcMessage *msg)
 
void parseNumericUserInChan (KviIrcMessage *msg)
 
void parseNumericUserMode (KviIrcMessage *msg)
 
void parseNumericUsersDontMatch (KviIrcMessage *msg)
 
void parseNumericWatch (KviIrcMessage *msg)
 
void parseNumericWhoisActually (KviIrcMessage *msg)
 
void parseNumericWhoisAuth (KviIrcMessage *msg)
 
void parseNumericWhoisAway (KviIrcMessage *)
 
void parseNumericWhoisChannels (KviIrcMessage *msg)
 
void parseNumericWhoisIdle (KviIrcMessage *msg)
 
void parseNumericWhoisOther (KviIrcMessage *msg)
 
void parseNumericWhoisRegistered (KviIrcMessage *msg)
 
void parseNumericWhoisServer (KviIrcMessage *msg)
 
void parseNumericWhoisUser (KviIrcMessage *msg)
 
void parseNumericWhoReply (KviIrcMessage *msg)
 
void parseNumericWhospcrpl (KviIrcMessage *msg)
 
void parseNumericWhowasUser (KviIrcMessage *msg)
 
void parseNumericYouHaveCallerID (KviIrcMessage *msg)
 
void parseNumericYoureOper (KviIrcMessage *msg)
 
void parseNumericYourUID (KviIrcMessage *msg)
 
void parseUserMode (KviIrcMessage *msg, const char *modeflptr)
 
void replyCtcp (KviCtcpMessage *msg, const QString &data)
 

Private Attributes

KviCString m_szLastParserError
 

Static Private Attributes

static KviCtcpMessageParseStruct m_ctcpParseProcTable []
 
static KviLiteralMessageParseStruct m_literalParseProcTable []
 
static messageParseProc m_numericParseProcTable [1000]
 

Constructor & Destructor Documentation

◆ KviIrcServerParser()

KviIrcServerParser::KviIrcServerParser ( )

References nullptr.

Referenced by parseNumericWhoReply().

◆ ~KviIrcServerParser()

KviIrcServerParser::~KviIrcServerParser ( )
default

Member Function Documentation

◆ checkCtcpFlood()

◆ decodeCtcpEscape() [1/2]

const char * KviIrcServerParser::decodeCtcpEscape ( const char * msg_ptr,
KviCString & buffer )
static

◆ decodeCtcpEscape() [2/2]

const char * KviIrcServerParser::decodeCtcpEscape ( const char * msg_ptr,
QByteArray & buffer )
static

◆ echoCtcpReply()

◆ echoCtcpRequest()

◆ encodeCtcpParameter() [1/2]

◆ encodeCtcpParameter() [2/2]

void KviIrcServerParser::encodeCtcpParameter ( const char * param,
QString & buffer,
bool bSpaceBreaks = true )
static

◆ extractCtcpParameter() [1/2]

const char * KviIrcServerParser::extractCtcpParameter ( const char * msg_ptr,
KviCString & buffer,
bool bSpaceBreaks = true,
bool bSafeOnly = false )
static

◆ extractCtcpParameter() [2/2]

const char * KviIrcServerParser::extractCtcpParameter ( const char * msg_ptr,
QString & buffer,
bool bSpaceBreaks = true,
bool bSafeOnly = false )
static

References decodeCtcpEscape().

◆ otherChannelError()

◆ parseChannelHelp()

◆ parseChannelMode()

void KviIrcServerParser::parseChannelMode ( const QString & szNick,
const QString & szUser,
const QString & szHost,
KviChannelWindow * chan,
KviCString & modefl,
KviIrcMessage * msg,
int curParam )
private

References __tr2qs, CHANNEL_MODE, CHANUSER_MODE, KviIrcMessage::connection(), KviIrcConnection::decodeText(), KviIrcMessage::haltOutput(), KviIrcConnectionUserInfo::hostName(), IS_ME, KviIrcConnectionServerInfo::isSupportedModeFlag(), KVI_OPTION_BOOL, KVI_OUT_BAN, KVI_OUT_BANEXCEPT, KVI_OUT_BANUNEXCEPT, KVI_OUT_CHANADMIN, KVI_OUT_CHANMODE, KVI_OUT_CHANOWNER, KVI_OUT_DECHANADMIN, KVI_OUT_DECHANOWNER, KVI_OUT_DEOP, KVI_OUT_DEVOICE, KVI_OUT_HALFDEOP, KVI_OUT_HALFOP, KVI_OUT_INVITEEXCEPT, KVI_OUT_INVITEUNEXCEPT, KVI_OUT_KEY, KVI_OUT_LIMIT, KVI_OUT_MEBAN, KVI_OUT_MEBANEXCEPT, KVI_OUT_MEBANUNEXCEPT, KVI_OUT_MECHANADMIN, KVI_OUT_MECHANOWNER, KVI_OUT_MEDECHANADMIN, KVI_OUT_MEDECHANOWNER, KVI_OUT_MEDEHALFOP, KVI_OUT_MEDEOP, KVI_OUT_MEDEUSEROP, KVI_OUT_MEDEVOICE, KVI_OUT_MEHALFOP, KVI_OUT_MEINVITEEXCEPT, KVI_OUT_MEINVITEUNEXCEPT, KVI_OUT_MEOP, KVI_OUT_MEUNBAN, KVI_OUT_MEUSEROP, KVI_OUT_MEVOICE, KVI_OUT_OP, KVI_OUT_UNBAN, KVI_OUT_USERDEOP, KVI_OUT_USEROP, KVI_OUT_VOICE, kvi_strEqualCS(), KviEvent_OnBan, KviEvent_OnBanException, KviEvent_OnBanExceptionRemove, KviEvent_OnChanAdmin, KviEvent_OnChannelModeChange, KviEvent_OnChanOwner, KviEvent_OnDeChanAdmin, KviEvent_OnDeChanOwner, KviEvent_OnDeHalfOp, KviEvent_OnDeOp, KviEvent_OnDeUserOp, KviEvent_OnDeVoice, KviEvent_OnHalfOp, KviEvent_OnInviteException, KviEvent_OnInviteExceptionRemove, KviEvent_OnKeySet, KviEvent_OnKeyUnset, KviEvent_OnLimitSet, KviEvent_OnLimitUnset, KviEvent_OnMeBan, KviEvent_OnMeBanException, KviEvent_OnMeBanExceptionRemove, KviEvent_OnMeChanAdmin, KviEvent_OnMeChanOwner, KviEvent_OnMeDeChanAdmin, KviEvent_OnMeDeChanOwner, KviEvent_OnMeDeHalfOp, KviEvent_OnMeDeOp, KviEvent_OnMeDeUserOp, KviEvent_OnMeDeVoice, KviEvent_OnMeHalfOp, KviEvent_OnMeInviteException, KviEvent_OnMeInviteExceptionRemove, KviEvent_OnMeOp, KviEvent_OnMeQuietBan, KviEvent_OnMeQuietUnban, KviEvent_OnMeUnban, KviEvent_OnMeUserOp, KviEvent_OnMeVoice, KviEvent_OnOp, KviEvent_OnQuietBan, KviEvent_OnQuietUnban, KviEvent_OnUnban, KviEvent_OnUserOp, KviEvent_OnVoice, KviOption_boolShowCompactModeChanges, KVS_TRIGGER_EVENT_3_HALTED, KVS_TRIGGER_EVENT_4_HALTED, KVS_TRIGGER_EVENT_5_HALTED, KviIrcMask::matchesFixed(), KviIrcConnectionUserInfo::nickName(), KviWindow::output(), KviCString::ptr(), KviIrcMessage::safeParam(), KviIrcMessage::safePrefix(), KviIrcConnection::serverInfo(), KviChannelWindow::setChanAdmin(), KviChannelWindow::setChannelMode(), KviChannelWindow::setChannelModeWithParam(), KviChannelWindow::setChanOwner(), KviIrcMessage::setHaltOutput(), KviChannelWindow::setModeInList(), KviIrcConnectionServerInfo::supportedListModes(), KviIrcConnectionServerInfo::supportedParameterModes(), KviIrcConnectionServerInfo::supportedParameterWhenSetModes(), szHost, KviWindow::updateCaption(), KviIrcConnection::userInfo(), and KviIrcConnectionUserInfo::userName().

Referenced by parseLiteralMode(), parseNumericChannelModeIs(), and parseNumericEndOfSpamFilterList().

◆ parseCommandEndOfHelp()

◆ parseCommandHelp()

◆ parseCommandSyntaxHelp()

◆ parseCtcpReply()

◆ parseCtcpReplyAvatar()

◆ parseCtcpReplyGeneric()

void KviIrcServerParser::parseCtcpReplyGeneric ( KviCtcpMessage * msg)
private

◆ parseCtcpReplyLagcheck()

◆ parseCtcpReplyPing()

◆ parseCtcpReplyUserinfo()

◆ parseCtcpRequest()

◆ parseCtcpRequestAction()

void KviIrcServerParser::parseCtcpRequestAction ( KviCtcpMessage * msg)
private

References __tr2qs, KviConsoleWindow::activeWindow(), KviConsoleWindow::applyHighlighting(), KviIrcMessage::connection(), KviWindow::connection(), KviIrcMessage::console(), KviIrcConnection::createQuery(), KviIrcMessage::decodeAndSplitMask(), KviIrcConnection::decodeText(), KviWindow::decodeText(), DECRYPT_IF_NEEDED, KviWindow::demandAttention(), KviIrcConnection::findChannel(), KviIrcConnection::findQuery(), g_pApp, KviWindow::hasAttention(), KviIrcMask::host(), IS_ME, KVI_OPTION_BOOL, KVI_OPTION_MSGTYPE, KVI_OPTION_STRING, KVI_OPTION_UINT, KVI_OUT_ACTION, KVI_OUT_ACTIONCRYPTED, KVI_OUT_HIGHLIGHT, KVI_OUT_SYSTEMWARNING, KviEvent_OnAction, KviEvent_OnQueryWindowRequest, KviOption_boolCreateQueryOnPrivmsg, KviOption_boolExternalMessagesToActiveWindow, KviOption_boolFlashWindowOnHighlightedMessages, KviOption_boolPopupNotifierOnHighlightedMessages, KviOption_boolStripMircColorsInUserMessages, KviOption_stringOnNewQueryOpenedSound, KviOption_stringOnQueryMessageSound, KviOption_uintNotifierAutoHideTime, KVS_TRIGGER_EVENT_4_HALTED, KVS_TRIGGER_EVENT_7_HALTED, KviWindow::MainWindowIsVisible, KviIrcMessage::messageTagsKvsHash(), KviCtcpMessage::msg, KviIrcMask::nick(), KviWindow::output(), KviWindow::outputNoFmt(), KviCtcpMessage::pData, KviCtcpMessage::pSource, KviCString::ptr(), KviKvsScript::run(), KviIrcConnection::serverInfo(), KviIrcMessage::serverTime(), KviIrcMessage::setHaltOutput(), KviQueryWindow::setTarget(), KviControlCodes::stripControlBytes(), KviIrcConnectionServerInfo::supportedChannelTypes(), szBuffer, KviCtcpMessage::szTarget, KviQString::toHtmlEscaped(), and KviIrcMask::user().

Referenced by parseNumericEndOfSpamFilterList().

◆ parseCtcpRequestAvatar()

◆ parseCtcpRequestClientinfo()

◆ parseCtcpRequestDcc()

◆ parseCtcpRequestFinger()

◆ parseCtcpRequestPage()

◆ parseCtcpRequestPing()

◆ parseCtcpRequestSource()

◆ parseCtcpRequestTime()

◆ parseCtcpRequestUserinfo()

◆ parseCtcpRequestVersion()

◆ parseLiteralAccount()

◆ parseLiteralAuthenticate()

void KviIrcServerParser::parseLiteralAuthenticate ( KviIrcMessage * msg)
private

◆ parseLiteralAway()

◆ parseLiteralCap()

◆ parseLiteralChghost()

◆ parseLiteralError()

◆ parseLiteralInvite()

◆ parseLiteralJoin()

◆ parseLiteralKick()

◆ parseLiteralMode()

◆ parseLiteralNick()

◆ parseLiteralNotice()

void KviIrcServerParser::parseLiteralNotice ( KviIrcMessage * msg)
private

References __tr2qs, KviConsoleWindow::activeWindow(), KviCtcpMessage::bIgnored, KviCtcpMessage::bIsFlood, KviCtcpMessage::bUnknown, KviWindow::Channel, KviIrcMessage::connection(), KviWindow::connection(), KviWindow::Console, KviIrcMessage::console(), KviIrcConnection::createQuery(), KviIrcConnection::currentNickName(), KviIrcConnection::currentServerName(), KviCString::cutLeft(), KviCString::cutRight(), KviIrcMessage::decodeAndSplitPrefix(), KviIrcConnection::decodeText(), KviWindow::decodeText(), DECRYPT_IF_NEEDED, KviWindow::demandAttention(), e, KviQString::equalCI(), KviIrcUserDataBase::find(), KviIrcConnection::findChannel(), KviIrcConnection::findQuery(), g_pApp, g_pNickServRuleSet, KviIrcMessage::haltOutput(), KviWindow::hasAttention(), KviNickServRule::identifyCommand(), IS_ME, KviCString::isEmpty(), kvi_mayBeSpam(), KVI_OPTION_BOOL, KVI_OPTION_STRING, KVI_OPTION_UINT, KVI_OUT_BROADCASTNOTICE, KVI_OUT_CHANNELNOTICE, KVI_OUT_CHANNELNOTICECRYPTED, KVI_OUT_CHANSERV, KVI_OUT_IGNORE, KVI_OUT_MEMOSERV, KVI_OUT_NICKSERV, KVI_OUT_QUERYNOTICE, KVI_OUT_QUERYNOTICECRYPTED, KVI_OUT_SERVERNOTICE, KVI_OUT_SPAM, KVI_OUT_SYSTEMERROR, KVI_OUT_SYSTEMMESSAGE, KVI_USERACTION_NOTICE, KviEvent_OnBroadcastNotice, KviEvent_OnChannelNotice, KviEvent_OnChanServNotice, KviEvent_OnMeHostChange, KviEvent_OnMemoServNotice, KviEvent_OnNickServNotice, KviEvent_OnQueryNotice, KviEvent_OnQueryWindowRequest, KviEvent_OnServerNotice, KviOption_boolCreateQueryOnNotice, KviOption_boolExternalMessagesToActiveWindow, KviOption_boolFlashQueryWindowOnNewMessages, KviOption_boolPopupNotifierOnNewNotices, KviOption_boolServerNoticesToActiveWindow, KviOption_boolServicesNoticesToActiveWindow, KviOption_boolSilentAntiSpam, KviOption_boolUseAntiSpamOnNotice, KviOption_boolVerboseIgnore, KviOption_stringOnNewQueryOpenedSound, KviOption_uintNotifierAutoHideTime, KVS_TRIGGER_EVENT_2_HALTED, KVS_TRIGGER_EVENT_5_HALTED, KVS_TRIGGER_EVENT_6_HALTED, KviCString::lastCharIs(), KviCString::len(), KviWindow::MainWindowIsVisible, KviIrcMessage::messageTagsKvsHash(), KviCtcpMessage::msg, KviIrcConnectionTarget::network(), KviIrcNetwork::nickServRuleSet(), KviConsoleWindow::NoNotifier, KviRegisteredUser::Notice, KviConsoleWindow::NoWindowFlashing, KviWindow::output(), KviWindow::outputNoFmt(), KviConsoleWindow::outputPrivmsg(), parseCtcpReply(), KviCtcpMessage::pData, KviCtcpMessage::pSource, KviCString::ptr(), KviWindow::Query, KviIconManager::QueryNotice, r, KviIrcUserDataBase::registeredUser(), KviKvsScript::run(), KviIrcMessage::safeParam(), KviIrcMessage::safeTrailing(), KviIrcMessage::safeTrailingString(), KviIrcConnection::serverInfo(), KviIrcMessage::serverTime(), KviIrcMessage::setHaltOutput(), KviQueryWindow::setTarget(), KviIrcConnectionServerInfo::software(), KviIrcConnectionServerInfo::supportedStatusMsgPrefixes(), szBuffer, szHost, KviCtcpMessage::szTarget, KviIrcConnection::target(), KviQString::toHtmlEscaped(), KviWindow::type(), u, KviChannelWindow::userAction(), KviQueryWindow::userAction(), and KviIrcConnection::userDataBase().

Referenced by parseNumericEndOfSpamFilterList().

◆ parseLiteralPart()

◆ parseLiteralPing()

◆ parseLiteralPong()

◆ parseLiteralPrivmsg()

void KviIrcServerParser::parseLiteralPrivmsg ( KviIrcMessage * msg)
private

References __tr2qs, KviConsoleWindow::activeWindow(), KviCtcpMessage::bIgnored, KviCtcpMessage::bIsFlood, KviCtcpMessage::bUnknown, KviRegisteredUser::Channel, KviWindow::Channel, KviIrcMessage::connection(), KviWindow::connection(), KviIrcMessage::console(), KviIrcConnection::createQuery(), KviCString::cutLeft(), KviCString::cutRight(), KviIrcMessage::decodeAndSplitMask(), KviIrcMessage::decodeAndSplitPrefix(), KviIrcConnection::decodeText(), KviWindow::decodeText(), DECRYPT_IF_NEEDED, KviWindow::demandAttention(), e, KviIrcUserDataBase::find(), KviIrcConnection::findChannel(), KviIrcConnection::findQuery(), g_pApp, KviIrcMessage::haltOutput(), KviWindow::hasAttention(), KviIrcConnectionStateData::identifyMsgCapabilityEnabled(), IdentifyMsgCapNotUsed, IdentifyMsgCapUsedIdentified, IdentifyMsgCapUsedNotIdentified, IS_ME, KviCString::isEmpty(), KviRegisteredUser::isIgnoreEnabledFor(), kvi_mayBeSpam(), KVI_OPTION_BOOL, KVI_OPTION_STRING, KVI_OPTION_UINT, KVI_OUT_BROADCASTPRIVMSG, KVI_OUT_CHANPRIVMSG, KVI_OUT_CHANPRIVMSGCRYPTED, KVI_OUT_IGNORE, KVI_OUT_QUERYPRIVMSG, KVI_OUT_QUERYPRIVMSGCRYPTED, KVI_OUT_SPAM, KVI_USERACTION_PRIVMSG, KviEvent_OnChannelMessage, KviEvent_OnIgnoredMessage, KviEvent_OnQueryMessage, KviEvent_OnQueryWindowRequest, KviOption_boolCreateQueryOnPrivmsg, KviOption_boolExternalMessagesToActiveWindow, KviOption_boolFlashQueryWindowOnNewMessages, KviOption_boolOperatorMessagesToActiveWindow, KviOption_boolPopupNotifierOnNewQueryMessages, KviOption_boolSilentAntiSpam, KviOption_boolUseAntiSpamOnPrivmsg, KviOption_boolVerboseIgnore, KviOption_stringOnNewQueryOpenedSound, KviOption_stringOnQueryMessageSound, KviOption_uintNotifierAutoHideTime, KVS_TRIGGER_EVENT_5_HALTED, KVS_TRIGGER_EVENT_6_HALTED, KVS_TRIGGER_EVENT_7_HALTED, KviCString::lastCharIs(), KviCString::len(), KviWindow::MainWindowIsVisible, KviIrcMessage::messageTagsKvsHash(), KviCtcpMessage::msg, KviConsoleWindow::NoNotifier, KviConsoleWindow::NoWindowFlashing, KviWindow::output(), KviConsoleWindow::outputPrivmsg(), parseCtcpRequest(), KviCtcpMessage::pData, KviCtcpMessage::pSource, KviCString::ptr(), KviRegisteredUser::Query, KviIconManager::QueryPrivMsg, KviIrcUserDataBase::registeredUser(), KviKvsScript::run(), KviIrcMessage::safeParam(), KviIrcMessage::safeTrailing(), KviIrcMessage::safeTrailingString(), KviIrcConnection::serverInfo(), KviIrcMessage::serverTime(), KviIrcMessage::setHaltOutput(), KviQueryWindow::setTarget(), KviIrcConnection::stateData(), KviIrcConnectionServerInfo::supportedChannelTypes(), KviIrcConnectionServerInfo::supportedStatusMsgPrefixes(), szBuffer, KviCtcpMessage::szTarget, KviQString::toHtmlEscaped(), KviWindow::type(), KviChannelWindow::userAction(), KviQueryWindow::userAction(), and KviIrcConnection::userDataBase().

Referenced by parseNumericEndOfSpamFilterList().

◆ parseLiteralQuit()

◆ parseLiteralTopic()

◆ parseLiteralWallops()

◆ parseLoginNicknameProblem()

◆ parseMessage()

◆ parseNumeric001()

◆ parseNumeric002()

◆ parseNumeric003()

◆ parseNumeric004()

◆ parseNumeric005()

◆ parseNumeric020()

◆ parseNumeric344()

◆ parseNumeric345()

◆ parseNumeric367()

◆ parseNumeric368()

◆ parseNumeric480()

◆ parseNumeric486()

◆ parseNumeric728()

◆ parseNumeric729()

◆ parseNumeric742()

◆ parseNumericAList()

void KviIrcServerParser::parseNumericAList ( KviIrcMessage * msg)
private

◆ parseNumericAlreadyRegistered()

◆ parseNumericAway()

◆ parseNumericBackFromAway()

◆ parseNumericBanOnChan()

◆ parseNumericCannotSend()

◆ parseNumericCannotSendColor()

◆ parseNumericCantJoinChannel()

◆ parseNumericChanAccessList()

void KviIrcServerParser::parseNumericChanAccessList ( KviIrcMessage * msg)
private

◆ parseNumericChannelModeIs()

◆ parseNumericChanUrl()

◆ parseNumericCodePageScheme()

◆ parseNumericCodePageSet()

◆ parseNumericCommandSyntax()

◆ parseNumericCreationTime()

◆ parseNumericEndOfAList()

void KviIrcServerParser::parseNumericEndOfAList ( KviIrcMessage * msg)
private

◆ parseNumericEndOfChanAccessList()

void KviIrcServerParser::parseNumericEndOfChanAccessList ( KviIrcMessage * msg)
private

◆ parseNumericEndOfExceptList()

void KviIrcServerParser::parseNumericEndOfExceptList ( KviIrcMessage * msg)
private

◆ parseNumericEndOfExemptChanOpList()

void KviIrcServerParser::parseNumericEndOfExemptChanOpList ( KviIrcMessage * msg)
private

References parseNumericInvited().

◆ parseNumericEndOfInviteList()

void KviIrcServerParser::parseNumericEndOfInviteList ( KviIrcMessage * msg)
private

◆ parseNumericEndOfLinks()

◆ parseNumericEndOfNames()

◆ parseNumericEndOfQList()

void KviIrcServerParser::parseNumericEndOfQList ( KviIrcMessage * msg)
private

◆ parseNumericEndOfQuietList()

◆ parseNumericEndOfReopList()

void KviIrcServerParser::parseNumericEndOfReopList ( KviIrcMessage * msg)
private

Referenced by parseNumeric345().

◆ parseNumericEndOfSpamFilterList()

void KviIrcServerParser::parseNumericEndOfSpamFilterList ( KviIrcMessage * msg)
private

References checkCtcpFlood(), decodeCtcpEscape(), echoCtcpReply(), echoCtcpRequest(), encodeCtcpParameter(), extractCtcpParameter(), otherChannelError(), parseChannelHelp(), parseChannelMode(), parseCommandEndOfHelp(), parseCommandHelp(), parseCommandSyntaxHelp(), parseCtcpReply(), parseCtcpReplyAvatar(), parseCtcpReplyGeneric(), parseCtcpReplyLagcheck(), parseCtcpReplyPing(), parseCtcpReplyUserinfo(), parseCtcpRequest(), parseCtcpRequestAction(), parseCtcpRequestAvatar(), parseCtcpRequestClientinfo(), parseCtcpRequestDcc(), parseCtcpRequestFinger(), parseCtcpRequestPage(), parseCtcpRequestPing(), parseCtcpRequestSource(), parseCtcpRequestTime(), parseCtcpRequestUserinfo(), parseCtcpRequestVersion(), parseLiteralAccount(), parseLiteralAuthenticate(), parseLiteralAway(), parseLiteralCap(), parseLiteralChghost(), parseLiteralError(), parseLiteralInvite(), parseLiteralJoin(), parseLiteralKick(), parseLiteralMode(), parseLiteralNick(), parseLiteralNotice(), parseLiteralPart(), parseLiteralPing(), parseLiteralPong(), parseLiteralPrivmsg(), parseLiteralQuit(), parseLiteralTopic(), parseLiteralWallops(), parseLoginNicknameProblem(), parseNumericAlreadyRegistered(), parseNumericAway(), parseNumericBackFromAway(), parseNumericBanOnChan(), parseNumericCannotSend(), parseNumericCannotSendColor(), parseNumericCantJoinChannel(), parseNumericChanUrl(), parseNumericCodePageScheme(), parseNumericCodePageSet(), parseNumericCommandSyntax(), parseNumericCreationTime(), parseNumericEndOfLinks(), parseNumericEndOfQuietList(), parseNumericEndOfStats(), parseNumericEndOfWho(), parseNumericEndOfWhois(), parseNumericEndOfWhowas(), parseNumericForward(), parseNumericHiddenHost(), parseNumericInfo(), parseNumericInfoEnd(), parseNumericInfoStart(), parseNumericInviting(), parseNumericIsOn(), parseNumericLinks(), parseNumericList(), parseNumericListEnd(), parseNumericListStart(), parseNumericMotdMissing(), parseNumericNeedSSL(), parseNumericNicknameProblem(), parseNumericNoPrivs(), parseNumericNoSuchChannel(), parseNumericNoSuchNick(), parseNumericNoSuchServer(), parseNumericNotEnoughParams(), parseNumericNotifyGeneric(), parseNumericNotRegistered(), parseNumericOftcEndOfQuietList(), parseNumericOftcQuietList(), parseNumericPasswordIncorrect(), parseNumericQuietList(), parseNumericSaslFail(), parseNumericSaslLogin(), parseNumericSaslSuccess(), parseNumericServerAdminInfoAdminContact(), parseNumericServerAdminInfoAdminName(), parseNumericServerAdminInfoServerName(), parseNumericServerAdminInfoTitle(), parseNumericStartTls(), parseNumericStats(), parseNumericTime(), parseNumericTryAgain(), parseNumericUnavailResource(), parseNumericUnknownCommand(), parseNumericUserhost(), parseNumericUserInChan(), parseNumericUserMode(), parseNumericUsersDontMatch(), parseNumericWatch(), parseNumericWhoisActually(), parseNumericWhoisAuth(), parseNumericWhoisAway(), parseNumericWhoisChannels(), parseNumericWhoisIdle(), parseNumericWhoisOther(), parseNumericWhoisRegistered(), parseNumericWhoisServer(), parseNumericWhoisUser(), parseNumericWhoReply(), parseNumericWhospcrpl(), parseNumericWhowasUser(), parseNumericYouHaveCallerID(), parseNumericYoureOper(), parseUserMode(), replyCtcp(), and szHost.

◆ parseNumericEndOfStats()

◆ parseNumericEndOfWho()

◆ parseNumericEndOfWhois()

◆ parseNumericEndOfWhowas()

◆ parseNumericExceptList()

void KviIrcServerParser::parseNumericExceptList ( KviIrcMessage * msg)
private

◆ parseNumericExemptChanOpList()

void KviIrcServerParser::parseNumericExemptChanOpList ( KviIrcMessage * msg)
private

◆ parseNumericForward()

◆ parseNumericHiddenHost()

◆ parseNumericInfo()

◆ parseNumericInfoEnd()

◆ parseNumericInfoStart()

◆ parseNumericInvited()

◆ parseNumericInviteList()

void KviIrcServerParser::parseNumericInviteList ( KviIrcMessage * msg)
private

◆ parseNumericInviting()

◆ parseNumericIsOn()

◆ parseNumericLinks()

◆ parseNumericList()

◆ parseNumericListEnd()

◆ parseNumericListStart()

◆ parseNumericMotd()

◆ parseNumericMotdMissing()

◆ parseNumericNames()

◆ parseNumericNeedSSL()

◆ parseNumericNicknameProblem()

◆ parseNumericNoPrivs()

◆ parseNumericNoSuchChannel()

◆ parseNumericNoSuchNick()

◆ parseNumericNoSuchServer()

◆ parseNumericNotEnoughParams()

◆ parseNumericNotifyGeneric()

◆ parseNumericNoTopic()

◆ parseNumericNotRegistered()

◆ parseNumericOftcEndOfQuietList()

◆ parseNumericOftcQuietList()

◆ parseNumericPasswordIncorrect()

◆ parseNumericQList()

void KviIrcServerParser::parseNumericQList ( KviIrcMessage * msg)
private

◆ parseNumericQuietList()

◆ parseNumericReopList()

void KviIrcServerParser::parseNumericReopList ( KviIrcMessage * msg)
private

Referenced by parseNumeric344().

◆ parseNumericSaslFail()

◆ parseNumericSaslLogin()

◆ parseNumericSaslSuccess()

◆ parseNumericServerAdminInfoAdminContact()

◆ parseNumericServerAdminInfoAdminName()

◆ parseNumericServerAdminInfoServerName()

◆ parseNumericServerAdminInfoTitle()

◆ parseNumericSnomask()

◆ parseNumericSpamFilterList()

void KviIrcServerParser::parseNumericSpamFilterList ( KviIrcMessage * msg)
private

◆ parseNumericStartTls()

◆ parseNumericStats()

◆ parseNumericTime()

◆ parseNumericTopic()

◆ parseNumericTopicWhoTime()

◆ parseNumericTryAgain()

◆ parseNumericUnavailResource()

◆ parseNumericUnknownCommand()

◆ parseNumericUserhost()

◆ parseNumericUserInChan()

◆ parseNumericUserMode()

◆ parseNumericUsersDontMatch()

◆ parseNumericWatch()

◆ parseNumericWhoisActually()

◆ parseNumericWhoisAuth()

◆ parseNumericWhoisAway()

◆ parseNumericWhoisChannels()

◆ parseNumericWhoisIdle()

◆ parseNumericWhoisOther()

◆ parseNumericWhoisRegistered()

◆ parseNumericWhoisServer()

◆ parseNumericWhoisUser()

◆ parseNumericWhoReply()

void KviIrcServerParser::parseNumericWhoReply ( KviIrcMessage * msg)
private

◆ parseNumericWhospcrpl()

◆ parseNumericWhowasUser()

◆ parseNumericYouHaveCallerID()

◆ parseNumericYoureOper()

◆ parseNumericYourUID()

◆ parseUserMode()

◆ replyCtcp()

Member Data Documentation

◆ m_ctcpParseProcTable

KviCtcpMessageParseStruct KviIrcServerParser::m_ctcpParseProcTable
staticprivate
Initial value:
= {
{ "ACTION" , PTM(REQ(Action)) , PTM(REQ(Action)) , 0 },
{ "AVATAR" , PTM(REQ(Avatar)) , PTM(RPL(Avatar)) , 0 },
{ "CLIENTINFO" , PTM(REQ(Clientinfo)) , PTM(RPL(Generic)) , 0 },
{ "DCC" , PTM(REQ(Dcc)) , PTM(REQ(Dcc)) , 0 },
{ "FINGER" , PTM(REQ(Finger)) , PTM(RPL(Generic)) , 0 },
{ "LAGCHECK" , nullptr , PTM(RPL(Lagcheck)) , KVI_CTCP_MESSAGE_PARSE_TRIGGERNOEVENT },
{ "PAGE" , PTM(REQ(Page)) , PTM(RPL(Generic)) , 0 },
{ "PING" , PTM(REQ(Ping)) , PTM(RPL(Ping)) , 0 },
{ "SOURCE" , PTM(REQ(Source)) , PTM(RPL(Generic)) , 0 },
{ "TDCC" , PTM(REQ(Dcc)) , PTM(REQ(Dcc)) , 0 },
{ "TIME" , PTM(REQ(Time)) , PTM(RPL(Generic)) , 0 },
{ "USERINFO" , PTM(REQ(Userinfo)) , PTM(RPL(Userinfo)) , 0 },
{ "VERSION" , PTM(REQ(Version)) , PTM(RPL(Generic)) , 0 },
{ "XDCC" , PTM(REQ(Dcc)) , PTM(REQ(Dcc)) , 0 },
{ nullptr , nullptr , nullptr , 0 }
}
#define KVI_CTCP_MESSAGE_PARSE_TRIGGERNOEVENT
Definition KviIrcServerParser.h:87
#define RPL(f)
Definition KviIrcServerParser_tables.cpp:56
#define REQ(f)
Definition KviIrcServerParser_tables.cpp:55
#define PTM(m)
Definition KviIrcServerParser_tables.cpp:28
return nullptr
Definition KviKvsParser.cpp:3318

Referenced by parseCtcpReply(), parseCtcpRequest(), and ~KviIrcServerParser().

◆ m_literalParseProcTable

KviLiteralMessageParseStruct KviIrcServerParser::m_literalParseProcTable
staticprivate
Initial value:
= {
{ "ACCOUNT" , PTM(parseLiteralAccount) },
{ "AUTHENTICATE" , PTM(parseLiteralAuthenticate) },
{ "AWAY" , PTM(parseLiteralAway) },
{ "CAP" , PTM(parseLiteralCap) },
{ "CHGHOST" , PTM(parseLiteralChghost) },
{ "ERROR" , PTM(parseLiteralError) },
{ "INVITE" , PTM(parseLiteralInvite) },
{ "JOIN" , PTM(parseLiteralJoin) },
{ "KICK" , PTM(parseLiteralKick) },
{ "MODE" , PTM(parseLiteralMode) },
{ "NICK" , PTM(parseLiteralNick) },
{ "NOTICE" , PTM(parseLiteralNotice) },
{ "PART" , PTM(parseLiteralPart) },
{ "PING" , PTM(parseLiteralPing) },
{ "PONG" , PTM(parseLiteralPong) },
{ "PRIVMSG" , PTM(parseLiteralPrivmsg) },
{ "QUIT" , PTM(parseLiteralQuit) },
{ "TOPIC" , PTM(parseLiteralTopic) },
{ "WALLOPS" , PTM(parseLiteralWallops) },
{ nullptr , nullptr }
}
void parseLiteralPing(KviIrcMessage *msg)
Definition KviIrcServerParser_literalHandlers.cpp:80
void parseLiteralCap(KviIrcMessage *msg)
Definition KviIrcServerParser_literalHandlers.cpp:2551
void parseLiteralTopic(KviIrcMessage *msg)
Definition KviIrcServerParser_literalHandlers.cpp:1688
void parseLiteralNotice(KviIrcMessage *msg)
Definition KviIrcServerParser_literalHandlers.cpp:1232
void parseLiteralAway(KviIrcMessage *msg)
Definition KviIrcServerParser_literalHandlers.cpp:2651
void parseLiteralMode(KviIrcMessage *msg)
Definition KviIrcServerParser_literalHandlers.cpp:1983
void parseLiteralKick(KviIrcMessage *msg)
Definition KviIrcServerParser_literalHandlers.cpp:673
void parseLiteralNick(KviIrcMessage *msg)
Definition KviIrcServerParser_literalHandlers.cpp:1747
void parseLiteralPong(KviIrcMessage *msg)
Definition KviIrcServerParser_literalHandlers.cpp:104
void parseLiteralAuthenticate(KviIrcMessage *msg)
Definition KviIrcServerParser_literalHandlers.cpp:2640
void parseLiteralWallops(KviIrcMessage *msg)
Definition KviIrcServerParser_literalHandlers.cpp:1925
void parseLiteralAccount(KviIrcMessage *msg)
Definition KviIrcServerParser_literalHandlers.cpp:152
void parseLiteralChghost(KviIrcMessage *msg)
Definition KviIrcServerParser_literalHandlers.cpp:181
void parseLiteralError(KviIrcMessage *msg)
Definition KviIrcServerParser_literalHandlers.cpp:129
void parseLiteralPrivmsg(KviIrcMessage *msg)
Definition KviIrcServerParser_literalHandlers.cpp:848
void parseLiteralJoin(KviIrcMessage *msg)
Definition KviIrcServerParser_literalHandlers.cpp:255
void parseLiteralPart(KviIrcMessage *msg)
Definition KviIrcServerParser_literalHandlers.cpp:433
void parseLiteralInvite(KviIrcMessage *msg)
Definition KviIrcServerParser_literalHandlers.cpp:1869
void parseLiteralQuit(KviIrcMessage *msg)
Definition KviIrcServerParser_literalHandlers.cpp:531

Referenced by parseMessage(), and ~KviIrcServerParser().

◆ m_numericParseProcTable

messageParseProc KviIrcServerParser::m_numericParseProcTable
staticprivate

◆ m_szLastParserError

KviCString KviIrcServerParser::m_szLastParserError
private

Referenced by parseMessage().


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