summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-04-09 20:40:47 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-04-09 20:40:47 +0000
commit772d6f16c0c474d2b66121c618c0273c26ca574e (patch)
tree1a535f64d6c3ed328a7424666506a8bb5df75d1a /src
parentaa21503f06e3a32945c003ce4193a766ea58642b (diff)
Start of mode parser refactoring
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3855 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src')
-rw-r--r--src/mode.cpp88
1 files changed, 88 insertions, 0 deletions
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 &parameter, 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 &parameter, bool adding)
+{
+ return true;
+}
+
+void ModeWatcher::AfterMode(userrec* source, userrec* dest, chanrec* channel, const std::string &parameter, bool adding)
+{
+}
+
userrec* ModeParser::SanityChecks(userrec *user,char *dest,chanrec *chan,int status)
{
userrec *d;