aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGravatar Elvio Basello2011-01-04 20:59:09 +0000
committerGravatar Elvio Basello2011-01-04 20:59:09 +0000
commit465a316f47ba17bb7b0bd8b7d0f839388d31dea1 (patch)
tree75f0ecafa8c0cb97594ed61210cfbafb442ab72f /src
parentAdd the code for a new KviDnsResolver that doesn't rely on the OS native APIs... (diff)
downloadKVIrc-465a316f47ba17bb7b0bd8b7d0f839388d31dea1.tar.gz
KVIrc-465a316f47ba17bb7b0bd8b7d0f839388d31dea1.tar.bz2
KVIrc-465a316f47ba17bb7b0bd8b7d0f839388d31dea1.zip
yet more splitting; killed some defines
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@5295 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src')
-rw-r--r--src/kvilib/CMakeLists.txt1
-rw-r--r--src/kvilib/irc/KviIrcServer.cpp176
-rw-r--r--src/kvilib/irc/KviIrcServer.h173
-rw-r--r--src/kvilib/irc/KviIrcServerReconnectInfo.cpp44
-rw-r--r--src/kvilib/irc/KviIrcServerReconnectInfo.h74
-rw-r--r--src/kvirc/kernel/KviAsynchronousConnectionData.cpp3
-rw-r--r--src/kvirc/kernel/KviIrcConnection.cpp1
-rw-r--r--src/kvirc/kernel/KviIrcContext.cpp8
-rw-r--r--src/kvirc/kvs/KviKvsCoreSimpleCommands_sz.cpp6
9 files changed, 288 insertions, 198 deletions
diff --git a/src/kvilib/CMakeLists.txt b/src/kvilib/CMakeLists.txt
index 5b8f57baf..f8d9f6afc 100644
--- a/src/kvilib/CMakeLists.txt
+++ b/src/kvilib/CMakeLists.txt
@@ -100,6 +100,7 @@ SET(kvilib_SRCS
irc/KviIrcMask.cpp
irc/KviIrcServer.cpp
irc/KviIrcServerDataBase.cpp
+ irc/KviIrcServerReconnectInfo.cpp
irc/KviIrcUserDataBase.cpp
irc/KviMircCntrl.cpp
irc/KviIrcNetwork.cpp
diff --git a/src/kvilib/irc/KviIrcServer.cpp b/src/kvilib/irc/KviIrcServer.cpp
index 9e7260a2b..a8cda864e 100644
--- a/src/kvilib/irc/KviIrcServer.cpp
+++ b/src/kvilib/irc/KviIrcServer.cpp
@@ -24,12 +24,13 @@
#include "KviIrcServer.h"
+#include "KviIrcServerReconnectInfo.h"
#include "KviMemory.h"
-
#include "KviConfigurationFile.h"
#include "KviNickServRuleSet.h"
#include "KviTimeUtils.h"
#include "KviProxyDataBase.h"
+
#include <stdlib.h>
// This is not allowed on windows unless we force the symbol to be undefined
@@ -56,11 +57,13 @@ KviIrcServer::KviIrcServer()
KviProxy * KviIrcServer::proxyServer(KviProxyDataBase * pDb)
{
int i = 0;
- if(proxy() < 0) return 0;
+ if(proxy() < 0)
+ return 0;
KviPointerList<KviProxy> * proxylist = pDb->proxyList();
- for(KviProxy * p = proxylist->first(); p; p = proxylist->next())
+ for(KviProxy * pProxy = proxylist->first(); pProxy; pProxy = proxylist->next())
{
- if(i == proxy()) return p;
+ if(i == proxy())
+ return pProxy;
i++;
}
return 0;
@@ -92,11 +95,13 @@ KviIrcServer::KviIrcServer(const KviIrcServer & serv)
if(serv.m_pAutoJoinChannelList)
m_pAutoJoinChannelList = new QStringList(*(serv.m_pAutoJoinChannelList));
- else m_pAutoJoinChannelList = 0;
+ else
+ m_pAutoJoinChannelList = 0;
if(serv.m_pReconnectInfo)
m_pReconnectInfo = new KviIrcServerReconnectInfo(*(serv.m_pReconnectInfo));
- else m_pReconnectInfo = 0;
+ else
+ m_pReconnectInfo = 0;
}
void KviIrcServer::operator=(const KviIrcServer & serv)
@@ -123,15 +128,19 @@ void KviIrcServer::operator=(const KviIrcServer & serv)
m_szSaslNick = serv.m_szSaslNick;
m_szSaslPass = serv.m_szSaslPass;
- if(m_pAutoJoinChannelList) delete m_pAutoJoinChannelList;
+ if(m_pAutoJoinChannelList)
+ delete m_pAutoJoinChannelList;
if(serv.m_pAutoJoinChannelList)
m_pAutoJoinChannelList = new QStringList(*(serv.m_pAutoJoinChannelList));
- else m_pAutoJoinChannelList = 0;
+ else
+ m_pAutoJoinChannelList = 0;
- if(m_pReconnectInfo) delete m_pReconnectInfo;
+ if(m_pReconnectInfo)
+ delete m_pReconnectInfo;
if(serv.m_pReconnectInfo)
m_pReconnectInfo = new KviIrcServerReconnectInfo(*(serv.m_pReconnectInfo));
- else m_pReconnectInfo = 0;
+ else
+ m_pReconnectInfo = 0;
}
KviIrcServer::~KviIrcServer()
@@ -158,8 +167,10 @@ void KviIrcServer::generateUniqueId()
QString KviIrcServer::ircUri()
{
QString szUri("irc");
- if(useSSL()) szUri += "s";
- if(isIPv6()) szUri += "6";
+ if(useSSL())
+ szUri += "s";
+ if(isIPv6())
+ szUri += "6";
szUri += "://";
szUri += m_szHostname;
@@ -191,222 +202,205 @@ void KviIrcServer::setAutoJoinChannelList(const QString & szNewChannelList)
m_pAutoJoinChannelList = new QStringList(lChans);
}
-bool KviIrcServer::load(KviConfigurationFile * cfg, const QString & szPrefix)
+bool KviIrcServer::load(KviConfigurationFile * pCfg, const QString & szPrefix)
{
QString szTmp;
KviQString::sprintf(szTmp,"%QHostname",&szPrefix);
- m_szHostname = cfg->readEntry(szTmp);
+ m_szHostname = pCfg->readEntry(szTmp);
KviQString::sprintf(szTmp,"%QIp",&szPrefix);
- m_szIp = cfg->readEntry(szTmp);
- if(m_szHostname.isEmpty() && m_szIp.isEmpty()) return false;
+ m_szIp = pCfg->readEntry(szTmp);
+ if(m_szHostname.isEmpty() && m_szIp.isEmpty())
+ return false;
KviQString::sprintf(szTmp,"%QDescription",&szPrefix);
- m_szDescription = cfg->readEntry(szTmp);
+ m_szDescription = pCfg->readEntry(szTmp);
KviQString::sprintf(szTmp,"%QUser",&szPrefix);
- m_szUser = cfg->readEntry(szTmp);
+ m_szUser = pCfg->readEntry(szTmp);
KviQString::sprintf(szTmp,"%QPass",&szPrefix);
- m_szPass = cfg->readEntry(szTmp);
+ m_szPass = pCfg->readEntry(szTmp);
KviQString::sprintf(szTmp,"%QNick",&szPrefix);
- m_szNick = cfg->readEntry(szTmp);
+ m_szNick = pCfg->readEntry(szTmp);
KviQString::sprintf(szTmp,"%QSaslPass",&szPrefix);
- m_szSaslPass = cfg->readEntry(szTmp);
+ m_szSaslPass = pCfg->readEntry(szTmp);
KviQString::sprintf(szTmp,"%QSaslNick",&szPrefix);
- m_szSaslNick = cfg->readEntry(szTmp);
+ m_szSaslNick = pCfg->readEntry(szTmp);
KviQString::sprintf(szTmp,"%QRealName",&szPrefix);
- m_szRealName = cfg->readEntry(szTmp);
+ m_szRealName = pCfg->readEntry(szTmp);
KviQString::sprintf(szTmp,"%QInitUmode",&szPrefix);
- m_szInitUMode = cfg->readEntry(szTmp);
+ m_szInitUMode = pCfg->readEntry(szTmp);
KviQString::sprintf(szTmp,"%QAutoJoinChannels",&szPrefix);
- QStringList l = cfg->readStringListEntry(szTmp,QStringList());
- if(l.count() > 0) setAutoJoinChannelList(new QStringList(l));
+ QStringList l = pCfg->readStringListEntry(szTmp,QStringList());
+ if(l.count() > 0)
+ setAutoJoinChannelList(new QStringList(l));
KviQString::sprintf(szTmp,"%QAutoConnect",&szPrefix);
- m_bAutoConnect = cfg->readBoolEntry(szTmp,false);
+ m_bAutoConnect = pCfg->readBoolEntry(szTmp,false);
KviQString::sprintf(szTmp,"%QEncoding",&szPrefix);
- m_szEncoding = cfg->readEntry(szTmp);
+ m_szEncoding = pCfg->readEntry(szTmp);
KviQString::sprintf(szTmp,"%QTextEncoding",&szPrefix);
- m_szTextEncoding = cfg->readEntry(szTmp);
+ m_szTextEncoding = pCfg->readEntry(szTmp);
KviQString::sprintf(szTmp,"%QOnConnectCommand",&szPrefix);
- m_szOnConnectCommand = cfg->readEntry(szTmp);
+ m_szOnConnectCommand = pCfg->readEntry(szTmp);
KviQString::sprintf(szTmp,"%QOnLoginCommand",&szPrefix);
- m_szOnLoginCommand = cfg->readEntry(szTmp);
+ m_szOnLoginCommand = pCfg->readEntry(szTmp);
KviQString::sprintf(szTmp,"%QLinkFilter",&szPrefix);
- m_szLinkFilter = cfg->readEntry(szTmp);
+ m_szLinkFilter = pCfg->readEntry(szTmp);
KviQString::sprintf(szTmp,"%QPort",&szPrefix);
- m_uPort = cfg->readUIntEntry(szTmp,6667);
+ m_uPort = pCfg->readUIntEntry(szTmp,6667);
KviQString::sprintf(szTmp,"%QId",&szPrefix);
- m_szId = cfg->readEntry(szTmp);
- if(m_szId.isEmpty()) generateUniqueId();
+ m_szId = pCfg->readEntry(szTmp);
+ if(m_szId.isEmpty())
+ generateUniqueId();
KviQString::sprintf(szTmp,"%QIPv6",&szPrefix);
- setIPv6(cfg->readBoolEntry(szTmp,false));
+ setIPv6(pCfg->readBoolEntry(szTmp,false));
KviQString::sprintf(szTmp,"%QCacheIp",&szPrefix);
- setCacheIp(cfg->readBoolEntry(szTmp,false)); // true ?
+ setCacheIp(pCfg->readBoolEntry(szTmp,false)); // true ?
KviQString::sprintf(szTmp,"%QSSL",&szPrefix);
- setUseSSL(cfg->readBoolEntry(szTmp,false));
+ setUseSSL(pCfg->readBoolEntry(szTmp,false));
KviQString::sprintf(szTmp,"%QEnabledCAP",&szPrefix);
- setEnabledCAP(cfg->readBoolEntry(szTmp,true));
+ setEnabledCAP(pCfg->readBoolEntry(szTmp,true));
KviQString::sprintf(szTmp,"%QEnabledSTARTTLS",&szPrefix);
- setEnabledSTARTTLS(cfg->readBoolEntry(szTmp,true));
+ setEnabledSTARTTLS(pCfg->readBoolEntry(szTmp,true));
KviQString::sprintf(szTmp,"%QEnabledSASL",&szPrefix);
- setEnabledSASL(cfg->readBoolEntry(szTmp,false));
+ setEnabledSASL(pCfg->readBoolEntry(szTmp,false));
KviQString::sprintf(szTmp,"%QProxy",&szPrefix);
- setProxy(cfg->readIntEntry(szTmp,-2));
+ setProxy(pCfg->readIntEntry(szTmp,-2));
KviQString::sprintf(szTmp,"%QUserIdentityId",&szPrefix);
- m_szUserIdentityId = cfg->readEntry(szTmp);
+ m_szUserIdentityId = pCfg->readEntry(szTmp);
return true;
}
-void KviIrcServer::save(KviConfigurationFile * cfg, const QString & szPrefix)
+void KviIrcServer::save(KviConfigurationFile * pCfg, const QString & szPrefix)
{
QString szTmp;
KviQString::sprintf(szTmp,"%QHostname",&szPrefix);
- cfg->writeEntry(szTmp,m_szHostname);
+ pCfg->writeEntry(szTmp,m_szHostname);
KviQString::sprintf(szTmp,"%QId",&szPrefix);
- cfg->writeEntry(szTmp,m_szId);
+ pCfg->writeEntry(szTmp,m_szId);
if(!m_szIp.isEmpty())
{
KviQString::sprintf(szTmp,"%QIp",&szPrefix);
- cfg->writeEntry(szTmp,m_szIp);
+ pCfg->writeEntry(szTmp,m_szIp);
}
if(!m_szDescription.isEmpty())
{
KviQString::sprintf(szTmp,"%QDescription",&szPrefix);
- cfg->writeEntry(szTmp,m_szDescription);
+ pCfg->writeEntry(szTmp,m_szDescription);
}
if(!m_szUser.isEmpty())
{
KviQString::sprintf(szTmp,"%QUser",&szPrefix);
- cfg->writeEntry(szTmp,m_szUser);
+ pCfg->writeEntry(szTmp,m_szUser);
}
if(!m_szPass.isEmpty())
{
KviQString::sprintf(szTmp,"%QPass",&szPrefix);
- cfg->writeEntry(szTmp,m_szPass);
+ pCfg->writeEntry(szTmp,m_szPass);
}
if(!m_szNick.isEmpty())
{
KviQString::sprintf(szTmp,"%QNick",&szPrefix);
- cfg->writeEntry(szTmp,m_szNick);
+ pCfg->writeEntry(szTmp,m_szNick);
}
if(!m_szSaslPass.isEmpty())
{
KviQString::sprintf(szTmp,"%QSaslPass",&szPrefix);
- cfg->writeEntry(szTmp,m_szSaslPass);
+ pCfg->writeEntry(szTmp,m_szSaslPass);
}
if(!m_szSaslNick.isEmpty())
{
KviQString::sprintf(szTmp,"%QSaslNick",&szPrefix);
- cfg->writeEntry(szTmp,m_szSaslNick);
+ pCfg->writeEntry(szTmp,m_szSaslNick);
}
if(!m_szRealName.isEmpty())
{
KviQString::sprintf(szTmp,"%QRealName",&szPrefix);
- cfg->writeEntry(szTmp,m_szRealName);
+ pCfg->writeEntry(szTmp,m_szRealName);
}
if(!m_szInitUMode.isEmpty())
{
KviQString::sprintf(szTmp,"%QInitUMode",&szPrefix);
- cfg->writeEntry(szTmp,m_szInitUMode);
+ pCfg->writeEntry(szTmp,m_szInitUMode);
}
if(autoJoinChannelList())
{
KviQString::sprintf(szTmp,"%QAutoJoinChannels",&szPrefix);
- cfg->writeEntry(szTmp,*(autoJoinChannelList()));
+ pCfg->writeEntry(szTmp,*(autoJoinChannelList()));
}
if(autoConnect()) // otherwise it defaults to false anyway
{
KviQString::sprintf(szTmp,"%QAutoConnect",&szPrefix);
- cfg->writeEntry(szTmp,autoConnect());
+ pCfg->writeEntry(szTmp,autoConnect());
}
if(!m_szEncoding.isEmpty())
{
KviQString::sprintf(szTmp,"%QEncoding",&szPrefix);
- cfg->writeEntry(szTmp,m_szEncoding);
+ pCfg->writeEntry(szTmp,m_szEncoding);
}
if(!m_szTextEncoding.isEmpty())
{
KviQString::sprintf(szTmp,"%QTextEncoding",&szPrefix);
- cfg->writeEntry(szTmp,m_szTextEncoding);
+ pCfg->writeEntry(szTmp,m_szTextEncoding);
}
if(!m_szOnConnectCommand.isEmpty())
{
KviQString::sprintf(szTmp,"%QOnConnectCommand",&szPrefix);
- cfg->writeEntry(szTmp,m_szOnConnectCommand);
+ pCfg->writeEntry(szTmp,m_szOnConnectCommand);
}
if(!m_szOnLoginCommand.isEmpty())
{
KviQString::sprintf(szTmp,"%QOnLoginCommand",&szPrefix);
- cfg->writeEntry(szTmp,m_szOnLoginCommand);
+ pCfg->writeEntry(szTmp,m_szOnLoginCommand);
}
if(!m_szLinkFilter.isEmpty())
{
KviQString::sprintf(szTmp,"%QLinkFilter",&szPrefix);
- cfg->writeEntry(szTmp,m_szLinkFilter);
+ pCfg->writeEntry(szTmp,m_szLinkFilter);
}
if(m_uPort != 6667)
{
KviQString::sprintf(szTmp,"%QPort",&szPrefix);
- cfg->writeEntry(szTmp,m_uPort);
+ pCfg->writeEntry(szTmp,m_uPort);
}
if(isIPv6())
{
KviQString::sprintf(szTmp,"%QIPv6",&szPrefix);
- cfg->writeEntry(szTmp,isIPv6());
+ pCfg->writeEntry(szTmp,isIPv6());
}
if(cacheIp())
{
KviQString::sprintf(szTmp,"%QCacheIp",&szPrefix);
- cfg->writeEntry(szTmp,cacheIp());
+ pCfg->writeEntry(szTmp,cacheIp());
}
if(useSSL())
{
KviQString::sprintf(szTmp,"%QSSL",&szPrefix);
- cfg->writeEntry(szTmp,useSSL());
+ pCfg->writeEntry(szTmp,useSSL());
}
if(!enabledCAP())
{
KviQString::sprintf(szTmp,"%QEnabledCAP",&szPrefix);
- cfg->writeEntry(szTmp,enabledCAP());
+ pCfg->writeEntry(szTmp,enabledCAP());
}
if(!enabledSTARTTLS())
{
KviQString::sprintf(szTmp,"%QEnabledSTARTTLS",&szPrefix);
- cfg->writeEntry(szTmp,enabledSTARTTLS());
+ pCfg->writeEntry(szTmp,enabledSTARTTLS());
}
if(enabledSASL())
{
KviQString::sprintf(szTmp,"%QEnabledSASL",&szPrefix);
- cfg->writeEntry(szTmp,enabledSASL());
+ pCfg->writeEntry(szTmp,enabledSASL());
}
if(proxy()!=-2)
{
KviQString::sprintf(szTmp,"%QProxy",&szPrefix);
- cfg->writeEntry(szTmp,proxy());
+ pCfg->writeEntry(szTmp,proxy());
}
if(!m_szUserIdentityId.isEmpty())
{
KviQString::sprintf(szTmp,"%QUserIdentityId",&szPrefix);
- cfg->writeEntry(szTmp,m_szUserIdentityId);
+ pCfg->writeEntry(szTmp,m_szUserIdentityId);
}
}
-
-
-KviIrcServerReconnectInfo::KviIrcServerReconnectInfo()
-{
- m_bIsAway = false;
-}
-
-KviIrcServerReconnectInfo::~KviIrcServerReconnectInfo()
-{
-}
-
-KviIrcServerReconnectInfo::KviIrcServerReconnectInfo(const KviIrcServerReconnectInfo & info)
-{
- m_szNick = info.m_szNick;
- m_szPass = info.m_szPass;
- m_szAwayReason = info.m_szAwayReason;
- m_szJoinChannels = info.m_szJoinChannels;
- m_szOpenQueryes = info.m_szOpenQueryes;
- m_bIsAway = info.m_bIsAway;
-}
diff --git a/src/kvilib/irc/KviIrcServer.h b/src/kvilib/irc/KviIrcServer.h
index 8e4d5824f..71268b415 100644
--- a/src/kvilib/irc/KviIrcServer.h
+++ b/src/kvilib/irc/KviIrcServer.h
@@ -29,11 +29,6 @@
* \file KviIrcServer.h
* \author Szymon Stefanek
* \brief Irc server handling
-* \def KVI_IRCSERVER_FLAG_IPV6 Defines if the server uses IPv6
-* \def KVI_IRCSERVER_FLAG_CACHEIP Defines if the server caches the IP
-* \def KVI_IRCSERVER_FLAG_SSL Defines if the server uses SSL
-* \def KVI_IRCSERVER_FLAG_STARTTLS Defines if the server can use STARTTLS
-* \def KVI_IRCSERVER_FLAG_SASL Defines if the server can use SASL
*/
#include "kvi_settings.h"
@@ -47,47 +42,7 @@ class KviConfigurationFile;
class KviNickServRuleSet;
class KviProxy;
class KviProxyDataBase;
-class KviIrcServer;
-
-#define KVI_IRCSERVER_FLAG_IPV6 1
-#define KVI_IRCSERVER_FLAG_CACHEIP 2
-#define KVI_IRCSERVER_FLAG_SSL 4
-#define KVI_IRCSERVER_FLAG_STARTTLS 8
-#define KVI_IRCSERVER_FLAG_SASL 16
-#define KVI_IRCSERVER_FLAG_CAP 32
-
-/**
-* \class KviIrcServerReconnectInfo
-* \brief A class for reconnecting purposes
-*/
-class KVILIB_API KviIrcServerReconnectInfo
-{
-public:
- /**
- * \brief Constructs the server reconnect info object
- * \return KviIrcServerReconnectInfo
- */
- KviIrcServerReconnectInfo();
-
- /**
- * \brief Carbon copy
- * \param info The object to copy the info from
- * \return KviIrcServerReconnectInfo
- */
- KviIrcServerReconnectInfo(const KviIrcServerReconnectInfo & info);
-
- /**
- * \brief Destroys the server reconnect info object
- */
- ~KviIrcServerReconnectInfo();
-public:
- QString m_szNick;
- QString m_szPass;
- QString m_szAwayReason;
- QString m_szJoinChannels;
- QStringList m_szOpenQueryes;
- bool m_bIsAway;
-};
+class KviIrcServerReconnectInfo;
/**
* \class KviIrcServer
@@ -97,6 +52,19 @@ class KVILIB_API KviIrcServer : public KviHeapObject
{
public:
/**
+ * \enum Flags
+ * \brief Contains the features supported by the server
+ */
+ enum Flags {
+ IPv6 = 1, /**< IPv6 support */
+ CacheIP = 2, /**< whether we cache the server's IP */
+ SSL = 4, /**< SSL support */
+ STARTTLS = 8, /**< STARTTLS support */
+ SASL = 16, /**< SASL support */
+ CAP = 32 /**< CAP support */
+ };
+
+ /**
* \brief Constructs the server object
* \return KviIrcServer
*/
@@ -115,33 +83,30 @@ public:
~KviIrcServer();
public:
KviIrcServerReconnectInfo * m_pReconnectInfo;
- QString m_szHostname; // the server hostname (or ip eventually)
- QString m_szIp; // the server's cached ip (if we're caching)
- QString m_szDescription; // the server description
- kvi_u32_t m_uPort; // the server's port
- unsigned short int m_uFlags; // flags
+ QString m_szHostname; /**< the server hostname (or IP eventually) */
+ QString m_szIp; /**< the server's cached ip (if we're caching) */
+ QString m_szDescription; /**< the server description */
+ kvi_u32_t m_uPort; /**< the server's port */
+ unsigned short int m_uFlags; /**< flags */
// Extended data
- QString m_szUserIdentityId; // The user identity to use for this server: if empty
- // Then use the network identity instead
-
- QString m_szUser; // special username
- QString m_szPass; // special password
- QString m_szNick; // special nickname
- QString m_szRealName; // special real name
- QString m_szInitUMode; // special user mode
- QString m_szOnConnectCommand; // the command to run on connect
- QString m_szOnLoginCommand; // the command to run after login
- QString m_szLinkFilter; // the link filter object
- QString m_szEncoding; // if empty, use network encoding
- QString m_szTextEncoding; // if empty, use network encoding
- QStringList * m_pAutoJoinChannelList; // Channels to auto join
- bool m_bAutoConnect; // autoconnect
- QString m_szId; // the server's may-be-unique id, may be auto-generated
- int m_iProxy; // proxy server's id
- QString m_szSaslNick; // nickname for sasl auth
- QString m_szSaslPass; // password for sasl auth
-
+ QString m_szUserIdentityId; /**< the user identity to use for this server: if empty, then use the network identity instead */
+ QString m_szUser; /**< special username */
+ QString m_szPass; /**< special password */
+ QString m_szNick; /**< special nickname */
+ QString m_szRealName; /**< special real name */
+ QString m_szInitUMode; /**< special user mode */
+ QString m_szOnConnectCommand; /**< the command to run on connect */
+ QString m_szOnLoginCommand; /**< the command to run after login */
+ QString m_szLinkFilter; /**< the link filter object */
+ QString m_szEncoding; /**< if empty, use network encoding */
+ QString m_szTextEncoding; /**< if empty, use network encoding */
+ QStringList * m_pAutoJoinChannelList; /**< Channels to auto join */
+ bool m_bAutoConnect; /**< autoconnect */
+ QString m_szId; /**< the server's may-be-unique id, may be auto-generated */
+ int m_iProxy; /**< proxy server's id */
+ QString m_szSaslNick; /**< nickname for sasl auth */
+ QString m_szSaslPass; /**< password for sasl auth */
public:
/**
* \brief Returns the proxy server's id
@@ -229,7 +194,7 @@ public:
inline const QString & realName() const { return m_szRealName; };
/**
- * \brief
+ * \brief Returns the filter applied on the server
* \return const QString &
*/
inline const QString & linkFilter() const { return m_szLinkFilter; };
@@ -289,37 +254,37 @@ public:
* \brief Returns true if the server uses IPv6
* \return bool
*/
- inline bool isIPv6() const { return (m_uFlags & KVI_IRCSERVER_FLAG_IPV6); };
+ inline bool isIPv6() const { return (m_uFlags & KviIrcServer::IPv6); };
/**
* \brief Returns true if the server uses SSL
* \return bool
*/
- inline bool useSSL() const { return (m_uFlags & KVI_IRCSERVER_FLAG_SSL); };
+ inline bool useSSL() const { return (m_uFlags & KviIrcServer::SSL); };
/**
* \brief Returns true if the CAP protocol is enabled for this server
* \return bool
*/
- inline bool enabledCAP() const { return (m_uFlags & KVI_IRCSERVER_FLAG_CAP); };
+ inline bool enabledCAP() const { return (m_uFlags & KviIrcServer::CAP); };
/**
* \brief Returns true if the STARTTLS protocol is enabled for this server
* \return bool
*/
- inline bool enabledSTARTTLS() const { return (m_uFlags & KVI_IRCSERVER_FLAG_STARTTLS); };
+ inline bool enabledSTARTTLS() const { return (m_uFlags & KviIrcServer::STARTTLS); };
/**
* \brief Returns true if the SASL protocol is enabled for this server
* \return bool
*/
- inline bool enabledSASL() const { return (m_uFlags & KVI_IRCSERVER_FLAG_SASL); };
+ inline bool enabledSASL() const { return (m_uFlags & KviIrcServer::SASL); };
/**
* \brief Returns true if the server caches the IP
* \return bool
*/
- inline bool cacheIp() const { return (m_uFlags & KVI_IRCSERVER_FLAG_CACHEIP); };
+ inline bool cacheIp() const { return (m_uFlags & KviIrcServer::CacheIP); };
/**
* \brief Returns the irc URI for the server
@@ -445,7 +410,7 @@ public:
inline void setOnLoginCommand(const QString & szCmd){ m_szOnLoginCommand = szCmd; };
/**
- * \brief
+ * \brief Sets the filter
* \param szFilter
* \return void
*/
@@ -471,7 +436,7 @@ public:
* \param bAutoConnect Whether to set the autoconnection
* \return void
*/
- inline void setAutoConnect(bool bAutoConnect) { m_bAutoConnect = bAutoConnect; };
+ inline void setAutoConnect(bool bAutoConnect){ m_bAutoConnect = bAutoConnect; };
/**
* \brief Sets the id of the user associated to the server
@@ -487,8 +452,10 @@ public:
*/
inline void setIPv6(bool bSet)
{
- if(bSet)m_uFlags |= KVI_IRCSERVER_FLAG_IPV6;
- else m_uFlags &= ((unsigned short)~KVI_IRCSERVER_FLAG_IPV6);
+ if(bSet)
+ m_uFlags |= KviIrcServer::IPv6;
+ else
+ m_uFlags &= ((unsigned short)~KviIrcServer::IPv6);
};
/**
@@ -498,8 +465,10 @@ public:
*/
inline void setUseSSL(bool bSet)
{
- if(bSet)m_uFlags |= KVI_IRCSERVER_FLAG_SSL;
- else m_uFlags &= ((unsigned short)~KVI_IRCSERVER_FLAG_SSL);
+ if(bSet)
+ m_uFlags |= KviIrcServer::SSL;
+ else
+ m_uFlags &= ((unsigned short)~KviIrcServer::SSL);
};
/**
@@ -509,8 +478,10 @@ public:
*/
inline void setEnabledSTARTTLS(bool bSet)
{
- if(bSet)m_uFlags |= KVI_IRCSERVER_FLAG_STARTTLS;
- else m_uFlags &= ((unsigned short)~KVI_IRCSERVER_FLAG_STARTTLS);
+ if(bSet)
+ m_uFlags |= KviIrcServer::STARTTLS;
+ else
+ m_uFlags &= ((unsigned short)~KviIrcServer::STARTTLS);
};
/**
@@ -520,8 +491,10 @@ public:
*/
inline void setEnabledCAP(bool bSet)
{
- if(bSet)m_uFlags |= KVI_IRCSERVER_FLAG_CAP;
- else m_uFlags &= ((unsigned short)~KVI_IRCSERVER_FLAG_CAP);
+ if(bSet)
+ m_uFlags |= KviIrcServer::CAP;
+ else
+ m_uFlags &= ((unsigned short)~KviIrcServer::CAP);
};
/**
@@ -531,8 +504,10 @@ public:
*/
inline void setEnabledSASL(bool bSet)
{
- if(bSet)m_uFlags |= KVI_IRCSERVER_FLAG_SASL;
- else m_uFlags &= ((unsigned short)~KVI_IRCSERVER_FLAG_SASL);
+ if(bSet)
+ m_uFlags |= KviIrcServer::SASL;
+ else
+ m_uFlags &= ((unsigned short)~KviIrcServer::SASL);
};
/**
@@ -542,8 +517,10 @@ public:
*/
inline void setCacheIp(bool bSet)
{
- if(bSet) m_uFlags |= KVI_IRCSERVER_FLAG_CACHEIP;
- else m_uFlags &= ((unsigned short)~KVI_IRCSERVER_FLAG_CACHEIP);
+ if(bSet)
+ m_uFlags |= KviIrcServer::CacheIP;
+ else
+ m_uFlags &= ((unsigned short)~KviIrcServer::CacheIP);
};
/**
@@ -561,26 +538,26 @@ public:
/**
* \brief Loads the information from the configuration file
- * \param cfg The configuration file
+ * \param pCfg The configuration file
* \param szPrefix The prefix of the server
* \return bool
*/
- bool load(KviConfigurationFile * cfg, const QString & szPrefix);
+ bool load(KviConfigurationFile * pCfg, const QString & szPrefix);
/**
* \brief Saves the information to the configuration file
- * \param cfg The configuration file
+ * \param pCfg The configuration file
* \param szPrefix The prefix of the server
* \return void
*/
- void save(KviConfigurationFile * cfg, const QString & szPrefix);
+ void save(KviConfigurationFile * pCfg, const QString & szPrefix);
/**
* \brief Carbon copy
- * \param s The server to copy
+ * \param serv The server to copy
* \return void
*/
- void operator=(const KviIrcServer & s);
+ void operator=(const KviIrcServer & serv);
};
#endif //_KVI_IRCSERVER_H_
diff --git a/src/kvilib/irc/KviIrcServerReconnectInfo.cpp b/src/kvilib/irc/KviIrcServerReconnectInfo.cpp
new file mode 100644
index 000000000..4f2e11bdb
--- /dev/null
+++ b/src/kvilib/irc/KviIrcServerReconnectInfo.cpp
@@ -0,0 +1,44 @@
+//=============================================================================
+//
+// File : KviIrcServerReconnectInfo.h
+// Creation date : Tue Jan 04 2010 21:44:11 by Elvio Basello
+//
+// This file is part of the KVIrc irc client distribution
+// Copyright (C) 2010 Elvio Basello (hellvis69 at gmail dot com)
+//
+// 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 "KviIrcServerReconnectInfo.h"
+
+KviIrcServerReconnectInfo::KviIrcServerReconnectInfo()
+{
+ m_bIsAway = false;
+}
+
+KviIrcServerReconnectInfo::~KviIrcServerReconnectInfo()
+{
+}
+
+KviIrcServerReconnectInfo::KviIrcServerReconnectInfo(const KviIrcServerReconnectInfo & info)
+{
+ m_szNick = info.m_szNick;
+ m_szPass = info.m_szPass;
+ m_szAwayReason = info.m_szAwayReason;
+ m_szJoinChannels = info.m_szJoinChannels;
+ m_szOpenQueryes = info.m_szOpenQueryes;
+ m_bIsAway = info.m_bIsAway;
+}
diff --git a/src/kvilib/irc/KviIrcServerReconnectInfo.h b/src/kvilib/irc/KviIrcServerReconnectInfo.h
new file mode 100644
index 000000000..fe12bdb87
--- /dev/null
+++ b/src/kvilib/irc/KviIrcServerReconnectInfo.h
@@ -0,0 +1,74 @@
+#ifndef _KVI_IRCSERVER_INFO_H_
+#define _KVI_IRCSERVER_INFO_H_
+
+//=============================================================================
+//
+// File : KviIrcServerReconnectInfo.h
+// Creation date : Tue Jan 04 2010 21:44:11 by Elvio Basello
+//
+// This file is part of the KVIrc irc client distribution
+// Copyright (C) 2010 Elvio Basello (hellvis69 at gmail dot com)
+//
+// 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.
+//
+//=============================================================================
+
+/**
+* \file KviIrcServerReconnectInfo.h
+* \author Szymon Stefanek
+* \brief Irc server handling
+*
+* This file was originally part of KviIrcServer.h
+*/
+
+#include "kvi_settings.h"
+
+#include <QString>
+#include <QStringList>
+
+/**
+* \class KviIrcServerReconnectInfo
+* \brief A class for reconnecting purposes
+*/
+class KVILIB_API KviIrcServerReconnectInfo
+{
+public:
+ /**
+ * \brief Constructs the server reconnect info object
+ * \return KviIrcServerReconnectInfo
+ */
+ KviIrcServerReconnectInfo();
+
+ /**
+ * \brief Carbon copy
+ * \param info The object to copy the info from
+ * \return KviIrcServerReconnectInfo
+ */
+ KviIrcServerReconnectInfo(const KviIrcServerReconnectInfo & info);
+
+ /**
+ * \brief Destroys the server reconnect info object
+ */
+ ~KviIrcServerReconnectInfo();
+public:
+ QString m_szNick;
+ QString m_szPass;
+ QString m_szAwayReason;
+ QString m_szJoinChannels;
+ QStringList m_szOpenQueryes;
+ bool m_bIsAway;
+};
+
+#endif //_KVI_IRCSERVER_INFO_H_ \ No newline at end of file
diff --git a/src/kvirc/kernel/KviAsynchronousConnectionData.cpp b/src/kvirc/kernel/KviAsynchronousConnectionData.cpp
index a02753adf..779852de6 100644
--- a/src/kvirc/kernel/KviAsynchronousConnectionData.cpp
+++ b/src/kvirc/kernel/KviAsynchronousConnectionData.cpp
@@ -22,9 +22,8 @@
//
//=============================================================================
-
-
#include "KviAsynchronousConnectionData.h"
+#include "KviIrcServerReconnectInfo.h"
KviAsynchronousConnectionData::KviAsynchronousConnectionData()
: KviHeapObject()
diff --git a/src/kvirc/kernel/KviIrcConnection.cpp b/src/kvirc/kernel/KviIrcConnection.cpp
index 028322b2b..7b76ae001 100644
--- a/src/kvirc/kernel/KviIrcConnection.cpp
+++ b/src/kvirc/kernel/KviIrcConnection.cpp
@@ -40,6 +40,7 @@
#include "KviIrcSocket.h"
#include "KviLocale.h"
#include "KviIrcServerDataBase.h"
+#include "KviIrcServerReconnectInfo.h"
#include "KviProxyDataBase.h"
#include "KviError.h"
#include "kvi_out.h"
diff --git a/src/kvirc/kernel/KviIrcContext.cpp b/src/kvirc/kernel/KviIrcContext.cpp
index b6f7464bd..9c2b2f11e 100644
--- a/src/kvirc/kernel/KviIrcContext.cpp
+++ b/src/kvirc/kernel/KviIrcContext.cpp
@@ -23,14 +23,13 @@
//=============================================================================
-
+#include "kvi_debug.h"
+#include "kvi_out.h"
#include "KviIrcContext.h"
#include "KviConsoleWindow.h"
#include "KviChannelWindow.h"
#include "KviQueryWindow.h"
#include "KviMainWindow.h"
-#include "kvi_debug.h"
-#include "KviIrcServerParser.h"
#include "KviIrcLink.h"
#include "KviIrcConnection.h"
#include "KviIrcConnectionTarget.h"
@@ -39,8 +38,9 @@
#include "KviIrcConnectionUserInfo.h"
#include "KviIrcConnectionRequestQueue.h"
#include "KviIrcToolBar.h"
-#include "kvi_out.h"
#include "KviIrcServerDataBase.h"
+#include "KviIrcServerReconnectInfo.h"
+#include "KviIrcServerParser.h"
#include "KviProxyDataBase.h"
#include "KviOptions.h"
#include "KviLocale.h"
diff --git a/src/kvirc/kvs/KviKvsCoreSimpleCommands_sz.cpp b/src/kvirc/kvs/KviKvsCoreSimpleCommands_sz.cpp
index 5251f4be9..a5cb33aa1 100644
--- a/src/kvirc/kvs/KviKvsCoreSimpleCommands_sz.cpp
+++ b/src/kvirc/kvs/KviKvsCoreSimpleCommands_sz.cpp
@@ -23,10 +23,9 @@
//=============================================================================
#include "KviKvsCoreSimpleCommands.h"
-
#include "KviKvsPopupManager.h"
#include "KviKvsScript.h"
-
+#include "KviIrcServerReconnectInfo.h"
#include "KviIrcConnection.h"
#include "KviConsoleWindow.h"
#include "KviLocale.h"
@@ -36,9 +35,10 @@
#include "KviNetUtils.h"
#include "KviMenuBar.h"
#include "KviUserInput.h"
-#include "kvi_out.h"
#include "KviChannelWindow.h"
#include "KviQueryWindow.h"
+#include "kvi_out.h"
+
#include <cstdlib>
namespace KviKvsCoreSimpleCommands