aboutsummaryrefslogtreecommitdiff
path: root/src/mode.cpp
diff options
context:
space:
mode:
authorGravatar attilamolnar2013-04-03 18:50:11 +0200
committerGravatar attilamolnar2013-04-08 23:13:24 +0200
commit0ce252f05ced1a0dddfc9c353d68007a3faba239 (patch)
tree53ab017b20bbe9b0349dad3dae61cbdf44402a79 /src/mode.cpp
parentUnite include/modes/*.h into include/builtinmodes.h (diff)
Add builtin modes using AddService()
Diffstat (limited to 'src/mode.cpp')
-rw-r--r--src/mode.cpp27
1 files changed, 9 insertions, 18 deletions
diff --git a/src/mode.cpp b/src/mode.cpp
index bbd29c621..8cf04ef08 100644
--- a/src/mode.cpp
+++ b/src/mode.cpp
@@ -933,28 +933,21 @@ struct builtin_modes
ModeUserOperator uo;
ModeUserServerNoticeMask us;
- void init(ModeParser* modes)
+ void init()
{
- modes->AddMode(&s);
- modes->AddMode(&p);
- modes->AddMode(&m);
- modes->AddMode(&t);
- modes->AddMode(&n);
- modes->AddMode(&i);
- modes->AddMode(&k);
- modes->AddMode(&l);
- modes->AddMode(&b);
- modes->AddMode(&o);
- modes->AddMode(&v);
- modes->AddMode(&uw);
- modes->AddMode(&ui);
- modes->AddMode(&uo);
- modes->AddMode(&us);
+ ServiceProvider* modes[] = { &s, &p, &m, &t, &n, &i, &k, &l, &b, &o, &v,
+ &uw, &ui, &uo, &us };
+ ServerInstance->Modules->AddServices(modes, sizeof(modes)/sizeof(ServiceProvider*));
}
};
static builtin_modes static_modes;
+void ModeParser::InitBuiltinModes()
+{
+ static_modes.init();
+}
+
ModeParser::ModeParser()
{
/* Clear mode handler list */
@@ -965,8 +958,6 @@ ModeParser::ModeParser()
seq = 0;
memset(&sent, 0, sizeof(sent));
-
- static_modes.init(this);
}
ModeParser::~ModeParser()