Communi 1.0.0
A cross-platform IRC client library written with Qt 4
include/irc.h
Go to the documentation of this file.
00001 /*
00002 * Copyright (C) 2008-2011 J-P Nurmi <jpnurmi@gmail.com>
00003 *
00004 * This library is free software; you can redistribute it and/or modify it
00005 * under the terms of the GNU Lesser General Public License as published by
00006 * the Free Software Foundation; either version 2 of the License, or (at your
00007 * option) any later version.
00008 *
00009 * This library is distributed in the hope that it will be useful, but WITHOUT
00010 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00011 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
00012 * License for more details.
00013 */
00014 
00015 #ifndef IRC_H
00016 #define IRC_H
00017 
00018 #include <IrcGlobal>
00019 #include <QtCore/qobject.h>
00020 
00021 class COMMUNI_EXPORT Irc : public QObject
00022 {
00023     Q_OBJECT
00024     Q_ENUMS(Code Message)
00025 
00026 public:
00027     enum Code
00028     {
00029         RPL_WELCOME = 1,
00030         RPL_YOURHOST = 2,
00031         RPL_CREATED = 3,
00032         RPL_MYINFO = 4,
00033         RPL_ISUPPORT = 5,
00034         RPL_SNOMASK = 8,
00035         RPL_STATMEMTOT = 9,
00036         RPL_BOUNCE = 10,
00037         RPL_STATMEM = 10,
00038         RPL_YOURCOOKIE = 14,
00039         RPL_YOURID = 42,
00040         RPL_SAVENICK = 43,
00041         RPL_ATTEMPTINGJUNC = 50,
00042         RPL_ATTEMPTINGREROUTE = 51,
00043         RPL_TRACELINK = 200,
00044         RPL_TRACECONNECTING = 201,
00045         RPL_TRACEHANDSHAKE = 202,
00046         RPL_TRACEUNKNOWN = 203,
00047         RPL_TRACEOPERATOR = 204,
00048         RPL_TRACEUSER = 205,
00049         RPL_TRACESERVER = 206,
00050         RPL_TRACESERVICE = 207,
00051         RPL_TRACENEWTYPE = 208,
00052         RPL_TRACECLASS = 209,
00053         RPL_TRACERECONNECT = 210,
00054         RPL_STATS = 210,
00055         RPL_STATSLINKINFO = 211,
00056         RPL_STATSCOMMANDS = 212,
00057         RPL_STATSCLINE = 213,
00058         RPL_STATSNLINE = 214,
00059         RPL_STATSILINE = 215,
00060         RPL_STATSKLINE = 216,
00061         RPL_STATSQLINE = 217,
00062         RPL_STATSYLINE = 218,
00063         RPL_ENDOFSTATS = 219,
00064         RPL_UMODEIS = 221,
00065         RPL_MODLIST = 222,
00066         RPL_SQLINE_NICK = 222,
00067         RPL_STATSZLINE = 225,
00068         RPL_STATSCOUNT = 226,
00069         RPL_SERVICEINFO = 231,
00070         RPL_ENDOFSERVICES = 232,
00071         RPL_SERVICE = 233,
00072         RPL_SERVLIST = 234,
00073         RPL_SERVLISTEND = 235,
00074         RPL_STATSVERBOSE = 236,
00075         RPL_STATSENGINE = 237,
00076         RPL_STATSIAUTH = 239,
00077         RPL_STATSVLINE = 240,
00078         RPL_STATSLLINE = 241,
00079         RPL_STATSUPTIME = 242,
00080         RPL_STATSOLINE = 243,
00081         RPL_STATSHLINE = 244,
00082         RPL_STATSSLINE = 245,
00083         RPL_STATSPING = 246,
00084         RPL_STATSBLINE = 247,
00085         RPL_STATSDEFINE = 248,
00086         RPL_STATSDEBUG = 249,
00087         RPL_STATSDLINE = 250,
00088         RPL_STATSCONN = 250,
00089         RPL_LUSERCLIENT = 251,
00090         RPL_LUSEROP = 252,
00091         RPL_LUSERUNKNOWN = 253,
00092         RPL_LUSERCHANNELS = 254,
00093         RPL_LUSERME = 255,
00094         RPL_ADMINME = 256,
00095         RPL_ADMINLOC1 = 257,
00096         RPL_ADMINLOC2 = 258,
00097         RPL_ADMINEMAIL = 259,
00098         RPL_TRACELOG = 261,
00099         RPL_TRACEPING = 262,
00100         RPL_TRACEEND = 262,
00101         RPL_TRYAGAIN = 263,
00102         RPL_LOCALUSERS = 265,
00103         RPL_GLOBALUSERS = 266,
00104         RPL_START_NETSTAT = 267,
00105         RPL_NETSTAT = 268,
00106         RPL_END_NETSTAT = 269,
00107         RPL_PRIVS = 270,
00108         RPL_SILELIST = 271,
00109         RPL_ENDOFSILELIST = 272,
00110         RPL_NOTIFY = 273,
00111         RPL_ENDNOTIFY = 274,
00112         RPL_STATSDELTA = 274,
00113         RPL_VCHANEXIST = 276,
00114         RPL_VCHANLIST = 277,
00115         RPL_VCHANHELP = 278,
00116         RPL_GLIST = 280,
00117         RPL_ENDOFGLIST = 281,
00118         RPL_ACCEPTLIST = 281,
00119         RPL_ENDOFACCEPT = 282,
00120         RPL_JUPELIST = 282,
00121         RPL_ENDOFJUPELIST = 283,
00122         RPL_FEATURE = 284,
00123         RPL_GLIST_HASH = 285,
00124         RPL_CHANINFO_HANDLE = 285,
00125         RPL_NEWHOSTIS = 285,
00126         RPL_CHANINFO_USERS = 286,
00127         RPL_CHKHEAD = 286,
00128         RPL_CHANINFO_CHOPS = 287,
00129         RPL_CHANUSER = 287,
00130         RPL_CHANINFO_VOICES = 288,
00131         RPL_PATCHHEAD = 288,
00132         RPL_CHANINFO_AWAY = 289,
00133         RPL_PATCHCON = 289,
00134         RPL_CHANINFO_OPERS = 290,
00135         RPL_HELPHDR = 290,
00136         RPL_DATASTR = 290,
00137         RPL_CHANINFO_BANNED = 291,
00138         RPL_HELPOP = 291,
00139         RPL_ENDOFCHECK = 291,
00140         RPL_CHANINFO_BANS = 292,
00141         RPL_HELPTLR = 292,
00142         RPL_CHANINFO_INVITE = 293,
00143         RPL_HELPHLP = 293,
00144         RPL_CHANINFO_INVITES = 294,
00145         RPL_HELPFWD = 294,
00146         RPL_CHANINFO_KICK = 295,
00147         RPL_HELPIGN = 295,
00148         RPL_CHANINFO_KICKS = 296,
00149         RPL_END_CHANINFO = 299,
00150         RPL_NONE = 300,
00151         RPL_AWAY = 301,
00152         RPL_USERHOST = 302,
00153         RPL_ISON = 303,
00154         RPL_TEXT = 304,
00155         RPL_UNAWAY = 305,
00156         RPL_NOWAWAY = 306,
00157         RPL_WHOISREGNICK = 307,
00158         RPL_SUSERHOST = 307,
00159         RPL_NOTIFYACTION = 308,
00160         RPL_WHOISADMIN = 308,
00161         RPL_NICKTRACE = 309,
00162         RPL_WHOISSADMIN = 309,
00163         RPL_WHOISHELPER = 309,
00164         RPL_WHOISSVCMSG = 310,
00165         RPL_WHOISHELPOP = 310,
00166         RPL_WHOISSERVICE = 310,
00167         RPL_WHOISUSER = 311,
00168         RPL_WHOISSERVER = 312,
00169         RPL_WHOISOPERATOR = 313,
00170         RPL_WHOWASUSER = 314,
00171         RPL_ENDOFWHO = 315,
00172         RPL_WHOISCHANOP = 316,
00173         RPL_WHOISIDLE = 317,
00174         RPL_ENDOFWHOIS = 318,
00175         RPL_WHOISCHANNELS = 319,
00176         RPL_WHOISVIRT = 320,
00177         RPL_WHOIS_HIDDEN = 320,
00178         RPL_WHOISSPECIAL = 320,
00179         RPL_LISTSTART = 321,
00180         RPL_LIST = 322,
00181         RPL_LISTEND = 323,
00182         RPL_CHANNELMODEIS = 324,
00183         RPL_UNIQOPIS = 325,
00184         RPL_CHANNELPASSIS = 325,
00185         RPL_NOCHANPASS = 326,
00186         RPL_CHPASSUNKNOWN = 327,
00187         RPL_CHANNEL_URL = 328,
00188         RPL_CREATIONTIME = 329,
00189         RPL_WHOWAS_TIME = 330,
00190         RPL_WHOISACCOUNT = 330,
00191         RPL_NOTOPIC = 331,
00192         RPL_TOPIC = 332,
00193         RPL_TOPICWHOTIME = 333,
00194         RPL_LISTUSAGE = 334,
00195         RPL_COMMANDSYNTAX = 334,
00196         RPL_LISTSYNTAX = 334,
00197         RPL_CHANPASSOK = 338,
00198         RPL_WHOISACTUALLY = 338,
00199         RPL_BADCHANPASS = 339,
00200         RPL_INVITING = 341,
00201         RPL_SUMMONING = 342,
00202         RPL_INVITED = 345,
00203         RPL_INVITELIST = 346,
00204         RPL_ENDOFINVITELIST = 347,
00205         RPL_EXCEPTLIST = 348,
00206         RPL_ENDOFEXCEPTLIST = 349,
00207         RPL_VERSION = 351,
00208         RPL_WHOREPLY = 352,
00209         RPL_NAMREPLY = 353,
00210         RPL_WHOSPCRPL = 354,
00211         RPL_NAMREPLY_ = 355,
00212         RPL_KILLDONE = 361,
00213         RPL_CLOSING = 362,
00214         RPL_CLOSEEND = 363,
00215         RPL_LINKS = 364,
00216         RPL_ENDOFLINKS = 365,
00217         RPL_ENDOFNAMES = 366,
00218         RPL_BANLIST = 367,
00219         RPL_ENDOFBANLIST = 368,
00220         RPL_ENDOFWHOWAS = 369,
00221         RPL_INFO = 371,
00222         RPL_MOTD = 372,
00223         RPL_INFOSTART = 373,
00224         RPL_ENDOFINFO = 374,
00225         RPL_MOTDSTART = 375,
00226         RPL_ENDOFMOTD = 376,
00227         RPL_KICKEXPIRED = 377,
00228         RPL_SPAM = 377,
00229         RPL_BANEXPIRED = 378,
00230         RPL_WHOISHOST = 378,
00231         RPL_KICKLINKED = 379,
00232         RPL_WHOISMODES = 379,
00233         RPL_BANLINKED = 380,
00234         RPL_YOURHELPER = 380,
00235         RPL_YOUREOPER = 381,
00236         RPL_REHASHING = 382,
00237         RPL_YOURESERVICE = 383,
00238         RPL_MYPORTIS = 384,
00239         RPL_NOTOPERANYMORE = 385,
00240         RPL_QLIST = 386,
00241         RPL_IRCOPS = 386,
00242         RPL_ENDOFQLIST = 387,
00243         RPL_ENDOFIRCOPS = 387,
00244         RPL_ALIST = 388,
00245         RPL_ENDOFALIST = 389,
00246         RPL_TIME = 391,
00247         RPL_USERSSTART = 392,
00248         RPL_USERS = 393,
00249         RPL_ENDOFUSERS = 394,
00250         RPL_NOUSERS = 395,
00251         RPL_HOSTHIDDEN = 396,
00252         ERR_UNKNOWNERROR = 400,
00253         ERR_NOSUCHNICK = 401,
00254         ERR_NOSUCHSERVER = 402,
00255         ERR_NOSUCHCHANNEL = 403,
00256         ERR_CANNOTSENDTOCHAN = 404,
00257         ERR_TOOMANYCHANNELS = 405,
00258         ERR_WASNOSUCHNICK = 406,
00259         ERR_TOOMANYTARGETS = 407,
00260         ERR_NOSUCHSERVICE = 408,
00261         ERR_NOCOLORSONCHAN = 408,
00262         ERR_NOORIGIN = 409,
00263         ERR_NORECIPIENT = 411,
00264         ERR_NOTEXTTOSEND = 412,
00265         ERR_NOTOPLEVEL = 413,
00266         ERR_WILDTOPLEVEL = 414,
00267         ERR_BADMASK = 415,
00268         ERR_TOOMANYMATCHES = 416,
00269         ERR_QUERYTOOLONG = 416,
00270         ERR_LENGTHTRUNCATED = 419,
00271         ERR_UNKNOWNCOMMAND = 421,
00272         ERR_NOMOTD = 422,
00273         ERR_NOADMININFO = 423,
00274         ERR_FILEERROR = 424,
00275         ERR_NOOPERMOTD = 425,
00276         ERR_TOOMANYAWAY = 429,
00277         ERR_EVENTNICKCHANGE = 430,
00278         ERR_NONICKNAMEGIVEN = 431,
00279         ERR_ERRONEUSNICKNAME = 432,
00280         ERR_NICKNAMEINUSE = 433,
00281         ERR_SERVICENAMEINUSE = 434,
00282         ERR_NORULES = 434,
00283         ERR_SERVICECONFUSED = 435,
00284         ERR_BANONCHAN = 435,
00285         ERR_NICKCOLLISION = 436,
00286         ERR_UNAVAILRESOURCE = 437,
00287         ERR_BANNICKCHANGE = 437,
00288         ERR_NICKTOOFAST = 438,
00289         ERR_DEAD = 438,
00290         ERR_TARGETTOOFAST = 439,
00291         ERR_SERVICESDOWN = 440,
00292         ERR_USERNOTINCHANNEL = 441,
00293         ERR_NOTONCHANNEL = 442,
00294         ERR_USERONCHANNEL = 443,
00295         ERR_NOLOGIN = 444,
00296         ERR_SUMMONDISABLED = 445,
00297         ERR_USERSDISABLED = 446,
00298         ERR_NONICKCHANGE = 447,
00299         ERR_NOTIMPLEMENTED = 449,
00300         ERR_NOTREGISTERED = 451,
00301         ERR_IDCOLLISION = 452,
00302         ERR_NICKLOST = 453,
00303         ERR_HOSTILENAME = 455,
00304         ERR_ACCEPTFULL = 456,
00305         ERR_ACCEPTEXIST = 457,
00306         ERR_ACCEPTNOT = 458,
00307         ERR_NOHIDING = 459,
00308         ERR_NOTFORHALFOPS = 460,
00309         ERR_NEEDMOREPARAMS = 461,
00310         ERR_ALREADYREGISTERED = 462,
00311         ERR_NOPERMFORHOST = 463,
00312         ERR_PASSWDMISMATCH = 464,
00313         ERR_YOUREBANNEDCREEP = 465,
00314         ERR_YOUWILLBEBANNED = 466,
00315         ERR_KEYSET = 467,
00316         ERR_INVALIDUSERNAME = 468,
00317         ERR_ONLYSERVERSCANCHANGE = 468,
00318         ERR_LINKSET = 469,
00319         ERR_LINKCHANNEL = 470,
00320         ERR_KICKEDFROMCHAN = 470,
00321         ERR_CHANNELISFULL = 471,
00322         ERR_UNKNOWNMODE = 472,
00323         ERR_INVITEONLYCHAN = 473,
00324         ERR_BANNEDFROMCHAN = 474,
00325         ERR_BADCHANNELKEY = 475,
00326         ERR_BADCHANMASK = 476,
00327         ERR_NOCHANMODES = 477,
00328         ERR_NEEDREGGEDNICK = 477,
00329         ERR_BANLISTFULL = 478,
00330         ERR_BADCHANNAME = 479,
00331         ERR_LINKFAIL = 479,
00332         ERR_NOULINE = 480,
00333         ERR_CANNOTKNOCK = 480,
00334         ERR_NOPRIVILEGES = 481,
00335         ERR_CHANOPRIVSNEEDED = 482,
00336         ERR_CANTKILLSERVER = 483,
00337         ERR_RESTRICTED = 484,
00338         ERR_ISCHANSERVICE = 484,
00339         ERR_DESYNC = 484,
00340         ERR_ATTACKDENY = 484,
00341         ERR_UNIQOPRIVSNEEDED = 485,
00342         ERR_KILLDENY = 485,
00343         ERR_CANTKICKADMIN = 485,
00344         ERR_ISREALSERVICE = 485,
00345         ERR_NONONREG = 486,
00346         ERR_HTMDISABLED = 486,
00347         ERR_ACCOUNTONLY = 486,
00348         ERR_CHANTOORECENT = 487,
00349         ERR_MSGSERVICES = 487,
00350         ERR_TSLESSCHAN = 488,
00351         ERR_VOICENEEDED = 489,
00352         ERR_SECUREONLYCHAN = 489,
00353         ERR_NOOPERHOST = 491,
00354         ERR_NOSERVICEHOST = 492,
00355         ERR_NOFEATURE = 493,
00356         ERR_BADFEATURE = 494,
00357         ERR_BADLOGTYPE = 495,
00358         ERR_BADLOGSYS = 496,
00359         ERR_BADLOGVALUE = 497,
00360         ERR_ISOPERLCHAN = 498,
00361         ERR_CHANOWNPRIVNEEDED = 499,
00362         ERR_UMODEUNKNOWNFLAG = 501,
00363         ERR_USERSDONTMATCH = 502,
00364         ERR_GHOSTEDCLIENT = 503,
00365         ERR_VWORLDWARN = 503,
00366         ERR_USERNOTONSERV = 504,
00367         ERR_SILELISTFULL = 511,
00368         ERR_TOOMANYWATCH = 512,
00369         ERR_BADPING = 513,
00370         ERR_INVALID_ERROR = 514,
00371         ERR_TOOMANYDCC = 514,
00372         ERR_BADEXPIRE = 515,
00373         ERR_DONTCHEAT = 516,
00374         ERR_DISABLED = 517,
00375         ERR_NOINVITE = 518,
00376         ERR_LONGMASK = 518,
00377         ERR_ADMONLY = 519,
00378         ERR_TOOMANYUSERS = 519,
00379         ERR_OPERONLY = 520,
00380         ERR_MASKTOOWIDE = 520,
00381         ERR_WHOTRUNC = 520,
00382         ERR_LISTSYNTAX = 521,
00383         ERR_WHOSYNTAX = 522,
00384         ERR_WHOLIMEXCEED = 523,
00385         ERR_QUARANTINED = 524,
00386         ERR_OPERSPVERIFY = 524,
00387         ERR_REMOTEPFX = 525,
00388         ERR_PFXUNROUTABLE = 526,
00389         ERR_BADHOSTMASK = 550,
00390         ERR_HOSTUNAVAIL = 551,
00391         ERR_USINGSLINE = 552,
00392         ERR_STATSSLINE = 553,
00393         RPL_LOGON = 600,
00394         RPL_LOGOFF = 601,
00395         RPL_WATCHOFF = 602,
00396         RPL_WATCHSTAT = 603,
00397         RPL_NOWON = 604,
00398         RPL_NOWOFF = 605,
00399         RPL_WATCHLIST = 606,
00400         RPL_ENDOFWATCHLIST = 607,
00401         RPL_WATCHCLEAR = 608,
00402         RPL_ISOPER = 610,
00403         RPL_ISLOCOP = 611,
00404         RPL_ISNOTOPER = 612,
00405         RPL_ENDOFISOPER = 613,
00406         RPL_DCCSTATUS = 617,
00407         RPL_DCCLIST = 618,
00408         RPL_ENDOFDCCLIST = 619,
00409         RPL_WHOWASHOST = 619,
00410         RPL_DCCINFO = 620,
00411         RPL_ENDOFO = 626,
00412         RPL_SETTINGS = 630,
00413         RPL_ENDOFSETTINGS = 631,
00414         RPL_DUMPING = 640,
00415         RPL_DUMPRPL = 641,
00416         RPL_EODUMP = 642,
00417         RPL_TRACEROUTE_HOP = 660,
00418         RPL_TRACEROUTE_START = 661,
00419         RPL_MODECHANGEWARN = 662,
00420         RPL_CHANREDIR = 663,
00421         RPL_SERVMODEIS = 664,
00422         RPL_OTHERUMODEIS = 665,
00423         RPL_ENDOF_GENERIC = 666,
00424         RPL_WHOWASDETAILS = 670,
00425         RPL_WHOISSECURE = 671,
00426         RPL_UNKNOWNMODES = 672,
00427         RPL_CANNOTSETMODES = 673,
00428         RPL_LUSERSTAFF = 678,
00429         RPL_TIMEONSERVERIS = 679,
00430         RPL_NETWORKS = 682,
00431         RPL_YOURLANGUAGEIS = 687,
00432         RPL_LANGUAGE = 688,
00433         RPL_WHOISSTAFF = 689,
00434         RPL_WHOISLANGUAGE = 690,
00435         RPL_HELPSTART = 704,
00436         RPL_HELPTXT = 705,
00437         RPL_ENDOFHELP = 706,
00438         RPL_ETRACEFULL = 708,
00439         RPL_ETRACE = 709,
00440         RPL_KNOCK = 710,
00441         RPL_KNOCKDLVR = 711,
00442         ERR_TOOMANYKNOCK = 712,
00443         ERR_CHANOPEN = 713,
00444         ERR_KNOCKONCHAN = 714,
00445         ERR_KNOCKDISABLED = 715,
00446         RPL_TARGUMODEG = 716,
00447         RPL_TARGNOTIFY = 717,
00448         RPL_UMODEGMSG = 718,
00449         RPL_ENDOFOMOTD = 722,
00450         ERR_NOPRIVS = 723,
00451         RPL_TESTMARK = 724,
00452         RPL_TESTLINE = 725,
00453         RPL_NOTESTLINE = 726,
00454         RPL_XINFO = 771,
00455         RPL_XINFOSTART = 773,
00456         RPL_XINFOEND = 774,
00457         ERR_CANNOTDOCOMMAND = 972,
00458         ERR_CANNOTCHANGEUMODE = 973,
00459         ERR_CANNOTCHANGECHANMODE = 974,
00460         ERR_CANNOTCHANGESERVERMODE = 975,
00461         ERR_CANNOTSENDTONICK = 976,
00462         ERR_UNKNOWNSERVERMODE = 977,
00463         ERR_SERVERMODELOCK = 979,
00464         ERR_BADCHARENCODING = 980,
00465         ERR_TOOMANYLANGUAGES = 981,
00466         ERR_NOLANGUAGE = 982,
00467         ERR_TEXTTOOSHORT = 983,
00468         ERR_NUMERIC_ERR = 999
00469     };
00470 
00471     Q_INVOKABLE static const char* version();
00472     Q_INVOKABLE static const char* toString(int code);
00473 };
00474 
00475 #endif // IRC_H
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Defines