Files
pokerth/src/chatcleaner/messagefilter.h
T

59 lines
1.1 KiB
C++
Raw Normal View History

#ifndef MESSAGEFILTER_H
#define MESSAGEFILTER_H
#include <QtCore>
#include <stdlib.h>
#include <third_party/boost/timers.hpp>
class BadWordCheck;
class TextFloodCheck;
class CleanerConfig;
2009-07-29 23:27:27 +00:00
class CapsFloodCheck;
class LetterRepeatingCheck;
class UrlCheck;
class MessageFilter: public QObject
{
Q_OBJECT
public:
MessageFilter(CleanerConfig*);
~MessageFilter();
2010-07-13 19:44:04 +00:00
QStringList check(unsigned, QString, QString);
void refreshConfig();
2010-07-13 19:44:04 +00:00
public slots:
void cleanKickCounterList();
2010-07-13 19:44:04 +00:00
private:
BadWordCheck *myBadWordCheck;
TextFloodCheck *myTextFloodCheck;
CapsFloodCheck *myCapsFloodCheck;
LetterRepeatingCheck *myLetterRepeatingCheck;
UrlCheck *myUrlCheck;
struct ClientWarnInfos {
QString nick;
int lastWarnType;
int warnLevel;
};
struct ClientKickInfos {
size_t lastKickTimestamp;
int kickNumber;
};
2010-07-13 19:44:04 +00:00
QMap<unsigned, ClientWarnInfos> myClientWarnLevelList;
QMap<QString, ClientKickInfos> myClientKickCounterList;
2010-07-13 19:44:04 +00:00
int warnLevelToKick;
int kickNumberToBan;
2010-07-13 19:44:04 +00:00
CleanerConfig *config;
2010-07-13 19:44:04 +00:00
boost::timers::portable::second_timer timer;
QTimer *cleanTimer;
};
#endif // MESSAGEFILTER_H