diff options
| author | Robin Burchell w00t@inspircd.org <Robin Burchell w00t@inspircd.org@5417fbe8-f217-4b02-8779-1006273d7864> | 2008-11-05 00:17:27 +0000 |
|---|---|---|
| committer | Robin Burchell w00t@inspircd.org <Robin Burchell w00t@inspircd.org@5417fbe8-f217-4b02-8779-1006273d7864> | 2008-11-05 00:17:27 +0000 |
| commit | 3bc401a13010084c8a8221ceb1c0c15463452ec6 (patch) | |
| tree | e97a548887fc05b3aab69d2435a82197114639aa /src/core/os_logonnews.c | |
| parent | e47d169f4961dbcc36014e11a6ead2be0baf62f6 (diff) | |
Convert OperServ. YES, src/core done.
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1557 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src/core/os_logonnews.c')
| -rw-r--r-- | src/core/os_logonnews.c | 78 |
1 files changed, 36 insertions, 42 deletions
diff --git a/src/core/os_logonnews.c b/src/core/os_logonnews.c index abcd1075d..087df972f 100644 --- a/src/core/os_logonnews.c +++ b/src/core/os_logonnews.c @@ -21,49 +21,43 @@ void myOperServHelp(User * u); int load_config(void); int reload_config(int argc, char **argv); -/** - * Create the command, and tell anope about it. - * @param argc Argument count - * @param argv Argument list - * @return MOD_CONT to allow the module, MOD_STOP to stop it - **/ -int AnopeInit(int argc, char **argv) +class OSLogonNews : public Module { - EvtHook *hook; - char buf[BUFSIZE]; - - moduleAddAuthor("Anope"); - moduleAddVersion("$Id$"); - moduleSetType(CORE); - - /** - * For some unknown reason, do_logonnews is actaully defined in news.c - * we can look at moving it here later - **/ - c = createCommand("LOGONNEWS", do_logonnews, is_services_admin, - NEWS_HELP_LOGON, -1, -1, -1, -1); - snprintf(buf, BUFSIZE, "%d", NewsCount), - c->help_param1 = sstrdup(buf); - moduleAddCommand(OPERSERV, c, MOD_UNIQUE); - - moduleSetOperHelp(myOperServHelp); - - hook = createEventHook(EVENT_RELOAD, reload_config); - if (moduleAddEventHook(hook) != MOD_ERR_OK) { - alog("[\002os_logonnews\002] Can't hook to EVENT_RELOAD event"); - return MOD_STOP; - } - - return MOD_CONT; -} + public: + OSLogonNews(const std::string &creator) : Module(creator) + { + EvtHook *hook; + char buf[BUFSIZE]; + + moduleAddAuthor("Anope"); + moduleAddVersion("$Id$"); + moduleSetType(CORE); + + /** + * For some unknown reason, do_logonnews is actaully defined in news.c + * we can look at moving it here later + **/ + c = createCommand("LOGONNEWS", do_logonnews, is_services_admin, + NEWS_HELP_LOGON, -1, -1, -1, -1); + snprintf(buf, BUFSIZE, "%d", NewsCount), + c->help_param1 = sstrdup(buf); + moduleAddCommand(OPERSERV, c, MOD_UNIQUE); + + moduleSetOperHelp(myOperServHelp); + + hook = createEventHook(EVENT_RELOAD, reload_config); + if (moduleAddEventHook(hook) != MOD_ERR_OK) + { + throw ModuleException("os_logonnews: Can't hook to EVENT_RELOAD event"); + } + } + + ~OSLogonNews() + { + free(c->help_param1); + } +}; -/** - * Unload the module - **/ -void AnopeFini(void) -{ - free(c->help_param1); -} /** @@ -97,4 +91,4 @@ int reload_config(int argc, char **argv) { /* EOF */ -MODULE_INIT("os_logonnews") +MODULE_INIT(OSLogonNews) |
