* | Inspire Internet Relay Chat Daemon |
* +------------------------------------+
*
- * Inspire is copyright (C) 2002-2005 ChatSpike-Dev.
+ * InspIRCd is copyright (C) 2002-2006 ChatSpike-Dev.
* E-mail:
* <brain@chatspike.net>
* <Craig@chatspike.net>
#include <iostream>
#include <string>
#include "users.h"
+#include "ctables.h"
+#include "typedefs.h"
-void call_handler(std::string &commandname,char **parameters, int pcnt, userrec *user);
-bool is_valid_cmd(std::string &commandname, int pcnt, userrec * user);
-int loop_call(handlerfunc fn, char **parameters, int pcnt, userrec *u, int start, int end, int joins);
-void process_buffer(const char* cmdbuf,userrec *user);
-bool remove_commands(const char* source);
+class CommandParser
+{
+ private:
+ int ProcessParameters(char **command_p,char *parameters);
+ void ProcessCommand(userrec *user, char* cmd);
+ void SetupCommandTable();
+ public:
+ command_table cmdlist;
+
+ CommandParser();
+ bool CallHandler(std::string &commandname,char **parameters, int pcnt, userrec *user);
+ bool IsValidCommand(std::string &commandname, int pcnt, userrec * user);
+ int LoopCall(command_t *fn, char **parameters, int pcnt, userrec *u, int start, int end, int joins);
+ void ProcessBuffer(const char* cmdbuf,userrec *user);
+ bool RemoveCommands(const char* source);
+ bool CreateCommand(command_t *f);
+};
#endif