00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 #ifndef IRC_H
00016 #define IRC_H
00017 
00018 #include <ircglobal.h>
00019 #include <QObject>
00020 
00021 namespace Irc
00022 {
00023     IRC_EXPORT const char* version();
00024 
00025     class IRC_EXPORT Rfc
00026     {
00027         Q_GADGET
00028         Q_ENUMS(Numeric)
00029 
00030     public:
00031         static const char* toString(uint code);
00032 
00033         enum Numeric
00034         {
00035             RPL_WELCOME             = 001,
00036             RPL_YOURHOST                = 002,
00037             RPL_CREATED             = 003,
00038             RPL_MYINFO              = 004,
00039             RPL_BOUNCE              = 005,
00040     
00041             RPL_USERHOST                = 302,
00042             RPL_ISON                = 303,
00043             RPL_AWAY                = 301,
00044             RPL_UNAWAY              = 305,
00045             RPL_NOWAWAY             = 306,
00046     
00047             RPL_WHOISUSER               = 311,
00048             RPL_WHOISSERVER             = 312,
00049             RPL_WHOISOPERATOR       = 313,
00050             RPL_WHOISIDLE               = 317,
00051             RPL_ENDOFWHOIS              = 318,
00052             RPL_WHOISCHANNELS       = 319,
00053             RPL_WHOWASUSER              = 314,
00054             RPL_ENDOFWHOWAS             = 369,
00055     
00056             RPL_LIST                = 322,
00057             RPL_LISTEND             = 323,
00058     
00059             RPL_UNIQOPIS                = 325,
00060             RPL_CHANNELMODEIS       = 324,
00061             RPL_CHANNELURL          = 328,
00062             RPL_CHANNELCREATED      = 329,
00063     
00064             RPL_NOTOPIC             = 331,
00065             RPL_TOPIC               = 332,
00066             RPL_TOPICSET            = 333,
00067     
00068             RPL_INVITING                = 341,
00069             RPL_SUMMONING               = 342,
00070     
00071             RPL_INVITELIST              = 346,
00072             RPL_ENDOFINVITELIST     = 347,
00073     
00074             RPL_EXCEPTLIST              = 348,
00075             RPL_ENDOFEXCEPTLIST     = 349,
00076     
00077             RPL_VERSION             = 351,
00078     
00079             RPL_WHOREPLY                = 352,
00080             RPL_ENDOFWHO                = 315,
00081     
00082             RPL_NAMREPLY                = 353,
00083             RPL_ENDOFNAMES              = 366,
00084     
00085             RPL_LINKS               = 364,
00086             RPL_ENDOFLINKS              = 365,
00087     
00088             RPL_BANLIST             = 367,
00089             RPL_ENDOFBANLIST        = 368,
00090     
00091             RPL_INFO                = 371,
00092             RPL_ENDOFINFO               = 374,
00093     
00094             RPL_MOTDSTART               = 375,
00095             RPL_MOTD                = 372,
00096             RPL_ENDOFMOTD               = 376,
00097     
00098             RPL_YOUREOPER               = 381,
00099             RPL_REHASHING               = 382,
00100             RPL_YOURESERVICE        = 383,
00101     
00102             RPL_TIME                = 391,
00103             RPL_USERSSTART              = 392,
00104     
00105             RPL_USERS               = 393,
00106             RPL_ENDOFUSERS              = 394,
00107             RPL_NOUSERS             = 395,
00108     
00109             RPL_TRACELINK               = 200,
00110             RPL_TRACECONNECTING     = 201,
00111             RPL_TRACEHANDSHAKE      = 202,
00112             RPL_TRACEUNKNOWN        = 203,
00113             RPL_TRACEOPERATOR       = 204,
00114             RPL_TRACEUSER               = 205,
00115             RPL_TRACESERVER             = 206,
00116             RPL_TRACESERVICE        = 207,
00117             RPL_TRACENEWTYPE        = 208,
00118             RPL_TRACECLASS              = 209,
00119             RPL_TRACELOG                = 261,
00120             RPL_TRACEEND                = 262,
00121     
00122             RPL_STATSLINKINFO       = 211,
00123             RPL_STATSCOMMANDS       = 212,
00124             RPL_ENDOFSTATS              = 219,
00125             RPL_STATSUPTIME             = 242,
00126             RPL_STATSOLINE              = 243,
00127     
00128             RPL_UMODEIS             = 221,
00129     
00130             RPL_SERVLIST                = 234,
00131             RPL_SERVLISTEND             = 235,
00132     
00133             RPL_LUSERCLIENT             = 251,
00134             RPL_LUSEROP             = 252,
00135             RPL_LUSERUNKNOWN        = 253,
00136             RPL_LUSERCHANNELS       = 254,
00137             RPL_LUSERME             = 255,
00138     
00139             RPL_ADMINME             = 256,
00140             RPL_ADMINLOC1               = 257,
00141             RPL_ADMINLOC2               = 258,
00142             RPL_ADMINEMAIL              = 259,
00143     
00144             RPL_TRYAGAIN                = 263,
00145     
00146             ERR_NOSUCHNICK              = 401,
00147             ERR_NOSUCHSERVER        = 402,
00148             ERR_NOSUCHCHANNEL       = 403,
00149             ERR_CANNOTSENDTOCHAN    = 404,
00150             ERR_TOOMANYCHANNELS     = 405,
00151             ERR_WASNOSUCHNICK       = 406,
00152             ERR_TOOMANYTARGETS      = 407,
00153             ERR_NOSUCHSERVICE       = 408,
00154             ERR_NOORIGIN            = 409,
00155             ERR_NORECIPIENT             = 411,
00156             ERR_NOTEXTTOSEND        = 412,
00157             ERR_NOTOPLEVEL          = 413,
00158             ERR_WILDTOPLEVEL        = 414,
00159             ERR_BADMASK             = 415,
00160             ERR_UNKNOWNCOMMAND      = 421,
00161             ERR_NOMOTD              = 422,
00162             ERR_NOADMININFO             = 423,
00163             ERR_FILEERROR               = 424,
00164             ERR_NONICKNAMEGIVEN     = 431,
00165             ERR_ERRONEUSNICKNAME    = 432,
00166             ERR_NICKNAMEINUSE       = 433,
00167             ERR_NICKCOLLISION       = 436,
00168             ERR_UNAVAILRESOURCE     = 437,
00169             ERR_USERNOTINCHANNEL    = 441,
00170             ERR_NOTONCHANNEL        = 442,
00171             ERR_USERONCHANNEL       = 443,
00172             ERR_NOLOGIN             = 444,
00173             ERR_SUMMONDISABLED      = 445,
00174             ERR_USERSDISABLED       = 446,
00175             ERR_NOTREGISTERED       = 451,
00176             ERR_NEEDMOREPARAMS      = 461,
00177             ERR_ALREADYREGISTRED    = 462,
00178             ERR_NOPERMFORHOST       = 463,
00179             ERR_PASSWDMISMATCH      = 464,
00180             ERR_YOUREBANNEDCREEP    = 465,
00181             ERR_YOUWILLBEBANNED     = 466,
00182             ERR_KEYSET              = 467,
00183             ERR_CHANNELISFULL       = 471,
00184             ERR_UNKNOWNMODE             = 472,
00185             ERR_INVITEONLYCHAN      = 473,
00186             ERR_BANNEDFROMCHAN      = 474,
00187             ERR_BADCHANNELKEY       = 475,
00188             ERR_BADCHANMASK             = 476,
00189             ERR_NOCHANMODES             = 477,
00190             ERR_BANLISTFULL             = 478,
00191             ERR_NOPRIVILEGES        = 481,
00192             ERR_CHANOPRIVSNEEDED    = 482,
00193             ERR_CANTKILLSERVER      = 483,
00194             ERR_RESTRICTED              = 484,
00195             ERR_UNIQOPPRIVSNEEDED   = 485,
00196             ERR_NOOPERHOST              = 491,
00197             ERR_UMODEUNKNOWNFLAG    = 501,
00198             ERR_USERSDONTMATCH      = 502
00199         };
00200     };
00201 }
00202 
00203 #endif // IRC_H