inspircd/include/command_parse.h
brain 18c757067c Changed definition of CallHandler and CallCommandHandler for the ability to return false on bad command.
This allows us to terminate server links that send commands we dont know (e.g. admin loads module A after linking, we dont have module A, when it sends module A's command, abort)


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3414 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-02 09:57:48 +00:00

46 lines
1.3 KiB
C++

/* +------------------------------------+
* | Inspire Internet Relay Chat Daemon |
* +------------------------------------+
*
* InspIRCd is copyright (C) 2002-2006 ChatSpike-Dev.
* E-mail:
* <brain@chatspike.net>
* <Craig@chatspike.net>
*
* Written by Craig Edwards, Craig McLure, and others.
* This program is free but copyrighted software; see
* the file COPYING for details.
*
* ---------------------------------------------------
*/
#ifndef __COMMAND_PARSE_H
#define __COMMAND_PARSE_H
#include <typeinfo>
#include <iostream>
#include <string>
#include "users.h"
#include "ctables.h"
#include "typedefs.h"
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