]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/command_parse.h
Change ServerInfo::gecos to description
[user/henk/code/inspircd.git] / include / command_parse.h
index 70544b0c8e17d1752d6f67814e5b0c2bbab10e9d..ec5ebba485ad1f02c82f15f559c96ff54d603024 100644 (file)
@@ -29,6 +29,9 @@
  */
 class CoreExport CommandParser
 {
+ public:
+       typedef TR1NS::unordered_map<std::string, Command*, irc::insensitive, irc::StrHashComp> CommandMap;
+
  private:
        /** Process a command from a user.
         * @param user The user to parse the command for
@@ -36,15 +39,20 @@ class CoreExport CommandParser
         */
        void ProcessCommand(LocalUser* user, std::string& cmd);
 
- public:
        /** Command list, a hash_map of command names to Command*
         */
-       Commandtable cmdlist;
+       CommandMap cmdlist;
 
+ public:
        /** Default constructor.
         */
        CommandParser();
 
+       /** Get a command name -> Command* map containing all client to server commands
+        * @return A map of command handlers keyed by command names
+        */
+       const CommandMap& GetCommands() const { return cmdlist; }
+
        /** Calls the handler for a given command.
         * @param commandname The command to find. This should be in uppercase.
         * @param parameters Parameter list
@@ -77,7 +85,7 @@ class CoreExport CommandParser
         * With one list it is much simpler, and is used in NAMES, WHOIS, PRIVMSG etc.
         *
         * If there is only one list and there are duplicates in it, then the command handler is only called for
-        * unique items. Entries are compared using "irc comparision" (see irc::string).
+        * unique items. Entries are compared using "irc comparison".
         * If the usemax parameter is true (the default) the function only parses until it reaches
         * ServerInstance->Config->MaxTargets number of targets, to stop abuse via spam.
         *