X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fctables.h;h=c4b5aa3359cd1f95ed25b79e66806a41fa8122e3;hb=90639721625b5da867effc7dd4adec003c1bd3b4;hp=2dadca42d62c7a89207ae0d08530ccdf3cc4ac77;hpb=064d18536159e5f907f8ccfd1147281c8ec93bc4;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/ctables.h b/include/ctables.h index 2dadca42d..c4b5aa335 100644 --- a/include/ctables.h +++ b/include/ctables.h @@ -2,7 +2,7 @@ * | Inspire Internet Relay Chat Daemon | * +------------------------------------+ * - * Inspire is copyright (C) 2002-2004 ChatSpike-Dev. + * InspIRCd is copyright (C) 2002-2006 ChatSpike-Dev. * E-mail: * * @@ -18,11 +18,11 @@ #define __CTABLES_H__ #include "inspircd_config.h" -#include +#include "hash_map.h" class userrec; -typedef void (handlerfunc) (char**, int, userrec*); +/*typedef void (handlerfunc) (char**, int, userrec*);*/ /** A structure that defines a command */ @@ -31,10 +31,7 @@ class command_t public: /** Command name */ - char command[MAXBUF]; - /** Handler function as in typedef - */ - handlerfunc *handler_function; + std::string command; /** User flags needed to execute the command or 0 */ char flags_needed; @@ -49,10 +46,19 @@ class command_t long total_bytes; /** used for resource tracking between modules */ - char source[MAXBUF]; + std::string source; + + command_t(const std::string &cmd, char flags, int minpara) : command(cmd), flags_needed(flags), min_params(minpara) + { + use_count = total_bytes = 0; + source = ""; + } + + virtual void Handle(char** parameters, int pcnt, userrec* user) = 0; + + virtual ~command_t() {} }; -typedef std::deque command_table; +typedef nspace::hash_map command_table; #endif -