summaryrefslogtreecommitdiff
path: root/src/protocol/ratbox.c
diff options
context:
space:
mode:
authorRobin Burchell w00t@inspircd.org <Robin Burchell w00t@inspircd.org@5417fbe8-f217-4b02-8779-1006273d7864>2008-11-05 00:23:58 +0000
committerRobin Burchell w00t@inspircd.org <Robin Burchell w00t@inspircd.org@5417fbe8-f217-4b02-8779-1006273d7864>2008-11-05 00:23:58 +0000
commit2ce8f4aea232aac67474cb276918cb41719cf81b (patch)
tree319fb2e450d99f03db73bccf2860efe630e3a8b3 /src/protocol/ratbox.c
parent3bc401a13010084c8a8221ceb1c0c15463452ec6 (diff)
Convert protocol modules
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1558 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src/protocol/ratbox.c')
-rw-r--r--src/protocol/ratbox.c87
1 files changed, 44 insertions, 43 deletions
diff --git a/src/protocol/ratbox.c b/src/protocol/ratbox.c
index 954e67a81..d5fe5f9c0 100644
--- a/src/protocol/ratbox.c
+++ b/src/protocol/ratbox.c
@@ -1136,20 +1136,12 @@ int anope_event_error(const char *source, int ac, const char **av)
return MOD_CONT;
}
-
-
-/* *INDENT-OFF* */
void moduleAddIRCDMsgs(void)
{
Message *m;
updateProtectDetails("PROTECT","PROTECTME","protect","deprotect","AUTOPROTECT","+","-");
- if (UseTS6) {
- TS6SID = sstrdup(Numeric);
- UseTSMODE = 1; /* TMODE */
- }
-
m = createMessage("436", anope_event_436); addCoreMessage(IRCD,m);
m = createMessage("AWAY", anope_event_away); addCoreMessage(IRCD,m);
m = createMessage("JOIN", anope_event_join); addCoreMessage(IRCD,m);
@@ -1177,43 +1169,52 @@ void moduleAddIRCDMsgs(void)
m = createMessage("SID", anope_event_sid); addCoreMessage(IRCD,m);
}
-/* *INDENT-ON* */
-
-/**
- * Now tell anope how to use us.
- **/
-int AnopeInit(int argc, char **argv)
+class ProtoRatbox : public Module
{
+ public:
+ ProtoRatbox(const std::string &creator) : Module(creator)
+ {
+ moduleAddAuthor("Anope");
+ moduleAddVersion("$Id$");
+ moduleSetType(PROTOCOL);
- moduleAddAuthor("Anope");
- moduleAddVersion("$Id$");
- moduleSetType(PROTOCOL);
-
- pmodule_ircd_version("Ratbox IRCD 2.0+");
- pmodule_ircd_cap(myIrcdcap);
- pmodule_ircd_var(myIrcd);
- pmodule_ircd_cbmodeinfos(myCbmodeinfos);
- pmodule_ircd_cumodes(myCumodes);
- pmodule_ircd_flood_mode_char_set("");
- pmodule_ircd_flood_mode_char_remove("");
- pmodule_ircd_cbmodes(myCbmodes);
- pmodule_ircd_cmmodes(myCmmodes);
- pmodule_ircd_csmodes(myCsmodes);
- pmodule_ircd_useTSMode(1);
-
- /** Deal with modes anope _needs_ to know **/
- pmodule_invis_umode(UMODE_i);
- pmodule_oper_umode(UMODE_o);
- pmodule_invite_cmode(CMODE_i);
- pmodule_secret_cmode(CMODE_s);
- pmodule_private_cmode(CMODE_p);
- pmodule_key_mode(CMODE_k);
- pmodule_limit_mode(CMODE_l);
-
- pmodule_ircd_proto(&ircd_proto);
- moduleAddIRCDMsgs();
+ if (UseTS6)
+ {
+ TS6SID = sstrdup(Numeric);
+ UseTSMODE = 1; /* TMODE */
+ }
+
+ pmodule_ircd_version("Ratbox IRCD 2.0+");
+ pmodule_ircd_cap(myIrcdcap);
+ pmodule_ircd_var(myIrcd);
+ pmodule_ircd_cbmodeinfos(myCbmodeinfos);
+ pmodule_ircd_cumodes(myCumodes);
+ pmodule_ircd_flood_mode_char_set("");
+ pmodule_ircd_flood_mode_char_remove("");
+ pmodule_ircd_cbmodes(myCbmodes);
+ pmodule_ircd_cmmodes(myCmmodes);
+ pmodule_ircd_csmodes(myCsmodes);
+ pmodule_ircd_useTSMode(1);
+
+ /** Deal with modes anope _needs_ to know **/
+ pmodule_invis_umode(UMODE_i);
+ pmodule_oper_umode(UMODE_o);
+ pmodule_invite_cmode(CMODE_i);
+ pmodule_secret_cmode(CMODE_s);
+ pmodule_private_cmode(CMODE_p);
+ pmodule_key_mode(CMODE_k);
+ pmodule_limit_mode(CMODE_l);
+
+ pmodule_ircd_proto(&ircd_proto);
+ moduleAddIRCDMsgs();
+ }
+
+ ~ProtoRatbox()
+ {
+ if (UseTS6)
+ free(TS6SID);
+ }
- return MOD_CONT;
}
-MODULE_INIT("ratbox")
+MODULE_INIT(ProtoRatbox)