00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef COMMANDHANDLER_H
00023 #define COMMANDHANDLER_H
00024
00025 #include <string>
00026
00027 class ChatTab;
00028
00029 extern ChatTab *localChatTab;
00030
00031 #define BOOLEAN_OPTIONS _("Options to /%s are \"yes\", \"no\", \"true\", "\
00032 "\"false\", \"1\", \"0\".")
00033
00037 class CommandHandler
00038 {
00039 public:
00043 CommandHandler();
00044
00048 ~CommandHandler() {}
00049
00053 void handleCommand(const std::string &command, ChatTab *tab = localChatTab);
00054
00055 static char parseBoolean(const std::string &value);
00056
00057 private:
00061 void handleAnnounce(const std::string &args, ChatTab *tab);
00062
00066 void handleHelp(const std::string &args, ChatTab *tab);
00067
00071 void handleWhere(const std::string &args, ChatTab *tab);
00072
00076 void handleWho(const std::string &args, ChatTab *tab);
00077
00081 void handleMsg(const std::string &args, ChatTab *tab);
00082
00086 void handleQuery(const std::string &args, ChatTab *tab);
00087
00091 void handleJoin(const std::string &args, ChatTab *tab);
00092
00096 void handleListChannels(const std::string &args, ChatTab *tab);
00097
00101 void handleClear(const std::string &args, ChatTab *tab);
00102
00106 void handleParty(const std::string &args, ChatTab *tab);
00107
00111 void handleMe(const std::string &args, ChatTab *tab);
00112
00116 void handleRecord(const std::string &args, ChatTab *tab);
00117
00121 void handleToggle(const std::string &args, ChatTab *tab);
00122
00126 void handlePresent(const std::string &args, ChatTab *tab);
00127 };
00128
00129 extern CommandHandler *commandHandler;
00130
00131 #endif // COMMANDHANDLER_H