Communi  1.1.0
A cross-platform IRC client library written with Qt 4
 All Classes Files Functions Enumerations Enumerator Properties Macros Groups Pages
irc.h
Go to the documentation of this file.
1 /*
2 * Copyright (C) 2008-2012 J-P Nurmi <jpnurmi@gmail.com>
3 *
4 * This library is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU Lesser General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
12 * License for more details.
13 */
14 
15 #ifndef IRC_H
16 #define IRC_H
17 
18 #include <IrcGlobal>
19 #include <QtCore/qobject.h>
20 
21 class COMMUNI_EXPORT Irc : public QObject
22 {
23  Q_OBJECT
24  Q_ENUMS(Code Message)
25 
26 public:
27  enum Code
28  {
29  RPL_WELCOME = 1,
30  RPL_YOURHOST = 2,
31  RPL_CREATED = 3,
32  RPL_MYINFO = 4,
33  RPL_ISUPPORT = 5,
34  RPL_SNOMASK = 8,
35  RPL_STATMEMTOT = 9,
36  RPL_BOUNCE = 10,
37  RPL_STATMEM = 10,
38  RPL_YOURCOOKIE = 14,
39  RPL_YOURID = 42,
40  RPL_SAVENICK = 43,
41  RPL_ATTEMPTINGJUNC = 50,
42  RPL_ATTEMPTINGREROUTE = 51,
43  RPL_TRACELINK = 200,
44  RPL_TRACECONNECTING = 201,
45  RPL_TRACEHANDSHAKE = 202,
46  RPL_TRACEUNKNOWN = 203,
47  RPL_TRACEOPERATOR = 204,
48  RPL_TRACEUSER = 205,
49  RPL_TRACESERVER = 206,
50  RPL_TRACESERVICE = 207,
51  RPL_TRACENEWTYPE = 208,
52  RPL_TRACECLASS = 209,
53  RPL_TRACERECONNECT = 210,
54  RPL_STATS = 210,
55  RPL_STATSLINKINFO = 211,
56  RPL_STATSCOMMANDS = 212,
57  RPL_STATSCLINE = 213,
58  RPL_STATSNLINE = 214,
59  RPL_STATSILINE = 215,
60  RPL_STATSKLINE = 216,
61  RPL_STATSQLINE = 217,
62  RPL_STATSYLINE = 218,
63  RPL_ENDOFSTATS = 219,
64  RPL_UMODEIS = 221,
65  RPL_MODLIST = 222,
66  RPL_SQLINE_NICK = 222,
67  RPL_STATSZLINE = 225,
68  RPL_STATSCOUNT = 226,
69  RPL_SERVICEINFO = 231,
70  RPL_ENDOFSERVICES = 232,
71  RPL_SERVICE = 233,
72  RPL_SERVLIST = 234,
73  RPL_SERVLISTEND = 235,
74  RPL_STATSVERBOSE = 236,
75  RPL_STATSENGINE = 237,
76  RPL_STATSIAUTH = 239,
77  RPL_STATSVLINE = 240,
78  RPL_STATSLLINE = 241,
79  RPL_STATSUPTIME = 242,
80  RPL_STATSOLINE = 243,
81  RPL_STATSHLINE = 244,
82  RPL_STATSSLINE = 245,
83  RPL_STATSPING = 246,
84  RPL_STATSBLINE = 247,
85  RPL_STATSDEFINE = 248,
86  RPL_STATSDEBUG = 249,
87  RPL_STATSDLINE = 250,
88  RPL_STATSCONN = 250,
89  RPL_LUSERCLIENT = 251,
90  RPL_LUSEROP = 252,
91  RPL_LUSERUNKNOWN = 253,
92  RPL_LUSERCHANNELS = 254,
93  RPL_LUSERME = 255,
94  RPL_ADMINME = 256,
95  RPL_ADMINLOC1 = 257,
96  RPL_ADMINLOC2 = 258,
97  RPL_ADMINEMAIL = 259,
98  RPL_TRACELOG = 261,
99  RPL_TRACEPING = 262,
100  RPL_TRACEEND = 262,
101  RPL_TRYAGAIN = 263,
102  RPL_LOCALUSERS = 265,
103  RPL_GLOBALUSERS = 266,
104  RPL_START_NETSTAT = 267,
105  RPL_NETSTAT = 268,
106  RPL_END_NETSTAT = 269,
107  RPL_PRIVS = 270,
108  RPL_SILELIST = 271,
109  RPL_ENDOFSILELIST = 272,
110  RPL_NOTIFY = 273,
111  RPL_ENDNOTIFY = 274,
112  RPL_STATSDELTA = 274,
113  RPL_VCHANEXIST = 276,
114  RPL_VCHANLIST = 277,
115  RPL_VCHANHELP = 278,
116  RPL_GLIST = 280,
117  RPL_ENDOFGLIST = 281,
118  RPL_ACCEPTLIST = 281,
119  RPL_ENDOFACCEPT = 282,
120  RPL_JUPELIST = 282,
121  RPL_ENDOFJUPELIST = 283,
122  RPL_FEATURE = 284,
123  RPL_GLIST_HASH = 285,
124  RPL_CHANINFO_HANDLE = 285,
125  RPL_NEWHOSTIS = 285,
126  RPL_CHANINFO_USERS = 286,
127  RPL_CHKHEAD = 286,
128  RPL_CHANINFO_CHOPS = 287,
129  RPL_CHANUSER = 287,
130  RPL_CHANINFO_VOICES = 288,
131  RPL_PATCHHEAD = 288,
132  RPL_CHANINFO_AWAY = 289,
133  RPL_PATCHCON = 289,
134  RPL_CHANINFO_OPERS = 290,
135  RPL_HELPHDR = 290,
136  RPL_DATASTR = 290,
137  RPL_CHANINFO_BANNED = 291,
138  RPL_HELPOP = 291,
139  RPL_ENDOFCHECK = 291,
140  RPL_CHANINFO_BANS = 292,
141  RPL_HELPTLR = 292,
142  RPL_CHANINFO_INVITE = 293,
143  RPL_HELPHLP = 293,
144  RPL_CHANINFO_INVITES = 294,
145  RPL_HELPFWD = 294,
146  RPL_CHANINFO_KICK = 295,
147  RPL_HELPIGN = 295,
148  RPL_CHANINFO_KICKS = 296,
149  RPL_END_CHANINFO = 299,
150  RPL_NONE = 300,
151  RPL_AWAY = 301,
152  RPL_USERHOST = 302,
153  RPL_ISON = 303,
154  RPL_TEXT = 304,
155  RPL_UNAWAY = 305,
156  RPL_NOWAWAY = 306,
157  RPL_WHOISREGNICK = 307,
158  RPL_SUSERHOST = 307,
159  RPL_NOTIFYACTION = 308,
160  RPL_WHOISADMIN = 308,
161  RPL_NICKTRACE = 309,
162  RPL_WHOISSADMIN = 309,
163  RPL_WHOISHELPER = 309,
164  RPL_WHOISSVCMSG = 310,
165  RPL_WHOISHELPOP = 310,
166  RPL_WHOISSERVICE = 310,
167  RPL_WHOISUSER = 311,
168  RPL_WHOISSERVER = 312,
169  RPL_WHOISOPERATOR = 313,
170  RPL_WHOWASUSER = 314,
171  RPL_ENDOFWHO = 315,
172  RPL_WHOISCHANOP = 316,
173  RPL_WHOISIDLE = 317,
174  RPL_ENDOFWHOIS = 318,
175  RPL_WHOISCHANNELS = 319,
176  RPL_WHOISVIRT = 320,
177  RPL_WHOIS_HIDDEN = 320,
178  RPL_WHOISSPECIAL = 320,
179  RPL_LISTSTART = 321,
180  RPL_LIST = 322,
181  RPL_LISTEND = 323,
182  RPL_CHANNELMODEIS = 324,
183  RPL_UNIQOPIS = 325,
184  RPL_CHANNELPASSIS = 325,
185  RPL_NOCHANPASS = 326,
186  RPL_CHPASSUNKNOWN = 327,
187  RPL_CHANNEL_URL = 328,
188  RPL_CREATIONTIME = 329,
189  RPL_WHOWAS_TIME = 330,
190  RPL_WHOISACCOUNT = 330,
191  RPL_NOTOPIC = 331,
192  RPL_TOPIC = 332,
193  RPL_TOPICWHOTIME = 333,
194  RPL_LISTUSAGE = 334,
195  RPL_COMMANDSYNTAX = 334,
196  RPL_LISTSYNTAX = 334,
197  RPL_CHANPASSOK = 338,
198  RPL_WHOISACTUALLY = 338,
199  RPL_BADCHANPASS = 339,
200  RPL_INVITING = 341,
201  RPL_SUMMONING = 342,
202  RPL_INVITED = 345,
203  RPL_INVITELIST = 346,
204  RPL_ENDOFINVITELIST = 347,
205  RPL_EXCEPTLIST = 348,
206  RPL_ENDOFEXCEPTLIST = 349,
207  RPL_VERSION = 351,
208  RPL_WHOREPLY = 352,
209  RPL_NAMREPLY = 353,
210  RPL_WHOSPCRPL = 354,
211  RPL_NAMREPLY_ = 355,
212  RPL_KILLDONE = 361,
213  RPL_CLOSING = 362,
214  RPL_CLOSEEND = 363,
215  RPL_LINKS = 364,
216  RPL_ENDOFLINKS = 365,
217  RPL_ENDOFNAMES = 366,
218  RPL_BANLIST = 367,
219  RPL_ENDOFBANLIST = 368,
220  RPL_ENDOFWHOWAS = 369,
221  RPL_INFO = 371,
222  RPL_MOTD = 372,
223  RPL_INFOSTART = 373,
224  RPL_ENDOFINFO = 374,
225  RPL_MOTDSTART = 375,
226  RPL_ENDOFMOTD = 376,
227  RPL_KICKEXPIRED = 377,
228  RPL_SPAM = 377,
229  RPL_BANEXPIRED = 378,
230  RPL_WHOISHOST = 378,
231  RPL_KICKLINKED = 379,
232  RPL_WHOISMODES = 379,
233  RPL_BANLINKED = 380,
234  RPL_YOURHELPER = 380,
235  RPL_YOUREOPER = 381,
236  RPL_REHASHING = 382,
237  RPL_YOURESERVICE = 383,
238  RPL_MYPORTIS = 384,
239  RPL_NOTOPERANYMORE = 385,
240  RPL_QLIST = 386,
241  RPL_IRCOPS = 386,
242  RPL_ENDOFQLIST = 387,
243  RPL_ENDOFIRCOPS = 387,
244  RPL_ALIST = 388,
245  RPL_ENDOFALIST = 389,
246  RPL_TIME = 391,
247  RPL_USERSSTART = 392,
248  RPL_USERS = 393,
249  RPL_ENDOFUSERS = 394,
250  RPL_NOUSERS = 395,
251  RPL_HOSTHIDDEN = 396,
252  ERR_UNKNOWNERROR = 400,
253  ERR_NOSUCHNICK = 401,
254  ERR_NOSUCHSERVER = 402,
255  ERR_NOSUCHCHANNEL = 403,
256  ERR_CANNOTSENDTOCHAN = 404,
257  ERR_TOOMANYCHANNELS = 405,
258  ERR_WASNOSUCHNICK = 406,
259  ERR_TOOMANYTARGETS = 407,
260  ERR_NOSUCHSERVICE = 408,
261  ERR_NOCOLORSONCHAN = 408,
262  ERR_NOORIGIN = 409,
263  ERR_NORECIPIENT = 411,
264  ERR_NOTEXTTOSEND = 412,
265  ERR_NOTOPLEVEL = 413,
266  ERR_WILDTOPLEVEL = 414,
267  ERR_BADMASK = 415,
268  ERR_TOOMANYMATCHES = 416,
269  ERR_QUERYTOOLONG = 416,
270  ERR_LENGTHTRUNCATED = 419,
271  ERR_UNKNOWNCOMMAND = 421,
272  ERR_NOMOTD = 422,
273  ERR_NOADMININFO = 423,
274  ERR_FILEERROR = 424,
275  ERR_NOOPERMOTD = 425,
276  ERR_TOOMANYAWAY = 429,
277  ERR_EVENTNICKCHANGE = 430,
278  ERR_NONICKNAMEGIVEN = 431,
279  ERR_ERRONEUSNICKNAME = 432,
280  ERR_NICKNAMEINUSE = 433,
281  ERR_SERVICENAMEINUSE = 434,
282  ERR_NORULES = 434,
283  ERR_SERVICECONFUSED = 435,
284  ERR_BANONCHAN = 435,
285  ERR_NICKCOLLISION = 436,
286  ERR_UNAVAILRESOURCE = 437,
287  ERR_BANNICKCHANGE = 437,
288  ERR_NICKTOOFAST = 438,
289  ERR_DEAD = 438,
290  ERR_TARGETTOOFAST = 439,
291  ERR_SERVICESDOWN = 440,
292  ERR_USERNOTINCHANNEL = 441,
293  ERR_NOTONCHANNEL = 442,
294  ERR_USERONCHANNEL = 443,
295  ERR_NOLOGIN = 444,
296  ERR_SUMMONDISABLED = 445,
297  ERR_USERSDISABLED = 446,
298  ERR_NONICKCHANGE = 447,
299  ERR_NOTIMPLEMENTED = 449,
300  ERR_NOTREGISTERED = 451,
301  ERR_IDCOLLISION = 452,
302  ERR_NICKLOST = 453,
303  ERR_HOSTILENAME = 455,
304  ERR_ACCEPTFULL = 456,
305  ERR_ACCEPTEXIST = 457,
306  ERR_ACCEPTNOT = 458,
307  ERR_NOHIDING = 459,
308  ERR_NOTFORHALFOPS = 460,
309  ERR_NEEDMOREPARAMS = 461,
310  ERR_ALREADYREGISTERED = 462,
311  ERR_NOPERMFORHOST = 463,
312  ERR_PASSWDMISMATCH = 464,
313  ERR_YOUREBANNEDCREEP = 465,
314  ERR_YOUWILLBEBANNED = 466,
315  ERR_KEYSET = 467,
316  ERR_INVALIDUSERNAME = 468,
317  ERR_ONLYSERVERSCANCHANGE = 468,
318  ERR_LINKSET = 469,
319  ERR_LINKCHANNEL = 470,
320  ERR_KICKEDFROMCHAN = 470,
321  ERR_CHANNELISFULL = 471,
322  ERR_UNKNOWNMODE = 472,
323  ERR_INVITEONLYCHAN = 473,
324  ERR_BANNEDFROMCHAN = 474,
325  ERR_BADCHANNELKEY = 475,
326  ERR_BADCHANMASK = 476,
327  ERR_NOCHANMODES = 477,
328  ERR_NEEDREGGEDNICK = 477,
329  ERR_BANLISTFULL = 478,
330  ERR_BADCHANNAME = 479,
331  ERR_LINKFAIL = 479,
332  ERR_NOULINE = 480,
333  ERR_CANNOTKNOCK = 480,
334  ERR_NOPRIVILEGES = 481,
335  ERR_CHANOPRIVSNEEDED = 482,
336  ERR_CANTKILLSERVER = 483,
337  ERR_RESTRICTED = 484,
338  ERR_ISCHANSERVICE = 484,
339  ERR_DESYNC = 484,
340  ERR_ATTACKDENY = 484,
341  ERR_UNIQOPRIVSNEEDED = 485,
342  ERR_KILLDENY = 485,
343  ERR_CANTKICKADMIN = 485,
344  ERR_ISREALSERVICE = 485,
345  ERR_NONONREG = 486,
346  ERR_HTMDISABLED = 486,
347  ERR_ACCOUNTONLY = 486,
348  ERR_CHANTOORECENT = 487,
349  ERR_MSGSERVICES = 487,
350  ERR_TSLESSCHAN = 488,
351  ERR_VOICENEEDED = 489,
352  ERR_SECUREONLYCHAN = 489,
353  ERR_NOOPERHOST = 491,
354  ERR_NOSERVICEHOST = 492,
355  ERR_NOFEATURE = 493,
356  ERR_BADFEATURE = 494,
357  ERR_BADLOGTYPE = 495,
358  ERR_BADLOGSYS = 496,
359  ERR_BADLOGVALUE = 497,
360  ERR_ISOPERLCHAN = 498,
361  ERR_CHANOWNPRIVNEEDED = 499,
362  ERR_UMODEUNKNOWNFLAG = 501,
363  ERR_USERSDONTMATCH = 502,
364  ERR_GHOSTEDCLIENT = 503,
365  ERR_VWORLDWARN = 503,
366  ERR_USERNOTONSERV = 504,
367  ERR_SILELISTFULL = 511,
368  ERR_TOOMANYWATCH = 512,
369  ERR_BADPING = 513,
370  ERR_INVALID_ERROR = 514,
371  ERR_TOOMANYDCC = 514,
372  ERR_BADEXPIRE = 515,
373  ERR_DONTCHEAT = 516,
374  ERR_DISABLED = 517,
375  ERR_NOINVITE = 518,
376  ERR_LONGMASK = 518,
377  ERR_ADMONLY = 519,
378  ERR_TOOMANYUSERS = 519,
379  ERR_OPERONLY = 520,
380  ERR_MASKTOOWIDE = 520,
381  ERR_WHOTRUNC = 520,
382  ERR_LISTSYNTAX = 521,
383  ERR_WHOSYNTAX = 522,
384  ERR_WHOLIMEXCEED = 523,
385  ERR_QUARANTINED = 524,
386  ERR_OPERSPVERIFY = 524,
387  ERR_REMOTEPFX = 525,
388  ERR_PFXUNROUTABLE = 526,
389  ERR_BADHOSTMASK = 550,
390  ERR_HOSTUNAVAIL = 551,
391  ERR_USINGSLINE = 552,
392  ERR_STATSSLINE = 553,
393  RPL_LOGON = 600,
394  RPL_LOGOFF = 601,
395  RPL_WATCHOFF = 602,
396  RPL_WATCHSTAT = 603,
397  RPL_NOWON = 604,
398  RPL_NOWOFF = 605,
399  RPL_WATCHLIST = 606,
400  RPL_ENDOFWATCHLIST = 607,
401  RPL_WATCHCLEAR = 608,
402  RPL_ISOPER = 610,
403  RPL_ISLOCOP = 611,
404  RPL_ISNOTOPER = 612,
405  RPL_ENDOFISOPER = 613,
406  RPL_DCCSTATUS = 617,
407  RPL_DCCLIST = 618,
408  RPL_ENDOFDCCLIST = 619,
409  RPL_WHOWASHOST = 619,
410  RPL_DCCINFO = 620,
411  RPL_ENDOFO = 626,
412  RPL_SETTINGS = 630,
413  RPL_ENDOFSETTINGS = 631,
414  RPL_DUMPING = 640,
415  RPL_DUMPRPL = 641,
416  RPL_EODUMP = 642,
417  RPL_TRACEROUTE_HOP = 660,
418  RPL_TRACEROUTE_START = 661,
419  RPL_MODECHANGEWARN = 662,
420  RPL_CHANREDIR = 663,
421  RPL_SERVMODEIS = 664,
422  RPL_OTHERUMODEIS = 665,
423  RPL_ENDOF_GENERIC = 666,
424  RPL_WHOWASDETAILS = 670,
425  RPL_WHOISSECURE = 671,
426  RPL_UNKNOWNMODES = 672,
427  RPL_CANNOTSETMODES = 673,
428  RPL_LUSERSTAFF = 678,
429  RPL_TIMEONSERVERIS = 679,
430  RPL_NETWORKS = 682,
431  RPL_YOURLANGUAGEIS = 687,
432  RPL_LANGUAGE = 688,
433  RPL_WHOISSTAFF = 689,
434  RPL_WHOISLANGUAGE = 690,
435  RPL_HELPSTART = 704,
436  RPL_HELPTXT = 705,
437  RPL_ENDOFHELP = 706,
438  RPL_ETRACEFULL = 708,
439  RPL_ETRACE = 709,
440  RPL_KNOCK = 710,
441  RPL_KNOCKDLVR = 711,
442  ERR_TOOMANYKNOCK = 712,
443  ERR_CHANOPEN = 713,
444  ERR_KNOCKONCHAN = 714,
445  ERR_KNOCKDISABLED = 715,
446  RPL_TARGUMODEG = 716,
447  RPL_TARGNOTIFY = 717,
448  RPL_UMODEGMSG = 718,
449  RPL_ENDOFOMOTD = 722,
450  ERR_NOPRIVS = 723,
451  RPL_TESTMARK = 724,
452  RPL_TESTLINE = 725,
453  RPL_NOTESTLINE = 726,
454  RPL_XINFO = 771,
455  RPL_XINFOSTART = 773,
456  RPL_XINFOEND = 774,
457  ERR_CANNOTDOCOMMAND = 972,
458  ERR_CANNOTCHANGEUMODE = 973,
459  ERR_CANNOTCHANGECHANMODE = 974,
460  ERR_CANNOTCHANGESERVERMODE = 975,
461  ERR_CANNOTSENDTONICK = 976,
462  ERR_UNKNOWNSERVERMODE = 977,
463  ERR_SERVERMODELOCK = 979,
464  ERR_BADCHARENCODING = 980,
465  ERR_TOOMANYLANGUAGES = 981,
466  ERR_NOLANGUAGE = 982,
467  ERR_TEXTTOOSHORT = 983,
468  ERR_NUMERIC_ERR = 999
469  };
470 
471  Q_INVOKABLE static const char* version();
472  Q_INVOKABLE static const char* toString(int code);
473 };
474 
475 #endif // IRC_H