KVIrc 5.2.4
Developer APIs
KviIrcConnectionServerInfo.h
Go to the documentation of this file.
1#ifndef _KVI_IRCCONNECTIONSERVERINFO_H_
2#define _KVI_IRCCONNECTIONSERVERINFO_H_
3//=============================================================================
4//
5// File : KviIrcConnectionServerInfo.h
6// Creation date : Tue 22 Jun 2004 03:57:32 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 "KviQString.h"
29#include "kvi_inttypes.h"
30
31#include <QStringList>
32
34
36{
37 // ircnet
38protected:
41
42public:
43 KviBasicIrcServerInfo(KviIrcConnectionServerInfo * pParent = nullptr, QString version = KviQString::Empty);
45
46public:
47 virtual const QString & getChannelModeDescription(char mode) const;
48 virtual const QString & getUserModeDescription(QChar mode) const;
49 virtual QChar getUserModeRequirement(QChar mode) const;
50 virtual char getRegisterModeChar() const { return 0; }
51 virtual const char * getSoftware() const { return "Ircd"; }
52 virtual bool getNeedsOpToListModeseI() const { return false; }
53 virtual bool getNeedsOperToSetS() const { return false; }
54};
55
56//
57// Hybrid + forks
58//
59
61{
62 // This is a major IRCd that most modern forks are based off of
63public:
64 KviHybridServerInfo(KviIrcConnectionServerInfo * pParent = nullptr, const QString & version = KviQString::Empty)
65 : KviBasicIrcServerInfo(pParent, version) {}
66 const QString & getChannelModeDescription(char mode) const override;
67 const QString & getUserModeDescription(QChar mode) const override;
68 QChar getUserModeRequirement(QChar mode) const override;
69 char getRegisterModeChar() const override { return 'r'; }
70 const char * getSoftware() const override { return "Hybrid"; }
71};
72
74{
75 // efnet
76public:
77 KviIrcdRatboxIrcServerInfo(KviIrcConnectionServerInfo * pParent = nullptr, const QString & version = KviQString::Empty)
78 : KviHybridServerInfo(pParent, version) {}
79 const QString & getChannelModeDescription(char mode) const override;
80 const QString & getUserModeDescription(QChar mode) const override;
81 QChar getUserModeRequirement(QChar mode) const override;
82 const char * getSoftware() const override { return "Ircd-ratbox"; }
83 bool getNeedsOpToListModeseI() const override { return true; }
84};
85
87{
88public:
89 KviCharybdisServerInfo(KviIrcConnectionServerInfo * pParent = nullptr, const QString & version = KviQString::Empty)
90 : KviIrcdRatboxIrcServerInfo(pParent, version) {}
91 const QString & getChannelModeDescription(char mode) const override;
92 const QString & getUserModeDescription(QChar mode) const override;
93 QChar getUserModeRequirement(QChar mode) const override;
94 const char * getSoftware() const override { return "Charybdis"; }
95 bool getNeedsOperToSetS() const override { return true; }
96};
97
99{
100 // freenode
101public:
102 KviIrcdSevenIrcServerInfo(KviIrcConnectionServerInfo * pParent = nullptr, const QString & version = KviQString::Empty)
103 : KviCharybdisServerInfo(pParent, version) {}
104 const QString & getUserModeDescription(QChar mode) const override;
105 QChar getUserModeRequirement(QChar mode) const override;
106 const char * getSoftware() const override { return "Ircd-seven"; }
107};
108
110{
111 // libera
112public:
113 KviIrcdSolanumIrcServerInfo(KviIrcConnectionServerInfo * pParent = nullptr, const QString & version = KviQString::Empty)
114 : KviIrcdSevenIrcServerInfo(pParent, version) {}
115 const char * getSoftware() const override { return "Solanum"; }
116};
117
119{
120 // rizon; note: plexus is an extension to hybrid
121public:
122 KviPlexusIrcServerInfo(KviIrcConnectionServerInfo * pParent = nullptr, const QString & version = KviQString::Empty)
123 : KviHybridServerInfo(pParent, version) {}
124 const QString & getChannelModeDescription(char mode) const override;
125 const QString & getUserModeDescription(QChar mode) const override;
126 QChar getUserModeRequirement(QChar mode) const override;
127 const char * getSoftware() const override { return "Plexus"; }
128 bool getNeedsOpToListModeseI() const override { return true; }
129};
130
132{
133 // oftc; note: hybrid+oftc is an extension to hybrid
134public:
135 KviOftcIrcServerInfo(KviIrcConnectionServerInfo * pParent = nullptr, const QString & version = KviQString::Empty)
136 : KviHybridServerInfo(pParent, version) {}
137 const QString & getChannelModeDescription(char mode) const override;
138 const QString & getUserModeDescription(QChar mode) const override;
139 QChar getUserModeRequirement(QChar mode) const override;
140 char getRegisterModeChar() const override { return 'R'; }
141 const char * getSoftware() const override { return "Hybrid+Oftc"; }
142 bool getNeedsOpToListModeseI() const override { return true; }
143};
144
145//
146// P10
147//
148
150{
151 // undernet
152public:
153 KviIrcuIrcServerInfo(KviIrcConnectionServerInfo * pParent = nullptr, const QString & version = KviQString::Empty)
154 : KviBasicIrcServerInfo(pParent, version) {}
155 const QString & getChannelModeDescription(char mode) const override;
156 const QString & getUserModeDescription(QChar mode) const override;
157 QChar getUserModeRequirement(QChar mode) const override;
158 const char * getSoftware() const override { return "Ircu"; }
159 bool getNeedsOpToListModeseI() const override { return true; }
160 bool getNeedsOperToSetS() const override { return true; }
161};
162
164{
165 // quakenet; note: snird is an extension to ircu
166public:
167 KviSnircdIrcServerInfo(KviIrcConnectionServerInfo * pParent = nullptr, const QString & version = KviQString::Empty)
168 : KviIrcuIrcServerInfo(pParent, version) {}
169 const QString & getChannelModeDescription(char mode) const override;
170 const QString & getUserModeDescription(QChar mode) const override;
171 QChar getUserModeRequirement(QChar mode) const override;
172 const char * getSoftware() const override { return "Snircd"; }
173 bool getNeedsOperToSetS() const override { return true; }
174};
175
177{
178 // darenet; note: u2+ircd-darenet is an extension to ircu
179public:
180 KviDarenetIrcServerInfo(KviIrcConnectionServerInfo * pParent = nullptr, const QString & version = KviQString::Empty)
181 : KviIrcuIrcServerInfo(pParent, version) {}
182 const QString & getChannelModeDescription(char mode) const override;
183 const QString & getUserModeDescription(QChar mode) const override;
184 QChar getUserModeRequirement(QChar mode) const override;
185 char getRegisterModeChar() const override { return 'r'; }
186 const char * getSoftware() const override { return "Ircu+Darenet"; }
187};
188
189//
190// Unreal -> Unreal 3.2 -> Unreal 4.0
191//
192
194{
195public:
196 KviUnrealIrcServerInfo(KviIrcConnectionServerInfo * pParent = nullptr, const QString & version = KviQString::Empty)
197 : KviBasicIrcServerInfo(pParent, version) {}
198 const QString & getChannelModeDescription(char mode) const override;
199 char getRegisterModeChar() const override { return 'r'; }
200 const char * getSoftware() const override { return "Unreal"; }
201 bool getNeedsOperToSetS() const override { return true; }
202};
203
205{
206 // This is a continuation on to Unreal, so use its predecessor
207 // as a base class.
208public:
209 KviUnreal32IrcServerInfo(KviIrcConnectionServerInfo * pParent = nullptr, const QString & version = KviQString::Empty)
210 : KviUnrealIrcServerInfo(pParent, version) {}
211 const QString & getChannelModeDescription(char mode) const override;
212 const QString & getUserModeDescription(QChar mode) const override;
213 QChar getUserModeRequirement(QChar mode) const override;
214 const char * getSoftware() const override { return "Unreal32"; }
215};
216
218{
219public:
220 KviUnreal40IrcServerInfo(KviIrcConnectionServerInfo * pParent = nullptr, const QString & version = KviQString::Empty)
221 : KviUnreal32IrcServerInfo(pParent, version) {}
222 const QString & getChannelModeDescription(char mode) const override;
223 const QString & getUserModeDescription(QChar mode) const override;
224 const char * getSoftware() const override { return "Unreal40"; }
225};
226
228{
229 // abjects
230public:
231 KviCritenIrcServerInfo(KviIrcConnectionServerInfo * pParent = nullptr, const QString & version = KviQString::Empty)
232 : KviBasicIrcServerInfo(pParent, version) {}
233 const QString & getChannelModeDescription(char mode) const override;
234 const QString & getUserModeDescription(QChar mode) const override;
235 QChar getUserModeRequirement(QChar mode) const override;
236 char getRegisterModeChar() const override { return 'r'; }
237 const char * getSoftware() const override { return "Criten"; }
238 bool getNeedsOpToListModeseI() const override { return true; }
239};
240
242{
243 // criten
244public:
245 KviNemesisIrcServerInfo(KviIrcConnectionServerInfo * pParent = nullptr, const QString & version = KviQString::Empty)
246 : KviCritenIrcServerInfo(pParent, version) {}
247 const char * getSoftware() const override { return "Nemesis"; }
248};
249
251{
252public:
253 KviNemesis20IrcServerInfo(KviIrcConnectionServerInfo * pParent = nullptr, const QString & version = KviQString::Empty)
254 : KviUnreal32IrcServerInfo(pParent, version) {}
255 const char * getSoftware() const override { return "Nemesis2.0"; }
256};
257
259{
260 // dalnet, azzurranet
261public:
262 KviBahamutIrcServerInfo(KviIrcConnectionServerInfo * pParent = nullptr, const QString & version = KviQString::Empty)
263 : KviBasicIrcServerInfo(pParent, version) {}
264 const QString & getChannelModeDescription(char mode) const override;
265 const QString & getUserModeDescription(QChar mode) const override;
266 QChar getUserModeRequirement(QChar mode) const override;
267 char getRegisterModeChar() const override { return 'r'; }
268 const char * getSoftware() const override { return "Bahamut"; }
269};
270
272{
273 // legacy freenode : no longer maintained
274public:
275 KviHyperionIrcServerInfo(KviIrcConnectionServerInfo * pParent = nullptr, const QString & version = KviQString::Empty)
276 : KviBasicIrcServerInfo(pParent, version) {}
277 const QString & getUserModeDescription(QChar mode) const override;
278 QChar getUserModeRequirement(QChar mode) const override;
279 char getRegisterModeChar() const override { return 'e'; }
280 const char * getSoftware() const override { return "Hyperion"; }
281 bool getNeedsOpToListModeseI() const override { return true; }
282};
283
285{
286 // chatspike
287public:
288 KviInspIRCdIrcServerInfo(KviIrcConnectionServerInfo * pParent = nullptr, const QString & version = KviQString::Empty)
289 : KviBasicIrcServerInfo(pParent, version) {}
290 const QString & getChannelModeDescription(char mode) const override;
291 const QString & getUserModeDescription(QChar mode) const override;
292 QChar getUserModeRequirement(QChar mode) const override;
293 char getRegisterModeChar() const override { return 'r'; }
294 const char * getSoftware() const override { return "InspIRCd"; }
295 bool getNeedsOpToListModeseI() const override { return true; }
296 bool getNeedsOperToSetS() const override { return true; }
297};
298
300{
301 friend class KviConsoleWindow; // for now
302 friend class KviIrcServerParser;
303 friend class KviIrcConnection;
304
305protected:
308
309private:
311 QString m_szNetworkName; // the most actual network name (may be the one we specify or the one that the server reports)
312 QString m_szName; // the most actual server name (may be the one we specify or the one that the server wants to be known as)
313 QString m_szSupportedUserModes; // the supported user modes
314 QString m_szSupportedChannelModes = "pstnmiklb"; // the supported channel modes (all of them)
315 QString m_szSupportedModePrefixes = "@+"; // the actually used mode prefixes @+
316 QString m_szSupportedStatusMsgPrefixes; // mode prefixes that can be used to target messages (from the STATUSMSG ISUPPORT token)
317 kvi_u32_t * m_pModePrefixTable = nullptr; // the mode prefixes above in a table
318 unsigned int m_uPrefixes;
319 QString m_szSupportedModeFlags = "ov"; // the actually used mode flags ov
320 QString m_szSupportedChannelTypes = "#&!+"; // the supported channel types
321 bool m_bSupportsWatchList = false; // supports the watch list ?
322 bool m_bSupportsCodePages = false; // supports the /CODEPAGE command ?
323 int m_iMaxTopicLen = -1;
324 int m_iMaxModeChanges = 3;
325 // Mode that adds or removes a nick or address to a list. Always has a parameter (eg: "b" as ban)
326 QString m_szListModes = "b";
327 // Mode that changes a setting and always has a parameter (eg: "k" as channel key)
328 QString m_szParameterModes = "k";
329 // Mode that changes a setting and only has a parameter when set (eg: "l" as channel limit)
330 QString m_szParameterWhenSetModes = "l";
331 // Mode that changes a setting and never has a parameter (eg: "m" as channel moderated)
332 QString m_szPlainModes = "pstnmi";
333 bool m_bSupportsCap = false;
334 QStringList m_lSupportedCaps;
335 bool m_bSupportsWhox = false; // supports WHOX
336public:
337 char registerModeChar() const { return m_pServInfo ? m_pServInfo->getRegisterModeChar() : 0; }
338 const char * software() const { return m_pServInfo ? m_pServInfo->getSoftware() : 0; }
339 bool getNeedsOpToListModeseI() const { return m_pServInfo ? m_pServInfo->getNeedsOpToListModeseI() : false; }
340 bool getNeedsOperToSetS() const { return m_pServInfo ? m_pServInfo->getNeedsOperToSetS() : false; }
341 const QString & name() const { return m_szName; }
342 const QString & networkName() const { return m_szNetworkName; }
343 const QString & supportedUserModes() const { return m_szSupportedUserModes; }
344 const QString & supportedChannelModes() const { return m_szSupportedChannelModes; }
345 const QString & supportedChannelTypes() const { return m_szSupportedChannelTypes; }
346 const QString & supportedModePrefixes() const { return m_szSupportedModePrefixes; }
347 const QString & supportedStatusMsgPrefixes() const { return m_szSupportedStatusMsgPrefixes; }
348 const QString & supportedModeFlags() const { return m_szSupportedModeFlags; }
349 const QString & supportedListModes() const { return m_szListModes; }
350 const QString & supportedParameterModes() const { return m_szParameterModes; }
351 const QString & supportedParameterWhenSetModes() const { return m_szParameterWhenSetModes; }
352 const QString & supportedPlainModes() const { return m_szPlainModes; }
353 bool supportsCap() const { return m_bSupportsCap; }
354 const QStringList & supportedCaps() const { return m_lSupportedCaps; }
355 bool supportsWatchList() const { return m_bSupportsWatchList; }
356 bool supportsCodePages() const { return m_bSupportsCodePages; }
357 bool supportsWhox() const { return m_bSupportsWhox; }
358
359 int maxTopicLen() const { return m_iMaxTopicLen; }
360 int maxModeChanges() const { return m_iMaxModeChanges; }
361
362 void setServerVersion(const QString & version);
363
364 const QString & getChannelModeDescription(char mode) const { return m_pServInfo->getChannelModeDescription(mode); }
365 const QString & getUserModeDescription(QChar mode) const { return m_pServInfo->getUserModeDescription(mode); }
366
367 // Returning ! means the mode can never be set by the user. Returning QChar::Null means the mode is free to set.
368 // Returning a QChar means the mode has another mode dependency (the QChar we're returning)
369 QChar getUserModeRequirement(QChar mode) const { return m_pServInfo ? m_pServInfo->getUserModeRequirement(mode) : QChar::Null; }
370
371 bool isSupportedChannelType(QChar c) const;
372 bool isSupportedModePrefix(QChar c) const;
373 bool isSupportedModeFlag(QChar c) const;
374 QChar modePrefixChar(kvi_u32_t flag) const;
375 QChar modeFlagChar(kvi_u32_t flag) const;
376 kvi_u32_t modeFlagFromPrefixChar(QChar c) const;
377 kvi_u32_t modeFlagFromModeChar(QChar c) const;
378
379protected:
380 void setNetworkName(const QString & szName) { m_szNetworkName = szName; }
381 void setName(const QString & szName) { m_szName = szName; }
382 void setSupportedUserModes(const QString & szSupportedUserModes) { m_szSupportedUserModes = szSupportedUserModes; }
383 void setSupportedChannelModes(const QString & szSupportedChannelModes);
384 void setSupportedModePrefixes(const QString & szSupportedModePrefixes, const QString & szSupportedModeFlags);
385 void setSupportedStatusMsgPrefixes(const QString & szSupportedStatusMsgPrefixes) { m_szSupportedStatusMsgPrefixes = szSupportedStatusMsgPrefixes; }
386 void setSupportedChannelTypes(const QString & szSupportedChannelTypes) { m_szSupportedChannelTypes = szSupportedChannelTypes; }
387 void setSupportsWatchList(bool bSupportsWatchList) { m_bSupportsWatchList = bSupportsWatchList; }
388 void setSupportsCodePages(bool bSupportsCodePages) { m_bSupportsCodePages = bSupportsCodePages; }
389 void addSupportedCaps(const QString & szCapList);
390 void setMaxTopicLen(int iTopLen) { m_iMaxTopicLen = iTopLen; }
391 void setMaxModeChanges(int iModes) { m_iMaxModeChanges = iModes; }
392 void setSupportsWhox(bool bSupportsWhox) { m_bSupportsWhox = bSupportsWhox; }
393private:
394 void buildModePrefixTable();
395};
396
397#endif
Helper functions for the QString class.
Definition KviIrcConnectionServerInfo.h:259
char getRegisterModeChar() const override
Definition KviIrcConnectionServerInfo.h:267
KviBahamutIrcServerInfo(KviIrcConnectionServerInfo *pParent=nullptr, const QString &version=KviQString::Empty)
Definition KviIrcConnectionServerInfo.h:262
const char * getSoftware() const override
Definition KviIrcConnectionServerInfo.h:268
Definition KviIrcConnectionServerInfo.h:36
virtual QChar getUserModeRequirement(QChar mode) const
Definition KviIrcConnectionServerInfo.cpp:1088
virtual bool getNeedsOpToListModeseI() const
Definition KviIrcConnectionServerInfo.h:52
virtual const QString & getUserModeDescription(QChar mode) const
Definition KviIrcConnectionServerInfo.cpp:293
virtual const char * getSoftware() const
Definition KviIrcConnectionServerInfo.h:51
QString m_szServerVersion
Definition KviIrcConnectionServerInfo.h:39
virtual bool getNeedsOperToSetS() const
Definition KviIrcConnectionServerInfo.h:53
virtual const QString & getChannelModeDescription(char mode) const
Definition KviIrcConnectionServerInfo.cpp:1561
KviIrcConnectionServerInfo * m_pParent
Definition KviIrcConnectionServerInfo.h:40
virtual char getRegisterModeChar() const
Definition KviIrcConnectionServerInfo.h:50
virtual ~KviBasicIrcServerInfo()
Definition KviIrcConnectionServerInfo.h:87
const char * getSoftware() const override
Definition KviIrcConnectionServerInfo.h:94
bool getNeedsOperToSetS() const override
Definition KviIrcConnectionServerInfo.h:95
KviCharybdisServerInfo(KviIrcConnectionServerInfo *pParent=nullptr, const QString &version=KviQString::Empty)
Definition KviIrcConnectionServerInfo.h:89
Definition KviConsoleWindow.h:74
Definition KviIrcConnectionServerInfo.h:228
const char * getSoftware() const override
Definition KviIrcConnectionServerInfo.h:237
bool getNeedsOpToListModeseI() const override
Definition KviIrcConnectionServerInfo.h:238
KviCritenIrcServerInfo(KviIrcConnectionServerInfo *pParent=nullptr, const QString &version=KviQString::Empty)
Definition KviIrcConnectionServerInfo.h:231
char getRegisterModeChar() const override
Definition KviIrcConnectionServerInfo.h:236
Definition KviIrcConnectionServerInfo.h:177
const char * getSoftware() const override
Definition KviIrcConnectionServerInfo.h:186
KviDarenetIrcServerInfo(KviIrcConnectionServerInfo *pParent=nullptr, const QString &version=KviQString::Empty)
Definition KviIrcConnectionServerInfo.h:180
char getRegisterModeChar() const override
Definition KviIrcConnectionServerInfo.h:185
Definition KviIrcConnectionServerInfo.h:61
KviHybridServerInfo(KviIrcConnectionServerInfo *pParent=nullptr, const QString &version=KviQString::Empty)
Definition KviIrcConnectionServerInfo.h:64
char getRegisterModeChar() const override
Definition KviIrcConnectionServerInfo.h:69
const char * getSoftware() const override
Definition KviIrcConnectionServerInfo.h:70
Definition KviIrcConnectionServerInfo.h:272
bool getNeedsOpToListModeseI() const override
Definition KviIrcConnectionServerInfo.h:281
const char * getSoftware() const override
Definition KviIrcConnectionServerInfo.h:280
char getRegisterModeChar() const override
Definition KviIrcConnectionServerInfo.h:279
KviHyperionIrcServerInfo(KviIrcConnectionServerInfo *pParent=nullptr, const QString &version=KviQString::Empty)
Definition KviIrcConnectionServerInfo.h:275
Definition KviIrcConnectionServerInfo.h:285
bool getNeedsOpToListModeseI() const override
Definition KviIrcConnectionServerInfo.h:295
bool getNeedsOperToSetS() const override
Definition KviIrcConnectionServerInfo.h:296
KviInspIRCdIrcServerInfo(KviIrcConnectionServerInfo *pParent=nullptr, const QString &version=KviQString::Empty)
Definition KviIrcConnectionServerInfo.h:288
char getRegisterModeChar() const override
Definition KviIrcConnectionServerInfo.h:293
const char * getSoftware() const override
Definition KviIrcConnectionServerInfo.h:294
Definition KviIrcConnectionServerInfo.h:300
const QString & networkName() const
Definition KviIrcConnectionServerInfo.h:342
QStringList m_lSupportedCaps
Definition KviIrcConnectionServerInfo.h:334
void setSupportedUserModes(const QString &szSupportedUserModes)
Definition KviIrcConnectionServerInfo.h:382
bool supportsWhox() const
Definition KviIrcConnectionServerInfo.h:357
bool supportsCap() const
Definition KviIrcConnectionServerInfo.h:353
const QStringList & supportedCaps() const
Definition KviIrcConnectionServerInfo.h:354
void setSupportedStatusMsgPrefixes(const QString &szSupportedStatusMsgPrefixes)
Definition KviIrcConnectionServerInfo.h:385
QString m_szNetworkName
Definition KviIrcConnectionServerInfo.h:311
const QString & supportedModePrefixes() const
Definition KviIrcConnectionServerInfo.h:346
void setSupportsWatchList(bool bSupportsWatchList)
Definition KviIrcConnectionServerInfo.h:387
const QString & getChannelModeDescription(char mode) const
Definition KviIrcConnectionServerInfo.h:364
const QString & supportedChannelTypes() const
Definition KviIrcConnectionServerInfo.h:345
const QString & supportedParameterModes() const
Definition KviIrcConnectionServerInfo.h:350
QString m_szSupportedUserModes
Definition KviIrcConnectionServerInfo.h:313
void setMaxModeChanges(int iModes)
Definition KviIrcConnectionServerInfo.h:391
const QString & name() const
Definition KviIrcConnectionServerInfo.h:341
QChar getUserModeRequirement(QChar mode) const
Definition KviIrcConnectionServerInfo.h:369
const QString & supportedModeFlags() const
Definition KviIrcConnectionServerInfo.h:348
int maxTopicLen() const
Definition KviIrcConnectionServerInfo.h:359
const char * software() const
Definition KviIrcConnectionServerInfo.h:338
bool supportsWatchList() const
Definition KviIrcConnectionServerInfo.h:355
bool supportsCodePages() const
Definition KviIrcConnectionServerInfo.h:356
const QString & supportedUserModes() const
Definition KviIrcConnectionServerInfo.h:343
const QString & getUserModeDescription(QChar mode) const
Definition KviIrcConnectionServerInfo.h:365
const QString & supportedListModes() const
Definition KviIrcConnectionServerInfo.h:349
void setSupportsWhox(bool bSupportsWhox)
Definition KviIrcConnectionServerInfo.h:392
QString m_szSupportedStatusMsgPrefixes
Definition KviIrcConnectionServerInfo.h:316
const QString & supportedParameterWhenSetModes() const
Definition KviIrcConnectionServerInfo.h:351
void setSupportedChannelTypes(const QString &szSupportedChannelTypes)
Definition KviIrcConnectionServerInfo.h:386
KviBasicIrcServerInfo * m_pServInfo
Definition KviIrcConnectionServerInfo.h:310
bool getNeedsOperToSetS() const
Definition KviIrcConnectionServerInfo.h:340
const QString & supportedStatusMsgPrefixes() const
Definition KviIrcConnectionServerInfo.h:347
void setMaxTopicLen(int iTopLen)
Definition KviIrcConnectionServerInfo.h:390
void setNetworkName(const QString &szName)
Definition KviIrcConnectionServerInfo.h:380
const QString & supportedChannelModes() const
Definition KviIrcConnectionServerInfo.h:344
const QString & supportedPlainModes() const
Definition KviIrcConnectionServerInfo.h:352
void setName(const QString &szName)
Definition KviIrcConnectionServerInfo.h:381
int maxModeChanges() const
Definition KviIrcConnectionServerInfo.h:360
unsigned int m_uPrefixes
Definition KviIrcConnectionServerInfo.h:318
QString m_szName
Definition KviIrcConnectionServerInfo.h:312
void setSupportsCodePages(bool bSupportsCodePages)
Definition KviIrcConnectionServerInfo.h:388
char registerModeChar() const
Definition KviIrcConnectionServerInfo.h:337
bool getNeedsOpToListModeseI() const
Definition KviIrcConnectionServerInfo.h:339
An abstraction of a connection to an IRC server.
Definition KviIrcConnection.h:97
Definition KviIrcServerParser.h:114
Definition KviIrcConnectionServerInfo.h:74
KviIrcdRatboxIrcServerInfo(KviIrcConnectionServerInfo *pParent=nullptr, const QString &version=KviQString::Empty)
Definition KviIrcConnectionServerInfo.h:77
const char * getSoftware() const override
Definition KviIrcConnectionServerInfo.h:82
bool getNeedsOpToListModeseI() const override
Definition KviIrcConnectionServerInfo.h:83
Definition KviIrcConnectionServerInfo.h:99
const char * getSoftware() const override
Definition KviIrcConnectionServerInfo.h:106
KviIrcdSevenIrcServerInfo(KviIrcConnectionServerInfo *pParent=nullptr, const QString &version=KviQString::Empty)
Definition KviIrcConnectionServerInfo.h:102
Definition KviIrcConnectionServerInfo.h:110
KviIrcdSolanumIrcServerInfo(KviIrcConnectionServerInfo *pParent=nullptr, const QString &version=KviQString::Empty)
Definition KviIrcConnectionServerInfo.h:113
const char * getSoftware() const override
Definition KviIrcConnectionServerInfo.h:115
Definition KviIrcConnectionServerInfo.h:150
bool getNeedsOpToListModeseI() const override
Definition KviIrcConnectionServerInfo.h:159
bool getNeedsOperToSetS() const override
Definition KviIrcConnectionServerInfo.h:160
KviIrcuIrcServerInfo(KviIrcConnectionServerInfo *pParent=nullptr, const QString &version=KviQString::Empty)
Definition KviIrcConnectionServerInfo.h:153
const char * getSoftware() const override
Definition KviIrcConnectionServerInfo.h:158
Definition KviIrcConnectionServerInfo.h:251
const char * getSoftware() const override
Definition KviIrcConnectionServerInfo.h:255
KviNemesis20IrcServerInfo(KviIrcConnectionServerInfo *pParent=nullptr, const QString &version=KviQString::Empty)
Definition KviIrcConnectionServerInfo.h:253
Definition KviIrcConnectionServerInfo.h:242
KviNemesisIrcServerInfo(KviIrcConnectionServerInfo *pParent=nullptr, const QString &version=KviQString::Empty)
Definition KviIrcConnectionServerInfo.h:245
const char * getSoftware() const override
Definition KviIrcConnectionServerInfo.h:247
Definition KviIrcConnectionServerInfo.h:132
bool getNeedsOpToListModeseI() const override
Definition KviIrcConnectionServerInfo.h:142
KviOftcIrcServerInfo(KviIrcConnectionServerInfo *pParent=nullptr, const QString &version=KviQString::Empty)
Definition KviIrcConnectionServerInfo.h:135
char getRegisterModeChar() const override
Definition KviIrcConnectionServerInfo.h:140
const char * getSoftware() const override
Definition KviIrcConnectionServerInfo.h:141
Definition KviIrcConnectionServerInfo.h:119
KviPlexusIrcServerInfo(KviIrcConnectionServerInfo *pParent=nullptr, const QString &version=KviQString::Empty)
Definition KviIrcConnectionServerInfo.h:122
bool getNeedsOpToListModeseI() const override
Definition KviIrcConnectionServerInfo.h:128
const char * getSoftware() const override
Definition KviIrcConnectionServerInfo.h:127
Definition KviIrcConnectionServerInfo.h:164
bool getNeedsOperToSetS() const override
Definition KviIrcConnectionServerInfo.h:173
KviSnircdIrcServerInfo(KviIrcConnectionServerInfo *pParent=nullptr, const QString &version=KviQString::Empty)
Definition KviIrcConnectionServerInfo.h:167
const char * getSoftware() const override
Definition KviIrcConnectionServerInfo.h:172
Definition KviIrcConnectionServerInfo.h:205
const char * getSoftware() const override
Definition KviIrcConnectionServerInfo.h:214
KviUnreal32IrcServerInfo(KviIrcConnectionServerInfo *pParent=nullptr, const QString &version=KviQString::Empty)
Definition KviIrcConnectionServerInfo.h:209
Definition KviIrcConnectionServerInfo.h:218
KviUnreal40IrcServerInfo(KviIrcConnectionServerInfo *pParent=nullptr, const QString &version=KviQString::Empty)
Definition KviIrcConnectionServerInfo.h:220
const char * getSoftware() const override
Definition KviIrcConnectionServerInfo.h:224
Definition KviIrcConnectionServerInfo.h:194
const char * getSoftware() const override
Definition KviIrcConnectionServerInfo.h:200
bool getNeedsOperToSetS() const override
Definition KviIrcConnectionServerInfo.h:201
KviUnrealIrcServerInfo(KviIrcConnectionServerInfo *pParent=nullptr, const QString &version=KviQString::Empty)
Definition KviIrcConnectionServerInfo.h:196
char getRegisterModeChar() const override
Definition KviIrcConnectionServerInfo.h:199
This file contains compile time settings.
#define KVIRC_API
Definition kvi_settings.h:127
const QString Empty
A global empty string (note that this is ALSO NULL under Qt 3.x)
Definition KviQString.cpp:47