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