diff options
author | Robin Burchell w00t@inspircd.org <Robin Burchell w00t@inspircd.org@5417fbe8-f217-4b02-8779-1006273d7864> | 2008-11-05 20:20:28 +0000 |
---|---|---|
committer | Robin Burchell w00t@inspircd.org <Robin Burchell w00t@inspircd.org@5417fbe8-f217-4b02-8779-1006273d7864> | 2008-11-05 20:20:28 +0000 |
commit | 88f9975f4071843846ef94d5ad6799e7471a8036 (patch) | |
tree | 2cb619c22d1f979576f5e95b2733b2fd01b7892d /src/modules/os_info.c | |
parent | 2ce8f4aea232aac67474cb276918cb41719cf81b (diff) |
Convert src/modules to use the new modules loader.
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1559 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src/modules/os_info.c')
-rw-r--r-- | src/modules/os_info.c | 98 |
1 files changed, 46 insertions, 52 deletions
diff --git a/src/modules/os_info.c b/src/modules/os_info.c index 1d6d11c09..30df2adab 100644 --- a/src/modules/os_info.c +++ b/src/modules/os_info.c @@ -61,74 +61,68 @@ int mEventReload(int argc, char **argv); /*************************************************************************/ -/** - * AnopeInit is called when the module is loaded - * @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 OSInfo : public Module { - Command *c; - EvtHook *hook = NULL; + public: + OSInfo(const std::string &creator) : Module(creator) + { + Command *c; + EvtHook *hook = NULL; - int status; + int status; - moduleAddAuthor(AUTHOR); - moduleAddVersion(VERSION); - moduleSetType(SUPPORTED); + moduleAddAuthor(AUTHOR); + moduleAddVersion(VERSION); + moduleSetType(SUPPORTED); - alog("os_info: Loading configuration directives..."); - if (mLoadConfig()) { - return MOD_STOP; - } + if (mLoadConfig()) + throw ModuleException("Unable to load config"); - c = createCommand("oInfo", myAddNickInfo, is_oper, -1, -1, -1, -1, -1); - moduleAddHelp(c, mNickHelp); - status = moduleAddCommand(NICKSERV, c, MOD_HEAD); + c = createCommand("oInfo", myAddNickInfo, is_oper, -1, -1, -1, -1, -1); + moduleAddHelp(c, mNickHelp); + status = moduleAddCommand(NICKSERV, c, MOD_HEAD); - c = createCommand("Info", myNickInfo, NULL, -1, -1, -1, -1, -1); - status = moduleAddCommand(NICKSERV, c, MOD_TAIL); + c = createCommand("Info", myNickInfo, NULL, -1, -1, -1, -1, -1); + status = moduleAddCommand(NICKSERV, c, MOD_TAIL); - c = createCommand("oInfo", myAddChanInfo, is_oper, -1, -1, -1, -1, -1); - moduleAddHelp(c, mChanHelp); - status = moduleAddCommand(CHANSERV, c, MOD_HEAD); + c = createCommand("oInfo", myAddChanInfo, is_oper, -1, -1, -1, -1, -1); + moduleAddHelp(c, mChanHelp); + status = moduleAddCommand(CHANSERV, c, MOD_HEAD); - c = createCommand("Info", myChanInfo, NULL, -1, -1, -1, -1, -1); - status = moduleAddCommand(CHANSERV, c, MOD_TAIL); + c = createCommand("Info", myChanInfo, NULL, -1, -1, -1, -1, -1); + status = moduleAddCommand(CHANSERV, c, MOD_TAIL); - hook = createEventHook(EVENT_DB_SAVING, mSaveData); - status = moduleAddEventHook(hook); + hook = createEventHook(EVENT_DB_SAVING, mSaveData); + status = moduleAddEventHook(hook); - hook = createEventHook(EVENT_DB_BACKUP, mBackupData); - status = moduleAddEventHook(hook); + hook = createEventHook(EVENT_DB_BACKUP, mBackupData); + status = moduleAddEventHook(hook); - hook = createEventHook(EVENT_RELOAD, mEventReload); - status = moduleAddEventHook(hook); + hook = createEventHook(EVENT_RELOAD, mEventReload); + status = moduleAddEventHook(hook); - moduleSetNickHelp(mMainNickHelp); - moduleSetChanHelp(mMainChanHelp); + moduleSetNickHelp(mMainNickHelp); + moduleSetChanHelp(mMainChanHelp); - mLoadData(); - m_AddLanguages(); + mLoadData(); + m_AddLanguages(); + } - return MOD_CONT; -} + ~OSInfo() + { + char *av[1]; + + av[0] = sstrdup(EVENT_START); + mSaveData(1, av); + free(av[0]); + + if (OSInfoDBName) + free(OSInfoDBName); + } +}; -/** - * Unload the module - **/ -void AnopeFini(void) -{ - char *av[1]; - av[0] = sstrdup(EVENT_START); - mSaveData(1, av); - free(av[0]); - if (OSInfoDBName) - free(OSInfoDBName); -} /*************************************************************************/ @@ -779,4 +773,4 @@ void mMainChanHelp(User * u) /* EOF */ -MODULE_INIT("os_info") +MODULE_INIT(OSInfo) |