annotate gui/octave-gui/src/irc/IRCClientImpl.h @ 14240:a9992bc3c3f7 gui

GUI: Added qtermwidget snapshot as a subproject to build as a library that links with Octave GUI.
author Jacob Dawid <jacob.dawid@googlemail.com>
date Sat, 21 Jan 2012 11:26:36 +0100
parents gui/src/irc/IRCClientImpl.h@e272af3f252d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
13583
057ec114ac15 Added GPL headers.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13581
diff changeset
1 /* OctaveGUI - A graphical user interface for Octave
13674
c0e66d6e3dc8 Updated license headers and moved to AGPLv3.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13618
diff changeset
2 * Copyright (C) 2011 Jacob Dawid (jacob.dawid@googlemail.com)
13583
057ec114ac15 Added GPL headers.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13581
diff changeset
3 *
057ec114ac15 Added GPL headers.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13581
diff changeset
4 * This program is free software: you can redistribute it and/or modify
13674
c0e66d6e3dc8 Updated license headers and moved to AGPLv3.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13618
diff changeset
5 * it under the terms of the GNU Affero General Public License as
c0e66d6e3dc8 Updated license headers and moved to AGPLv3.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13618
diff changeset
6 * published by the Free Software Foundation, either version 3 of the
c0e66d6e3dc8 Updated license headers and moved to AGPLv3.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13618
diff changeset
7 * License, or (at your option) any later version.
13583
057ec114ac15 Added GPL headers.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13581
diff changeset
8 *
057ec114ac15 Added GPL headers.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13581
diff changeset
9 * This program is distributed in the hope that it will be useful,
057ec114ac15 Added GPL headers.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13581
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
057ec114ac15 Added GPL headers.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13581
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13674
c0e66d6e3dc8 Updated license headers and moved to AGPLv3.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13618
diff changeset
12 * GNU Affero General Public License for more details.
13583
057ec114ac15 Added GPL headers.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13581
diff changeset
13 *
13674
c0e66d6e3dc8 Updated license headers and moved to AGPLv3.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13618
diff changeset
14 * You should have received a copy of the GNU Affero General Public License
c0e66d6e3dc8 Updated license headers and moved to AGPLv3.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13618
diff changeset
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
13583
057ec114ac15 Added GPL headers.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13581
diff changeset
16 */
057ec114ac15 Added GPL headers.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13581
diff changeset
17
13579
6568fccb8940 Updated russian and ukrainian translation files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
18 #ifndef IRCCLIENTIMPL_H
6568fccb8940 Updated russian and ukrainian translation files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
19 #define IRCCLIENTIMPL_H
6568fccb8940 Updated russian and ukrainian translation files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
20
6568fccb8940 Updated russian and ukrainian translation files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
21 #include <QTcpSocket>
13581
3e5a8ef9c76d Completely rewrote IRC client backend to make it platform-independent. Not all functionality has been reimplemented as of yet, though.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13580
diff changeset
22 #include <QHostInfo>
13585
f0d6f2ff45de Now making correct use of the interface for the IRC Interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13583
diff changeset
23 #include <QStringList>
f0d6f2ff45de Now making correct use of the interface for the IRC Interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13583
diff changeset
24 #include <QTextDocument>
13588
52fd3b9ea848 Changed all #defines for IRC Codes to constants, as it should be. Assorted them in namespaces and gave them better readable names.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13585
diff changeset
25 #include <QStringListModel>
13579
6568fccb8940 Updated russian and ukrainian translation files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
26 #include "IRCClientInterface.h"
6568fccb8940 Updated russian and ukrainian translation files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
27
13608
d3527a9dfe27 Added doxygen comments for IRC interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13603
diff changeset
28 /**
d3527a9dfe27 Added doxygen comments for IRC interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13603
diff changeset
29 * \namespace IRCCommand
d3527a9dfe27 Added doxygen comments for IRC interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13603
diff changeset
30 * This namespace includes all IRC commands.
d3527a9dfe27 Added doxygen comments for IRC interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13603
diff changeset
31 */
13589
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
32 namespace IRCCommand
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
33 {
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
34 const QString Password = "PASS";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
35 const QString Nick = "NICK";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
36 const QString User = "USER";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
37 const QString Operation = "OPER";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
38 const QString Service = "SERVICE";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
39 const QString Quit = "QUIT";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
40 const QString ServerQuit = "SQUIT";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
41
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
42 const QString Join = "JOIN";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
43 const QString Part = "PART";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
44 const QString Mode = "MODE";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
45 const QString Topic = "TOPIC";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
46 const QString Names = "NAMES";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
47 const QString List = "LIST";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
48 const QString Invite = "INVITE";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
49 const QString Kick = "KICK";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
50
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
51 const QString PrivateMessage = "PRIVMSG";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
52 const QString Notice = "NOTICE";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
53
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
54 const QString MessageOfTheDay = "MOTD";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
55 const QString ListUsers = "LUSERS";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
56 const QString Version = "VERSION";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
57 const QString Stats = "STATS";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
58 const QString Links = "LINKS";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
59 const QString Time = "TIME";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
60 const QString Command = "CONNECT";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
61 const QString Trace = "TRACE";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
62 const QString Admin = "ADMIN";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
63 const QString Info = "INFO";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
64
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
65 const QString ServerList = "SERVLIST";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
66 const QString ServerQuery = "SQUERY";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
67
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
68 const QString Who = "WHO";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
69 const QString WhoIs = "WHOIS";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
70 const QString WhoWas = "WHOWAS";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
71
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
72 const QString Kill = "KILL";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
73 const QString Ping = "PING";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
74 const QString Pong = "PONG";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
75 const QString Error = "ERROR";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
76
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
77 const QString Away = "AWAY";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
78 const QString Rehash = "REHASH";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
79 const QString Die = "DIE";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
80 const QString Restart = "RESTART";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
81 const QString Summon = "SUMMON";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
82 const QString Users = "USERS";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
83 const QString OperatorWall = "OPERWALL";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
84 const QString UserHost = "USERHOST";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
85 const QString IsOn = "ISON";
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
86 };
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
87
13608
d3527a9dfe27 Added doxygen comments for IRC interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13603
diff changeset
88 /**
d3527a9dfe27 Added doxygen comments for IRC interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13603
diff changeset
89 * \namespace IRCReply
d3527a9dfe27 Added doxygen comments for IRC interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13603
diff changeset
90 * This namespace includes all numeric IRC replies.
d3527a9dfe27 Added doxygen comments for IRC interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13603
diff changeset
91 */
13589
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
92 namespace IRCReply
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
93 {
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
94 const int Welcome = 1;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
95 const int YourHost = 2;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
96 const int Created = 3;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
97 const int MyInfo = 4;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
98 const int ReplyBounce = 5;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
99 const int UserHost = 302;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
100 const int IsOn = 303;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
101 const int Away = 301;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
102 const int UnAway = 305;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
103 const int NoAway = 306;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
104 const int WhoIsUser = 311;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
105 const int WhoIsServer = 312;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
106 const int WhoIsOperator = 313;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
107 const int WhoIsIdle = 317;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
108 const int EndOfWhoIs = 318;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
109 const int WhoIsChannels = 319;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
110 const int WhoWasUser = 314;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
111 const int EndOfWhoWas = 369;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
112 const int ListStart = 321;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
113 const int List = 322;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
114 const int ListEnd = 323;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
115 const int UniqueOpIs = 325;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
116 const int ChannelModeIs = 324;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
117 const int NoTopic = 331;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
118 const int Topic = 332;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
119 const int Inviting = 341;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
120 const int Summoning = 342;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
121 const int InviteList = 346;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
122 const int EndOfInviteList = 347;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
123 const int ExceptList = 348;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
124 const int EndOfExceptList = 349;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
125 const int Version = 351;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
126 const int WhoReply = 352;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
127 const int EndOfWho = 315;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
128 const int NameReply = 353;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
129 const int EndOfNames = 366;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
130 const int Links = 364;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
131 const int EndOfLinks = 367;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
132 const int BanList = 368;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
133 const int Info = 371;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
134 const int EndOfInfo = 374;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
135 const int MessageOfTheDayStart = 375;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
136 const int MessageOfTheDay = 372;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
137 const int MessageOfTheDayEnd = 376;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
138 const int YouAreOperator = 381;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
139 const int Rehashing = 382;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
140 const int YouAreService = 383;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
141 const int Time = 391;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
142 const int UserStart = 392;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
143 const int Users = 393;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
144 const int EndOfUsers = 394;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
145 const int NoUsers = 395;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
146 const int TraceLink = 200;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
147 const int TraceConnecting = 201;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
148 const int TraceHandshake = 202;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
149 const int TraceUnknown = 203;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
150 const int TraceOperator = 204;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
151 const int TraceUser = 205;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
152 const int TraceServer = 206;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
153 const int TraceService = 207;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
154 const int TraceNewType = 208;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
155 const int TraceClass = 209;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
156 const int TraceConnect = 210;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
157 const int TraceLog = 261;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
158 const int TraceEnd = 262;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
159 const int StatsLinkInfo = 211;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
160 const int StatsCommands = 212;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
161 const int EndOfStats = 219;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
162 const int StatsUptime = 242;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
163 const int StatsOnline = 243;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
164 const int UModeIs = 221;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
165 const int ServerList = 234;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
166 const int ServerListEnd = 235;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
167 const int ListUserClient = 251;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
168 const int ListUserOperator = 252;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
169 const int ListUserUnknown = 253;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
170 const int ListUserChannels = 254;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
171 const int ListUserMe = 255;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
172 const int AdminMe = 256;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
173 const int AdminLoc1 = 257;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
174 const int AdminLoc2 = 258;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
175 const int AdminEmail = 259;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
176 const int TryAgain = 263;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
177 };
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
178
13608
d3527a9dfe27 Added doxygen comments for IRC interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13603
diff changeset
179 /**
d3527a9dfe27 Added doxygen comments for IRC interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13603
diff changeset
180 * \namespace IRCError
d3527a9dfe27 Added doxygen comments for IRC interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13603
diff changeset
181 * This namespace includes all numeric IRC errors.
d3527a9dfe27 Added doxygen comments for IRC interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13603
diff changeset
182 */
13589
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
183 namespace IRCError
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
184 {
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
185 const int NoSuchNick = 401;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
186 const int NoSuchServer = 402;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
187 const int NoSuchChannel = 403;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
188 const int CannotSendToChannel = 404;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
189 const int TooManyChannels = 405;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
190 const int WasNoSuchNick = 406;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
191 const int TooManyTargets = 407;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
192 const int NoSuchService = 408;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
193 const int NoOrigin = 409;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
194 const int NoRecipient = 411;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
195 const int NoTextToSend = 412;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
196 const int NoTopLevel = 413;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
197 const int WildTopLevel = 414;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
198 const int BasMask = 415;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
199 const int UnknownCommand = 421;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
200 const int NoMessageOfTheDay = 422;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
201 const int NoAdminInfo = 423;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
202 const int FileError = 424;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
203 const int NoNickNameGiven = 431;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
204 const int ErroneusNick = 432;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
205 const int NicknameInUse = 433;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
206 const int NickCollision = 436;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
207 const int UnavailResource = 437;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
208 const int UserNotInChannel = 441;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
209 const int NotOnChannel = 442;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
210 const int UserOnChannel = 443;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
211 const int NoLogin = 444;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
212 const int SummonDisabled = 445;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
213 const int UsersDisabled = 446;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
214 const int NotRegistered = 451;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
215 const int NeedMoreParams = 461;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
216 const int AlreadyRegistered = 462;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
217 const int NoPermissionForHost = 463;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
218 const int PasswordMismatch = 464;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
219 const int YouAreBannedCreep = 465;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
220 const int YouWillBeBanned = 466;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
221 const int KeySet = 467;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
222 const int ChannelIsFull = 471;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
223 const int UnknownMode = 472;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
224 const int InviteOnlyChannel = 473;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
225 const int BannedFromChannel = 474;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
226 const int BadChannelKey = 475;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
227 const int BadChannelMask = 476;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
228 const int NoChannelModes = 477;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
229 const int BanListFull = 478;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
230 const int NoPrivileges = 481;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
231 const int ChannelOperatorPrivilegesNeeded = 482;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
232 const int CannotKillServer = 483;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
233 const int Restricted = 484;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
234 const int UniqueOperatorPrivilegesNeeded = 485;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
235 const int NoOperatorHost = 491;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
236 const int YourModeListUnknownFlag = 501;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
237 const int UsersDontMatch = 502;
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
238 };
ee49f1a15c06 Changed "Current Folder" to "Current Directory".
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13588
diff changeset
239
13608
d3527a9dfe27 Added doxygen comments for IRC interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13603
diff changeset
240 /**
d3527a9dfe27 Added doxygen comments for IRC interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13603
diff changeset
241 * \class IRCServerMessage
d3527a9dfe27 Added doxygen comments for IRC interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13603
diff changeset
242 * The IRCServerMessage class is a wrapper for server messages.
d3527a9dfe27 Added doxygen comments for IRC interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13603
diff changeset
243 * It parses the server message into its single bits and makes these
d3527a9dfe27 Added doxygen comments for IRC interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13603
diff changeset
244 * available through Getter-methods.
d3527a9dfe27 Added doxygen comments for IRC interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13603
diff changeset
245 */
13585
f0d6f2ff45de Now making correct use of the interface for the IRC Interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13583
diff changeset
246 class IRCServerMessage
f0d6f2ff45de Now making correct use of the interface for the IRC Interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13583
diff changeset
247 {
f0d6f2ff45de Now making correct use of the interface for the IRC Interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13583
diff changeset
248 public:
13591
b2ee41559bff Refactored IRC code.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13589
diff changeset
249 IRCServerMessage (const QString& serverMessage);
13581
3e5a8ef9c76d Completely rewrote IRC client backend to make it platform-independent. Not all functionality has been reimplemented as of yet, though.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13580
diff changeset
250
13599
e67616aca5a6 Refactored IRCServerMessage through rewriting message parsing.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13598
diff changeset
251 bool isNumeric ()
e67616aca5a6 Refactored IRCServerMessage through rewriting message parsing.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13598
diff changeset
252 { return m_isNumeric; }
13585
f0d6f2ff45de Now making correct use of the interface for the IRC Interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13583
diff changeset
253
f0d6f2ff45de Now making correct use of the interface for the IRC Interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13583
diff changeset
254 QString nick ()
13599
e67616aca5a6 Refactored IRCServerMessage through rewriting message parsing.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13598
diff changeset
255 { return m_nick; }
13581
3e5a8ef9c76d Completely rewrote IRC client backend to make it platform-independent. Not all functionality has been reimplemented as of yet, though.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13580
diff changeset
256
13585
f0d6f2ff45de Now making correct use of the interface for the IRC Interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13583
diff changeset
257 QString command ()
13599
e67616aca5a6 Refactored IRCServerMessage through rewriting message parsing.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13598
diff changeset
258 { return m_command; }
13581
3e5a8ef9c76d Completely rewrote IRC client backend to make it platform-independent. Not all functionality has been reimplemented as of yet, though.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13580
diff changeset
259
13585
f0d6f2ff45de Now making correct use of the interface for the IRC Interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13583
diff changeset
260 int numericValue ();
f0d6f2ff45de Now making correct use of the interface for the IRC Interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13583
diff changeset
261 QString parameter (int index);
f0d6f2ff45de Now making correct use of the interface for the IRC Interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13583
diff changeset
262
f0d6f2ff45de Now making correct use of the interface for the IRC Interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13583
diff changeset
263 private:
13599
e67616aca5a6 Refactored IRCServerMessage through rewriting message parsing.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13598
diff changeset
264 int m_codeNumber;
e67616aca5a6 Refactored IRCServerMessage through rewriting message parsing.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13598
diff changeset
265 bool m_isNumeric;
e67616aca5a6 Refactored IRCServerMessage through rewriting message parsing.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13598
diff changeset
266 QString m_nick;
e67616aca5a6 Refactored IRCServerMessage through rewriting message parsing.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13598
diff changeset
267 QString m_user;
e67616aca5a6 Refactored IRCServerMessage through rewriting message parsing.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13598
diff changeset
268 QString m_host;
e67616aca5a6 Refactored IRCServerMessage through rewriting message parsing.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13598
diff changeset
269 QString m_command;
13591
b2ee41559bff Refactored IRC code.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13589
diff changeset
270 QStringList m_parameters;
13585
f0d6f2ff45de Now making correct use of the interface for the IRC Interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13583
diff changeset
271 };
13581
3e5a8ef9c76d Completely rewrote IRC client backend to make it platform-independent. Not all functionality has been reimplemented as of yet, though.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13580
diff changeset
272
13608
d3527a9dfe27 Added doxygen comments for IRC interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13603
diff changeset
273 /**
d3527a9dfe27 Added doxygen comments for IRC interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13603
diff changeset
274 * \class IRCChannelProxyImpl
d3527a9dfe27 Added doxygen comments for IRC interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13603
diff changeset
275 * Implements a handle to an IRC channel. This is usually provided by the
d3527a9dfe27 Added doxygen comments for IRC interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13603
diff changeset
276 * the IRC client class.
d3527a9dfe27 Added doxygen comments for IRC interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13603
diff changeset
277 */
d3527a9dfe27 Added doxygen comments for IRC interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13603
diff changeset
278 class IRCChannelProxyImpl : public IRCChannelProxyInterface
13585
f0d6f2ff45de Now making correct use of the interface for the IRC Interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13583
diff changeset
279 {
13598
a9b96f66202a Further reworked on IRC backend.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13597
diff changeset
280 Q_OBJECT
13585
f0d6f2ff45de Now making correct use of the interface for the IRC Interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13583
diff changeset
281 public:
13608
d3527a9dfe27 Added doxygen comments for IRC interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13603
diff changeset
282 IRCChannelProxyImpl (IRCClientInterface *clientInterface, const QString& channelName, QObject *parent = 0);
13588
52fd3b9ea848 Changed all #defines for IRC Codes to constants, as it should be. Assorted them in namespaces and gave them better readable names.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13585
diff changeset
283 QTextDocument *conversationModel ();
52fd3b9ea848 Changed all #defines for IRC Codes to constants, as it should be. Assorted them in namespaces and gave them better readable names.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13585
diff changeset
284 QStringListModel *userListModel ();
13597
73a9ac1cdbf1 Further structured IRC interfaces.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13591
diff changeset
285 QString channelName ();
73a9ac1cdbf1 Further structured IRC interfaces.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13591
diff changeset
286
13603
3a1ba08ad392 Further development of IRC backend.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13600
diff changeset
287 void setNickList (const QStringList &nickList);
13597
73a9ac1cdbf1 Further structured IRC interfaces.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13591
diff changeset
288 void sendMessage (const QString& message);
73a9ac1cdbf1 Further structured IRC interfaces.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13591
diff changeset
289 void sendJoinRequest ();
73a9ac1cdbf1 Further structured IRC interfaces.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13591
diff changeset
290 void leave (const QString &reason);
13618
46c5fd59fe98 Autocompletion now works for users that changed their nick or joined the channel.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13608
diff changeset
291 public slots:
46c5fd59fe98 Autocompletion now works for users that changed their nick or joined the channel.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13608
diff changeset
292 void handleNickChange (const QString& oldNick, const QString& newNick);
46c5fd59fe98 Autocompletion now works for users that changed their nick or joined the channel.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13608
diff changeset
293 void handleJoin (const QString& nick);
13585
f0d6f2ff45de Now making correct use of the interface for the IRC Interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13583
diff changeset
294 private:
13599
e67616aca5a6 Refactored IRCServerMessage through rewriting message parsing.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13598
diff changeset
295 QString m_channelName;
e67616aca5a6 Refactored IRCServerMessage through rewriting message parsing.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13598
diff changeset
296 QStringList m_userList;
e67616aca5a6 Refactored IRCServerMessage through rewriting message parsing.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13598
diff changeset
297 QStringListModel m_userListModel;
e67616aca5a6 Refactored IRCServerMessage through rewriting message parsing.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13598
diff changeset
298 QTextDocument m_conversationModel;
13597
73a9ac1cdbf1 Further structured IRC interfaces.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13591
diff changeset
299 IRCClientInterface *m_clientInterface;
13581
3e5a8ef9c76d Completely rewrote IRC client backend to make it platform-independent. Not all functionality has been reimplemented as of yet, though.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13580
diff changeset
300 };
3e5a8ef9c76d Completely rewrote IRC client backend to make it platform-independent. Not all functionality has been reimplemented as of yet, though.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13580
diff changeset
301
13608
d3527a9dfe27 Added doxygen comments for IRC interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13603
diff changeset
302 /**
d3527a9dfe27 Added doxygen comments for IRC interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13603
diff changeset
303 * \class IRCClientImpl
d3527a9dfe27 Added doxygen comments for IRC interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13603
diff changeset
304 * Implements an IRC client. This class can maintain a connection to one server.
d3527a9dfe27 Added doxygen comments for IRC interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13603
diff changeset
305 * In order to interface an IRC channel, use the ircChannelProxy-method to retrieve
d3527a9dfe27 Added doxygen comments for IRC interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13603
diff changeset
306 * a handle.
d3527a9dfe27 Added doxygen comments for IRC interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13603
diff changeset
307 */
13579
6568fccb8940 Updated russian and ukrainian translation files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
308 class IRCClientImpl : public IRCClientInterface
6568fccb8940 Updated russian and ukrainian translation files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
309 {
6568fccb8940 Updated russian and ukrainian translation files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
310 Q_OBJECT
6568fccb8940 Updated russian and ukrainian translation files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
311 public:
13598
a9b96f66202a Further reworked on IRC backend.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13597
diff changeset
312 IRCClientImpl (QObject *parent = 0);
a9b96f66202a Further reworked on IRC backend.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13597
diff changeset
313 ~IRCClientImpl ();
13585
f0d6f2ff45de Now making correct use of the interface for the IRC Interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13583
diff changeset
314
f0d6f2ff45de Now making correct use of the interface for the IRC Interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13583
diff changeset
315 const QString& nickname ();
f0d6f2ff45de Now making correct use of the interface for the IRC Interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13583
diff changeset
316 bool isConnected ();
13600
aa4e5bed1750 Automatically changing nick when logging in to server.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13599
diff changeset
317 bool isLoggedIn ();
13585
f0d6f2ff45de Now making correct use of the interface for the IRC Interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13583
diff changeset
318 const QHostAddress& host();
f0d6f2ff45de Now making correct use of the interface for the IRC Interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13583
diff changeset
319 int port();
f0d6f2ff45de Now making correct use of the interface for the IRC Interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13583
diff changeset
320 IRCChannelProxyInterface *ircChannelProxy(const QString& channel);
13598
a9b96f66202a Further reworked on IRC backend.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13597
diff changeset
321 void sendIRCCommand (const QString& command, const QStringList& arguments);
13579
6568fccb8940 Updated russian and ukrainian translation files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
322
6568fccb8940 Updated russian and ukrainian translation files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
323 public slots:
13581
3e5a8ef9c76d Completely rewrote IRC client backend to make it platform-independent. Not all functionality has been reimplemented as of yet, though.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13580
diff changeset
324 void connectToHost (const QHostAddress& host, int port, const QString& initialNick);
13579
6568fccb8940 Updated russian and ukrainian translation files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
325 void disconnect ();
6568fccb8940 Updated russian and ukrainian translation files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
326 void reconnect ();
6568fccb8940 Updated russian and ukrainian translation files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
327
6568fccb8940 Updated russian and ukrainian translation files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
328 void sendNicknameChangeRequest (const QString &nickname);
13581
3e5a8ef9c76d Completely rewrote IRC client backend to make it platform-independent. Not all functionality has been reimplemented as of yet, though.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13580
diff changeset
329 void sendPrivateMessage (const QString &recipient, const QString &message);
13579
6568fccb8940 Updated russian and ukrainian translation files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
330
13581
3e5a8ef9c76d Completely rewrote IRC client backend to make it platform-independent. Not all functionality has been reimplemented as of yet, though.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13580
diff changeset
331 signals:
3e5a8ef9c76d Completely rewrote IRC client backend to make it platform-independent. Not all functionality has been reimplemented as of yet, though.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13580
diff changeset
332 void debugMessage (const QString& message);
3e5a8ef9c76d Completely rewrote IRC client backend to make it platform-independent. Not all functionality has been reimplemented as of yet, though.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13580
diff changeset
333
13580
64a3a1f23718 Further developed new IRC class.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13579
diff changeset
334 private slots:
64a3a1f23718 Further developed new IRC class.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13579
diff changeset
335 void handleConnected ();
64a3a1f23718 Further developed new IRC class.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13579
diff changeset
336 void handleDisconnected ();
64a3a1f23718 Further developed new IRC class.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13579
diff changeset
337 void handleReadyRead ();
64a3a1f23718 Further developed new IRC class.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13579
diff changeset
338
13579
6568fccb8940 Updated russian and ukrainian translation files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
339 private:
13585
f0d6f2ff45de Now making correct use of the interface for the IRC Interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13583
diff changeset
340 void handleNicknameChanged (const QString& oldNick, const QString& newNick);
f0d6f2ff45de Now making correct use of the interface for the IRC Interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13583
diff changeset
341 void handleUserJoined (const QString& nick, const QString& channel);
f0d6f2ff45de Now making correct use of the interface for the IRC Interface.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13583
diff changeset
342 void handleUserQuit (const QString& nick, const QString& reason);
13580
64a3a1f23718 Further developed new IRC class.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13579
diff changeset
343 void handleIncomingLine (const QString& line);
13581
3e5a8ef9c76d Completely rewrote IRC client backend to make it platform-independent. Not all functionality has been reimplemented as of yet, though.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13580
diff changeset
344 void sendLine (const QString& line);
13579
6568fccb8940 Updated russian and ukrainian translation files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
345
13599
e67616aca5a6 Refactored IRCServerMessage through rewriting message parsing.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13598
diff changeset
346 QHostAddress m_host;
e67616aca5a6 Refactored IRCServerMessage through rewriting message parsing.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13598
diff changeset
347 int m_port;
e67616aca5a6 Refactored IRCServerMessage through rewriting message parsing.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13598
diff changeset
348 QString m_nickname;
e67616aca5a6 Refactored IRCServerMessage through rewriting message parsing.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13598
diff changeset
349 bool m_connected;
13600
aa4e5bed1750 Automatically changing nick when logging in to server.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13599
diff changeset
350 bool m_loggedIn;
13599
e67616aca5a6 Refactored IRCServerMessage through rewriting message parsing.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13598
diff changeset
351 QTcpSocket m_tcpSocket;
e67616aca5a6 Refactored IRCServerMessage through rewriting message parsing.
Jacob Dawid <jacob.dawid@googlemail.com>
parents: 13598
diff changeset
352 QMap<QString, IRCChannelProxyInterface*> m_channels;
13579
6568fccb8940 Updated russian and ukrainian translation files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
353 };
6568fccb8940 Updated russian and ukrainian translation files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
354
6568fccb8940 Updated russian and ukrainian translation files.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
diff changeset
355 #endif // IRCCLIENTIMPL_H