]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/command_parse.h
Patch by dz avoiding <badchan:redirect> loops, and tidying up on-rehash checks.
[user/henk/code/inspircd.git] / include / command_parse.h
index be18db4f983d01fd61b15a3c45be75e0fc9358c9..25d334dbffec543f1a92d792d548bf5ad6bf05c4 100644 (file)
@@ -2,7 +2,7 @@
  *       | Inspire Internet Relay Chat Daemon |
  *       +------------------------------------+
  *
- *  InspIRCd: (C) 2002-2007 InspIRCd Development Team
+ *  InspIRCd: (C) 2002-2008 InspIRCd Development Team
  * See: http://www.inspircd.org/wiki/index.php/Credits
  *
  * This program is free but copyrighted software; see
 #ifndef __COMMAND_PARSE_H
 #define __COMMAND_PARSE_H
 
-#include <string>
-#include "users.h"
-#include "ctables.h"
-#include "typedefs.h"
-
-/** Required forward declaration
- */
-class InspIRCd;
-
 /** A list of dll/so files containing the command handlers for the core
  */
 typedef std::map<std::string, void*> SharedObjectList;
@@ -54,7 +45,7 @@ class CoreExport CommandParser : public classbase
         * @param user The user to parse the command for
         * @param cmd The command string to process
         */
-       void ProcessCommand(User *user, std::string &cmd);
+       bool ProcessCommand(User *user, std::string &cmd);
 
        /** Finds the init_command symbol in a .so file
         * @param v A function pointer to be initialized
@@ -179,7 +170,13 @@ class CoreExport CommandParser : public classbase
         * @param buffer The buffer line to process
         * @param user The user to whom this line belongs
         */
-       void ProcessBuffer(std::string &buffer,User *user);
+       bool ProcessBuffer(std::string &buffer,User *user);
+
+       /** Process lines in a users sendq.
+        * @param current The user to process
+        * @param one_only if one_only is set only one command is processed from the sendq.
+        */
+       void DoLines(User* current, bool one_only = false);
 
        /** Remove all commands relating to module 'source'.
         * @param source A module name which has introduced new commands
@@ -220,7 +217,7 @@ class cmd_reload : public Command
  public:
        /** Standard constructor
         */
-       cmd_reload (InspIRCd* Instance) : Command(Instance,"RELOAD",'o',1) { syntax = "<core-command>"; }
+       cmd_reload (InspIRCd* Instance) : Command(Instance,"RELOAD","o",1) { syntax = "<core-command>"; }
        /** Handle RELOAD
         */
        CmdResult Handle(const char** parameters, int pcnt, User *user);