From 6ea95526bc3bc4e9589fa8378f73bc6eaee5a483 Mon Sep 17 00:00:00 2001 From: Till Hoeppner Date: Tue, 21 Apr 2015 10:45:11 +0200 Subject: Move code generation code and sources to 'tool' --- src/command.rs | 228 ++++++++++++--------------------------------------------- 1 file changed, 45 insertions(+), 183 deletions(-) (limited to 'src') diff --git a/src/command.rs b/src/command.rs index e7f5640..707196b 100644 --- a/src/command.rs +++ b/src/command.rs @@ -1573,196 +1573,58 @@ pub enum Command<'a> { USERHOST(Vec<&'a str>), } -/*impl<'a> Command<'a> { +impl<'a> Command<'a> { pub fn to_name(&self) -> &'static str { use self::Command::*; match self { - &PASS => "PING", + &PASS => "PASS", &NICK => "NICK", &USER => "USER", - &OPER => "1004", - &MODE => "1005", - &SERVICE => "1006", - &QUIT => "1007", - &SQUIT => "1008", - &JOIN => "1009", - &PART => "1010", - &TOPIC => "1011", - &NAMES => "1012", - &LIST => "1013", - &INVITE => "1014", - &KICK => "1015", - &PRIVMSG => "1016", - &NOTICE => "1017", - &MOTD => "1018", - &LUSERS => "1019", - &VERSION => "1020", - &STATS => "1021", - &LINKS => "1022", - &TIME => "1023", - &CONNECT => "1024", - &TRACE => "1025", - &ADMIN => "1026", - &INFO => "1027", - &SERVLIST => "1028", - &SQUERY => "1029", - &WHO => "1030", - &WHOIS => "1031", - &WHOWAS => "1032", - &KILL => "1033", - &PING => "1034", - &PONG => "1035", - &ERROR => "1036", - &AWAY => "1037", - &REHASH => "1038", - &DIE => "1039", - &RESTART => "1040", - &SUMMON => "1041", - &USERS => "1042", - &WALLOPS => "1043", - &USERHOST => "1044", - &ISON => "1045", -/* - RPL_WELCOME => "001", - RPL_YOURHOST => "002", - RPL_CREATED => "003", - RPL_MYINFO => "004", - RPL_BOUNCE => "005", - RPL_USERHOST => "302", - RPL_ISON => "303", - RPL_AWAY => "301", - RPL_UNAWAY => "305", - RPL_NOWAWAY => "306", - RPL_WHOISUSER => "311", - RPL_WHOISSERVER => "312", - RPL_WHOISOPERATOR => "313", - RPL_WHOISIDLE => "317", - RPL_ENDOFWHOIS => "318", - RPL_WHOISCHANNELS => "319", - RPL_WHOWASUSER => "314", - RPL_ENDOFWHOWAS => "369", - RPL_LISTSTART => "321", - RPL_LIST => "322", - RPL_LISTEND => "323", - RPL_UNIQOPIS => "325", - RPL_CHANNELMODEIS => "324", - RPL_NOTOPIC => "331", - RPL_TOPIC => "332", - RPL_INVITING => "341", - RPL_SUMMONING => "342", - RPL_INVITELIST => "346", - RPL_ENDOFINVITELIST => "347", - RPL_EXCEPTLIST => "348", - RPL_ENDOFEXCEPTLIST => "349", - RPL_VERSION => "351", - RPL_WHOREPLY => "352", - RPL_ENDOFWHO => "315", - RPL_NAMREPLY => "353", - RPL_ENDOFNAMES => "366", - RPL_LINKS => "364", - RPL_ENDOFLINKS => "365", - RPL_BANLIST => "367", - RPL_ENDOFBANLIST => "368", - RPL_INFO => "371", - RPL_ENDOFINFO => "374", - RPL_MOTDSTART => "375", - RPL_MOTD => "372", - RPL_ENDOFMOTD => "376", - RPL_YOUREOPER => "381", - RPL_REHASHING => "382", - RPL_YOURESERVICE => "383", - RPL_TIME => "391", - RPL_USERSSTART => "392", - RPL_USERS => "393", - RPL_ENDOFUSERS => "394", - RPL_NOUSERS => "395", - RPL_TRACELINK => "200", - RPL_TRACECONNECTING => "201", - RPL_TRACEHANDSHAKE => "202", - RPL_TRACEUNKNOWN => "203", - RPL_TRACEOPERATOR => "204", - RPL_TRACEUSER => "205", - RPL_TRACESERVER => "206", - RPL_TRACESERVICE => "207", - RPL_TRACENEWTYPE => "208", - RPL_TRACECLASS => "209", - RPL_TRACERECONNECT => "210", - RPL_TRACELOG => "261", - RPL_TRACEEND => "262", - RPL_STATSLINKINFO => "211", - RPL_STATSCOMMAND => "212", - RPL_ENDOFSTATS => "219", - RPL_STATSUPTIME => "242", - RPL_STATSOLINE => "243", - RPL_UMODEIS => "221", - RPL_SERVLIST => "234", - RPL_SERVLISTEND => "235", - RPL_LUSERCLIENT => "251", - RPL_LUSEROP => "252", - RPL_LUSERUNKNOWN => "253", - RPL_LUSERCHANNELS => "254", - RPL_LUSERME => "255", - RPL_ADMINME => "256", - RPL_ADMINLOC1 => "257", - RPL_ADMINLOC2 => "258", - RPL_ADMINEMAIL => "259", - RPL_TRYAGAIN => "263", - - ERR_NOSUCHNICK => "401", - ERR_NOSUCHSERVER => "402", - ERR_NOSUCHCHANNEL => "403", - ERR_CANNOTSENDTOCHAN => "404", - ERR_TOOMANYCHANNELS => "405", - ERR_WASNOSUCHNICK => "406", - ERR_TOOMANYTARGETS => "407", - ERR_NOSUCHSERVICE => "408", - ERR_NOORIGIN => "409", - ERR_NORECIPIENT => "411", - ERR_NOTEXTTOSEND => "412", - ERR_NOTOPLEVEL => "413", - ERR_WILDTOPLEVEL => "414", - ERR_BADMASK => "415", - ERR_UNKNOWNCOMMAND => "421", - ERR_NOMOTD => "422", - ERR_NOADMININFO => "423", - ERR_FILEERROR => "424", - ERR_NONICKNAMEGIVEN => "431", - ERR_ERRONEUSNICKNAME => "432", - ERR_NICKNAMEINUSE => "433", - ERR_NICKCOLLISION => "436", - ERR_UNAVAILRESOURCE => "437", - ERR_USERNOTINCHANNEL => "441", - ERR_NOTONCHANNEL => "442", - ERR_USERONCHANNEL => "443", - ERR_NOLOGIN => "444", - ERR_SUMMONDISABLED => "445", - ERR_USERSDISABLED => "446", - ERR_NOTREGISTERED => "451", - ERR_NEEDMOREPARAMS => "461", - ERR_ALREADYREGISTERED => "462", - ERR_NOPERMFORHOST => "463", - ERR_PASSWDMISMATCH => "464", - ERR_YOUREBANNEDCREEP => "465", - ERR_YOUWILLBEBANNED => "466", - ERR_KEYSET => "467", - ERR_CHANNELISFULL => "471", - ERR_UNKNOWNMODE => "472", - ERR_INVITEONLYCHAN => "473", - ERR_BANNEDFROMCHAN => "474", - ERR_BADCHANNELKEY => "475", - ERR_BADCHANMASK => "476", - ERR_NOCHANMODES => "477", - ERR_BANLISTFULL => "478", - ERR_NOPRIVILEGES => "481", - ERR_CHANOPRIVSNEEDED => "482", - ERR_CANTKILLSERVER => "483", - ERR_RESTRICTED => "484", - ERR_UNIQOPPRIVSNEEDED => "485", - ERR_NOOPERHOST => "491", - ERR_UMODEUNKNOWNFLAG => "501",*/ + &OPER => "OPER", + &MODE => "MODE", + &SERVICE => "SERVICE", + &QUIT => "QUIT", + &SQUIT => "SQUIT", + &JOIN => "JOIN", + &PART => "PART", + &TOPIC => "TOPIC", + &NAMES => "NAMES", + &LIST => "LIST", + &INVITE => "INVITE", + &KICK => "KICK", + &PRIVMSG => "PRIVMSG", + &NOTICE => "NOTICE", + &MOTD => "MOTD", + &LUSERS => "LUSERS", + &VERSION => "VERSION", + &STATS => "STATS", + &LINKS => "LINKS", + &TIME => "TIME", + &CONNECT => "CONNECT", + &TRACE => "TRACE", + &ADMIN => "ADMIN", + &INFO => "INFO", + &SERVLIST => "SERVLIST", + &SQUERY => "SQUERY", + &WHO => "WHO", + &WHOIS => "WHOIS", + &WHOWAS => "WHOWAS", + &KILL => "KILL", + &PING(_, _) => "PING", + &PONG(_, _) => "PONG", + &ERROR(_) => "ERROR", + &AWAY(_) => "AWAY", + &REHASH => "REHASH", + &DIE => "DIE", + &RESTART => "RESTART", + &SUMMON(_, _) => "SUMMON", + &USERS(_) => "USERS", + &WALLOPS(_) => "WALLOPS", + &USERHOST(_) => "USERHOST", + &ISON => "ISON", } } -}*/ +} impl<'a> Command<'a> { pub fn from_message(msg: &'a Message) -> Option> { -- cgit v1.2.3