KVIrc 5.2.6
Developer APIs
KviIrcServerParser_numericHandlers.cpp File Reference
#include "KviIrcServerParser.h"
#include "KviWindow.h"
#include "KviQueryWindow.h"
#include "kvi_out.h"
#include "KviLocale.h"
#include "KviIrcSocket.h"
#include "KviOptions.h"
#include "KviChannelWindow.h"
#include "KviTopicWidget.h"
#include "KviIrcUserDataBase.h"
#include "kvi_defaults.h"
#include "KviControlCodes.h"
#include "KviMainWindow.h"
#include "KviApplication.h"
#include "KviNotifyList.h"
#include "KviIrcNumericCodes.h"
#include "KviIrcConnection.h"
#include "KviIrcConnectionStateData.h"
#include "KviIrcConnectionUserInfo.h"
#include "KviIrcConnectionServerInfo.h"
#include "KviIrcConnectionAsyncWhoisData.h"
#include "KviIrcConnectionTarget.h"
#include "KviTimeUtils.h"
#include "KviLagMeter.h"
#include "KviKvsEventTriggers.h"
#include "KviKvsScript.h"
#include "KviKvsVariantList.h"
#include "KviIdentityProfileSet.h"
#include "KviIrcMessage.h"
#include "KviRegExp.h"
#include <QPixmap>
#include <QDateTime>
#include <QTextCodec>
#include <QByteArray>
#include <QLocale>

Macros

#define DECRYPT_IF_NEEDED(_target, _txt, _type, _type2, _buffer, _retptr, _retmsgtype)
 
#define IS_CHANNEL_TYPE_FLAG(_qchar)
 
#define IS_USER_MODE_PREFIX(_qchar)
 
#define PARSE_NUMERIC_ENDOFLIST(__funcname, __modechar, __daicon, __szWhatQString)
 
#define PARSE_NUMERIC_LIST(__funcname, __modechar, __ico, __szWhatQString)
 

Functions

void getDateTimeStringFromCharTimeT (QString &szBuffer, const char *time_t_string)
 
 PARSE_NUMERIC_LIST (parseNumericAList, 'a', KVI_OUT_BAN, __tr2qs("Admin/protected nicks listing"))
 
 PARSE_NUMERIC_LIST (parseNumericChanAccessList, 'w', KVI_OUT_INVITEEXCEPT, __tr2qs("Channel access listing"))
 
 PARSE_NUMERIC_LIST (parseNumericExceptList, 'e', KVI_OUT_BANEXCEPT, __tr2qs("Ban exception listing"))
 
 PARSE_NUMERIC_LIST (parseNumericExemptChanOpList, 'X', KVI_OUT_INVITEEXCEPT, __tr2qs("Channel exemptions listing"))
 
 PARSE_NUMERIC_LIST (parseNumericQList, 'q', KVI_OUT_BAN, __tr2qs("Owner listing"))
 
 PARSE_NUMERIC_LIST (parseNumericReopList, 'R', KVI_OUT_BAN, __tr2qs("Reop masks listing"))
 
 PARSE_NUMERIC_LIST (parseNumericSpamFilterList, 'g', KVI_OUT_BAN, __tr2qs("Spam filter listing"))
 

Macro Definition Documentation

◆ DECRYPT_IF_NEEDED

#define DECRYPT_IF_NEEDED ( _target,
_txt,
_type,
_type2,
_buffer,
_retptr,
_retmsgtype )
Value:
_retptr = _txt; \
_retmsgtype = _type;

◆ IS_CHANNEL_TYPE_FLAG

#define IS_CHANNEL_TYPE_FLAG ( _qchar)
Value:
(msg->connection()->serverInfo()->supportedChannelTypes().indexOf(_qchar) != -1)

Referenced by KviIrcServerParser::parseNumericChannelModeIs(), KviIrcServerParser::parseNumericEndOfWho(), and KviIrcServerParser::parseNumericWhoisChannels().

◆ IS_USER_MODE_PREFIX

#define IS_USER_MODE_PREFIX ( _qchar)
Value:
(msg->connection()->serverInfo()->supportedModePrefixes().indexOf(_qchar) != -1)

Referenced by KviIrcServerParser::parseNumericWhoisChannels().

◆ PARSE_NUMERIC_ENDOFLIST

#define PARSE_NUMERIC_ENDOFLIST ( __funcname,
__modechar,
__daicon,
__szWhatQString )
Value:
void KviIrcServerParser::__funcname(KviIrcMessage * msg) \
{ \
QString szChan = msg->connection()->decodeText(msg->safeParam(1)); \
KviChannelWindow * chan = msg->connection()->findChannel(szChan); \
if(chan) \
{ \
if(chan->sentListRequest(__modechar)) \
{ \
chan->setListRequestDone(__modechar); \
return; \
} \
} \
if(!msg->haltOutput()) \
{ \
KviWindow * pOut = chan ? chan : KVI_OPTION_BOOL(KviOption_boolServerRepliesToActiveWindow) ? msg->console()->activeWindow() : static_cast<KviWindow *>(msg->console()); \
pOut->output(__daicon, __tr2qs("End of channel %Q for \r!c\r%Q\r"), &(__szWhatQString), &szChan); \
} \
}
#define __tr2qs(text)
Definition KviLocale.h:216
#define KviOption_boolServerRepliesToActiveWindow
Definition KviOptions.h:251
#define KVI_OPTION_BOOL(_idx)
Definition KviOptions.h:661
The class which manages a channel.
Definition KviChannelWindow.h:108
void setListRequestDone(char cMode)
Clears the "sent request" flag for a specific chanel mode.
Definition KviChannelWindow.h:384
bool sentListRequest(char cMode)
Returns true if we have sent a list request for a specific channel mode.
Definition KviChannelWindow.h:372
KviWindow * activeWindow()
Definition KviConsoleWindow.cpp:433
KviChannelWindow * findChannel(const QString &szName)
Finds the channel with the specified unicode name.
Definition KviIrcConnection.cpp:567
Definition KviIrcMessage.h:50
Base class for all windows in KVIrc.
Definition KviWindow.h:75
KviConsoleWindow * console() const
Returns the console that this window belongs to.
Definition KviWindow.h:299
virtual void output(int iMsgType, const char *pcFormat,...)
Definition KviWindow.cpp:1216
KviIrcConnection * connection()
Returns the current IRC connection (if any)
Definition KviWindow.cpp:1376

◆ PARSE_NUMERIC_LIST

#define PARSE_NUMERIC_LIST ( __funcname,
__modechar,
__ico,
__szWhatQString )
Value:
void KviIrcServerParser::__funcname(KviIrcMessage * msg) \
{ \
QString szChan = msg->connection()->decodeText(msg->safeParam(1)); \
QString banmask = msg->connection()->decodeText(msg->safeParam(2)); \
QString bansetby = msg->connection()->decodeText(msg->safeParam(3)); \
QString bansetat; \
getDateTimeStringFromCharTimeT(bansetat, msg->safeParam(4)); \
if(bansetby.isEmpty()) \
bansetby = __tr2qs("(Unknown)"); \
KviChannelWindow * chan = msg->connection()->findChannel(szChan); \
if(chan) \
{ \
chan->setModeInList(__modechar, banmask, true, bansetby, QString(msg->safeParam(4)).toUInt()); \
if(chan->sentListRequest(__modechar)) \
return; \
} \
if(!msg->haltOutput()) \
{ \
KviWindow * pOut = chan ? chan : KVI_OPTION_BOOL(KviOption_boolServerRepliesToActiveWindow) ? msg->console()->activeWindow() : static_cast<KviWindow *>(msg->console()); \
pOut->output(__ico, __tr2qs("%Q for \r!c\r%Q\r: \r!m-%c\r%Q\r (set by %Q on %Q)"), \
&(__szWhatQString), &szChan, __modechar, &banmask, &bansetby, &bansetat); \
} \
}
void setModeInList(char cMode, const QString &szMask, bool bAdd, const QString &szSetBy, unsigned int uSetAt, QString szChangeMask=QString())
Called when someone sets a channel mode that is stored in a list; these modes require a parameter tha...
Definition KviChannelWindow.cpp:1907

Function Documentation

◆ getDateTimeStringFromCharTimeT()

◆ PARSE_NUMERIC_LIST() [1/7]

PARSE_NUMERIC_LIST ( parseNumericAList ,
'a' ,
KVI_OUT_BAN ,
__tr2qs("Admin/protected nicks listing")  )

◆ PARSE_NUMERIC_LIST() [2/7]

PARSE_NUMERIC_LIST ( parseNumericChanAccessList ,
'w' ,
KVI_OUT_INVITEEXCEPT ,
__tr2qs("Channel access listing")  )

◆ PARSE_NUMERIC_LIST() [3/7]

PARSE_NUMERIC_LIST ( parseNumericExceptList ,
'e' ,
KVI_OUT_BANEXCEPT ,
__tr2qs("Ban exception listing")  )

◆ PARSE_NUMERIC_LIST() [4/7]

PARSE_NUMERIC_LIST ( parseNumericExemptChanOpList ,
'X' ,
KVI_OUT_INVITEEXCEPT ,
__tr2qs("Channel exemptions listing")  )

◆ PARSE_NUMERIC_LIST() [5/7]

PARSE_NUMERIC_LIST ( parseNumericQList ,
'q' ,
KVI_OUT_BAN ,
__tr2qs("Owner listing")  )

◆ PARSE_NUMERIC_LIST() [6/7]

PARSE_NUMERIC_LIST ( parseNumericReopList ,
'R' ,
KVI_OUT_BAN ,
__tr2qs("Reop masks listing")  )

◆ PARSE_NUMERIC_LIST() [7/7]

PARSE_NUMERIC_LIST ( parseNumericSpamFilterList ,
'g' ,
KVI_OUT_BAN ,
__tr2qs("Spam filter listing")  )