1 #ifndef _KVI_IRCCONNECTIONANTICTCPFLOODDATA_H_
2 #define _KVI_IRCCONNECTIONANTICTCPFLOODDATA_H_
3 //=============================================================================
4 //
5 //   File : KviIrcConnectionAntiCtcpFloodData.h
6 //   Creation date : Sat 26 Jun 2004 18:09:42 by Szymon Stefanek
7 //
8 //   This file is part of the KVIrc IRC client distribution
9 //   Copyright (C) 2004-2010 Szymon Stefanek <pragma at kvirc dot net>
10 //
11 //   This program is FREE software. You can redistribute it and/or
12 //   modify it under the terms of the GNU General Public License
13 //   as published by the Free Software Foundation; either version 2
14 //   of the License, or (at your option) any later version.
15 //
16 //   This program is distributed in the HOPE that it will be USEFUL,
17 //   but WITHOUT ANY WARRANTY; without even the implied warranty of
18 //   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
19 //   See the GNU General Public License for more details.
20 //
21 //   You should have received a copy of the GNU General Public License
22 //   along with this program. If not, write to the Free Software Foundation,
23 //   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
24 //
25 //=============================================================================
26 
27 #include "kvi_settings.h"
28 #include "KviTimeUtils.h"
29 
30 class KVIRC_API KviIrcConnectionAntiCtcpFloodData
31 {
32 public:
33 	KviIrcConnectionAntiCtcpFloodData();
34 	~KviIrcConnectionAntiCtcpFloodData();
35 
36 protected:
37 	// ctcp antiflood mechanism
38 	kvi_time_t m_tLastCtcp = 0;    // the time we have received the last "may flood" ctcp request
39 	unsigned int m_uCtcpCount = 0; // the ctcp counter for the antiflooder
40 public:
lastCtcpTime()41 	kvi_time_t lastCtcpTime() const { return m_tLastCtcp; }
ctcpCount()42 	unsigned int ctcpCount() const { return m_uCtcpCount; }
setLastCtcpTime(kvi_time_t tLastCtcp)43 	void setLastCtcpTime(kvi_time_t tLastCtcp) { m_tLastCtcp = tLastCtcp; }
increaseCtcpCount()44 	void increaseCtcpCount() { m_uCtcpCount++; }
setCtcpCount(unsigned int uCtcpCount)45 	void setCtcpCount(unsigned int uCtcpCount) { m_uCtcpCount = uCtcpCount; }
46 };
47 
48 #endif //!_KVI_IRCCONNECTIONANTICTCPFLOODDATA_H_
49