summaryrefslogtreecommitdiffstats
path: root/src/kvirc/kernel/kvi_ircconnectionstatedata.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/kvirc/kernel/kvi_ircconnectionstatedata.h')
-rw-r--r--src/kvirc/kernel/kvi_ircconnectionstatedata.h77
1 files changed, 77 insertions, 0 deletions
diff --git a/src/kvirc/kernel/kvi_ircconnectionstatedata.h b/src/kvirc/kernel/kvi_ircconnectionstatedata.h
new file mode 100644
index 00000000..3a70c749
--- /dev/null
+++ b/src/kvirc/kernel/kvi_ircconnectionstatedata.h
@@ -0,0 +1,77 @@
+#ifndef _KVI_IRCCONNECTIONSTATEDATA_H_
+#define _KVI_IRCCONNECTIONSTATEDATA_H_
+//=============================================================================
+//
+// File : kvi_ircconnectionstatedata.h
+// Created on Sat 26 Jun 2004 09:31:52 by Szymon Stefanek
+//
+// This file is part of the KVIrc IRC client distribution
+// Copyright (C) 2004 Szymon Stefanek <pragma at kvirc dot net>
+//
+// This program is FREE software. You can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation; either version 2
+// of the License, or (at your opinion) any later version.
+//
+// This program is distributed in the HOPE that it will be USEFUL,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+// See the GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, write to the Free Software Foundation,
+// Inc. ,51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+//=============================================================================
+
+#include "kvi_settings.h"
+#include "kvi_time.h"
+#include "kvi_qstring.h"
+
+//
+// This class is used as container for miscelaneous connection state variables
+// that do not have a class for their own.
+// If you need to add some "minor" variable to the connection state then
+// this is the right place for it.
+//
+
+class KVIRC_API KviIrcConnectionStateData
+{
+ friend class KviIrcConnection;
+ friend class KviServerParser;
+ friend class KviUserParser;
+public:
+ KviIrcConnectionStateData();
+ ~KviIrcConnectionStateData();
+protected:
+ bool m_bSentQuit; // have we sent the quit message for this connection ?
+ unsigned int m_uLoginNickIndex; // the index of the identity nicknames used until now (see KviIrcConnection::loginToIrcServer())
+ QString m_szCommandToExecAfterConnect; // yes.. this is a special command to execute after connection
+ bool m_bSimulateUnexpectedDisconnect; // this is set to true if we have to simulate an unexpected disconnect even if we have sent a normal quit message
+ kvi_time_t m_tLastReceivedChannelWhoReply; // the time that we have received our last channel who reply
+ kvi_time_t m_tLastSentChannelWhoRequest; // the time that we have sent our last channel who request
+ kvi_time_t m_tLastReceivedWhoisReply; // the time that we have received the last whois reply, reset to 0 when we receive an /END OF WHOIS
+public:
+ bool sentQuit(){ return m_bSentQuit; };
+ void setSentQuit(){ m_bSentQuit = true; };
+
+ kvi_time_t lastReceivedChannelWhoReply(){ return m_tLastReceivedChannelWhoReply; };
+ void setLastReceivedChannelWhoReply(kvi_time_t tTime){ m_tLastReceivedChannelWhoReply = tTime; };
+
+ kvi_time_t lastSentChannelWhoRequest(){ return m_tLastSentChannelWhoRequest; };
+ void setLastSentChannelWhoRequest(kvi_time_t tTime){ m_tLastSentChannelWhoRequest = tTime; };
+
+ kvi_time_t lastReceivedWhoisReply(){ return m_tLastReceivedWhoisReply; };
+ void setLastReceivedWhoisReply(kvi_time_t tTime){ m_tLastReceivedWhoisReply = tTime; };
+
+ bool simulateUnexpectedDisconnect(){ return m_bSimulateUnexpectedDisconnect; };
+ void setSimulateUnexpectedDisconnect(){ m_bSimulateUnexpectedDisconnect = true; };
+
+ unsigned int loginNickIndex(){ return m_uLoginNickIndex; };
+ void setLoginNickIndex(unsigned int uNickIdx){ m_uLoginNickIndex = uNickIdx; };
+
+ const QString & commandToExecAfterConnect(){ return m_szCommandToExecAfterConnect; };
+ void setCommandToExecAfterConnect(const QString &szCmd){ m_szCommandToExecAfterConnect = szCmd; };
+};
+
+#endif //!_KVI_IRCCONNECTIONSTATEDATA_H_