From 772d6f16c0c474d2b66121c618c0273c26ca574e Mon Sep 17 00:00:00 2001 From: brain Date: Sun, 9 Apr 2006 20:40:47 +0000 Subject: Start of mode parser refactoring git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3855 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/mode.cpp | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) (limited to 'src') diff --git a/src/mode.cpp b/src/mode.cpp index b6905df9e..d61725eef 100644 --- a/src/mode.cpp +++ b/src/mode.cpp @@ -54,6 +54,94 @@ extern ServerConfig* Config; extern time_t TIME; +ModeOutput::ModeOutput(std::string parameter, ModeAction action) : par(parameter), act(action) +{ +} + +ModeAction ModeOutput::GetAction() +{ + return act; +} + +std::string& ModeOutput::GetParameter() +{ + return par; +} + +ModeHandler::ModeHandler(char modeletter, int parameters, bool listmode, ModeType type, bool operonly) : mode(modeletter), n_params(parameters), list(listmode), m_type(type), oper(operonly) +{ +} + +ModeHandler::~ModeHandler() +{ +} + +bool ModeHandler::IsListMode() +{ + return list; +} + +ModeType ModeHandler::GetModeType() +{ + return m_type; +} + +bool ModeHandler::NeedsOper() +{ + return oper; +} + +int ModeHandler::GetNumParams() +{ + return n_params; +} + +char ModeHandler::GetModeChar() +{ + return mode; +} + +ModeOutput ModeHandler::OnModeChange(userrec* source, userrec* dest, chanrec* channel, const std::string ¶meter, bool adding) +{ + return ModeOutput("", MODEACTION_DENY); +} + +void ModeHandler::DisplayList(userrec* user, chanrec* channel) +{ +} + +bool ModeHandler::CheckTimeStamp(time_t theirs, time_t ours, const std::string &their_param, const std::string &our_param, chanrec* channel) +{ + return (ours < theirs); +} + +ModeWatcher::ModeWatcher(char modeletter, ModeType type) : mode(modeletter), m_type(type) +{ +} + +ModeWatcher::~ModeWatcher() +{ +} + +char ModeWatcher::GetModeChar() +{ + return mode; +} + +ModeType ModeWatcher::GetModeType() +{ + return m_type; +} + +bool ModeWatcher::BeforeMode(userrec* source, userrec* dest, chanrec* channel, const std::string ¶meter, bool adding) +{ + return true; +} + +void ModeWatcher::AfterMode(userrec* source, userrec* dest, chanrec* channel, const std::string ¶meter, bool adding) +{ +} + userrec* ModeParser::SanityChecks(userrec *user,char *dest,chanrec *chan,int status) { userrec *d; -- cgit v1.2.3