diff options
Diffstat (limited to 'src/protocol/ratbox.c')
-rw-r--r-- | src/protocol/ratbox.c | 87 |
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) |