Module init and fini API tidy up

This commit is contained in:
Mark 2005-02-18 22:18:02 +00:00
parent 54b4afb0ae
commit afde9e4320
14 changed files with 81 additions and 56 deletions

View file

@ -3,7 +3,10 @@ NeoStats 3.x ChangeLog
Anything we add/remove/fix/change is in here (even our rants)
Fish (F), Mark (M)
===============================================================================
* NeoStats * Version 3.0.prealpha3-dev
* NeoStats * Version 3.0.a1-dev
- Add ModFini return value so modules can return errors if required. (M)
- Remove ModInit parameter since it is now redundant. (M)
- Command processor code split up. (M)
- Add SET_VALIDATE stage to allow a module to override core SET validation and
to potentially react to the previous setting prior to SET_CHANGE. (M)
- Command processor code split up. (M)

View file

@ -1388,9 +1388,9 @@ EXPORTFUNC void os_free( void *ptr );
*/
/* Module Basic Interface */
MODULEVAR extern ModuleInfo module_info;
MODULEFUNC int ModInit( Module *mod_ptr );
MODULEFUNC int ModInit( void );
MODULEFUNC int ModSynch( void );
MODULEFUNC void ModFini( void );
MODULEFUNC int ModFini( void );
/* Module Event Interface */
MODULEVAR extern ModuleEvent module_events[];
/* Module Auth Interface */

View file

@ -204,12 +204,12 @@ ModeDef OperSmodes[] =
* Init handler
* Loads connectserv configuration
*
* @param pointer to my module
* @param none
*
* @return NS_SUCCESS if suceeds else NS_FAILURE
*/
int ModInit( Module *mod_ptr )
int ModInit( void )
{
/* Load stored configuration */
ModuleConfig( cs_settings );
@ -244,11 +244,12 @@ int ModSynch( void )
*
* @param none
*
* @return none
* @return NS_SUCCESS if suceeds else NS_FAILURE
*/
void ModFini( void )
int ModFini (void)
{
return NS_SUCCESS;
}
/** @brief cs_report

View file

@ -259,12 +259,12 @@ static int ea_cmd_access( CmdParams *cmdparams )
*
* Init handler
*
* @param pointer to my module
* @param none
*
* @return NS_SUCCESS if suceeds else NS_FAILURE
*/
int ModInit( Module *modptr )
int ModInit( void )
{
LoadAccessList();
return NS_SUCCESS;
@ -294,12 +294,13 @@ int ModSynch( void )
*
* @param none
*
* @return none
* @return NS_SUCCESS if suceeds else NS_FAILURE
*/
void ModFini( void )
int ModFini (void)
{
del_services_cmd_list( extauth_commands );
return NS_SUCCESS;
}
/** @brief ModAuthUser

View file

@ -410,12 +410,12 @@ static int hs_event_umode (CmdParams *cmdparams)
*
* Init handler
*
* @param pointer to my module
* @param none
*
* @return NS_SUCCESS if succeeds else NS_FAILURE
*/
int ModInit (Module *mod_ptr)
int ModInit( void )
{
vhost_list = list_create(-1);
if (!vhost_list) {
@ -465,10 +465,10 @@ int ModSynch (void)
*
* @param none
*
* @return none
* @return NS_SUCCESS if suceeds else NS_FAILURE
*/
void ModFini (void)
int ModFini (void)
{
banentry *ban;
hnode_t *hn;
@ -483,6 +483,7 @@ void ModFini (void)
}
hash_destroy(banhash);
list_destroy_auto (vhost_list);
return NS_SUCCESS;
}
/** @brief new_vhost
@ -548,6 +549,8 @@ static int hs_cmd_bans_list (CmdParams *cmdparams)
* Command handler for BANS ADD
*
* @param cmdparams
* cmdparams->av[1] = ban host mask
* cmdparams->av[2 - cmdparams->ac-1] = reason
*
* @return NS_SUCCESS if succeeds, else NS_FAILURE
*/
@ -583,6 +586,7 @@ static int hs_cmd_bans_add (CmdParams *cmdparams)
* Command handler for BANS DEL
*
* @param cmdparams
* cmdparams->av[1] = ban host mask
*
* @return NS_SUCCESS if succeeds, else NS_FAILURE
*/
@ -619,6 +623,7 @@ static int hs_cmd_bans_del (CmdParams *cmdparams)
* Command handler for BANS
*
* @param cmdparams
* cmdparams->av[0] = sub command
*
* @return NS_SUCCESS if succeeds, else NS_FAILURE
*/
@ -646,6 +651,9 @@ static int hs_cmd_bans (CmdParams *cmdparams)
* Command handler for CHPASS
*
* @param cmdparams
* cmdparams->av[0] = login
* cmdparams->av[1] = old password
* cmdparams->av[2] = new password
*
* @return NS_SUCCESS if succeeds, else NS_FAILURE
*/
@ -669,7 +677,6 @@ static int hs_cmd_chpass (CmdParams *cmdparams)
CommandReport(hs_bot, "%s changed the password for %s",
cmdparams->source->name, vhe->nick);
SaveVhost (vhe);
return NS_SUCCESS;
}
return NS_SUCCESS;
}
@ -686,6 +693,10 @@ static int hs_cmd_chpass (CmdParams *cmdparams)
* Command handler for ADD
*
* @param cmdparams
* cmdparams->av[0] = login
* cmdparams->av[1] = real host mask
* cmdparams->av[2] = vhost
* cmdparams->av[3] = password
*
* @return NS_SUCCESS if succeeds, else NS_FAILURE
*/
@ -756,6 +767,7 @@ static int hs_cmd_add (CmdParams *cmdparams)
* Command handler for LIST
*
* @param cmdparams
* cmdparams->av[0] = optionally max number to display
*
* @return NS_SUCCESS if succeeds, else NS_FAILURE
*/
@ -816,6 +828,7 @@ static int hs_cmd_list (CmdParams *cmdparams)
* Command handler for VIEW
*
* @param cmdparams
* cmdparams->av[0] = login to view
*
* @return NS_SUCCESS if succeeds, else NS_FAILURE
*/
@ -847,6 +860,7 @@ static int hs_cmd_view (CmdParams *cmdparams)
/** @brief hs_cmd_del
*
* Command handler for DEL
* cmdparams->av[0] = login to delete
*
* @param cmdparams
*
@ -882,6 +896,8 @@ static int hs_cmd_del (CmdParams *cmdparams)
* Command handler for LOGIN
*
* @param cmdparams
* cmdparams->av[0] = login
* cmdparams->av[1] = password
*
* @return NS_SUCCESS if succeeds, else NS_FAILURE
*/
@ -889,19 +905,15 @@ static int hs_cmd_del (CmdParams *cmdparams)
static int hs_cmd_login (CmdParams *cmdparams)
{
vhostentry *vhe;
char *login;
char *pass;
SET_SEGV_LOCATION();
login = cmdparams->av[0];
pass = cmdparams->av[1];
/* Check HostName Against Data Contained in vhosts.data */
vhe = lnode_find (vhost_list, login, findnick);
vhe = lnode_find (vhost_list, cmdparams->av[0], findnick);
if (vhe) {
if (!ircstrcasecmp (vhe->passwd, pass)) {
if (!ircstrcasecmp (vhe->passwd, cmdparams->av[1])) {
irc_svshost (hs_bot, cmdparams->source, vhe->vhost);
irc_prefmsg (hs_bot, cmdparams->source,
"Your vhost %s has been set.", vhe->vhost);
"Your vhost has been set to %s", vhe->vhost);
nlog (LOG_NORMAL, "%s used LOGIN to obtain vhost of %s",
cmdparams->source->name, vhe->vhost);
if( hs_cfg.verbose ) {

View file

@ -140,12 +140,12 @@ bot_cmd ircdauth_commands[] =
*
* Init handler
*
* @param pointer to my module
* @param none
*
* @return NS_SUCCESS if suceeds else NS_FAILURE
*/
int ModInit( Module *modptr )
int ModInit( void )
{
return NS_SUCCESS;
}
@ -174,12 +174,13 @@ int ModSynch( void )
*
* @param none
*
* @return none
* @return NS_SUCCESS if suceeds else NS_FAILURE
*/
void ModFini( void )
int ModFini (void)
{
del_services_cmd_list( ircdauth_commands );
return NS_SUCCESS;
}
/** @brief ModAuthUser

View file

@ -95,12 +95,12 @@ static BotInfo ls_botinfo =
*
* Init handler
*
* @param pointer to my module
* @param none
*
* @return NS_SUCCESS if suceeds else NS_FAILURE
*/
int ModInit( Module *mod_ptr )
int ModInit( void )
{
return NS_SUCCESS;
}
@ -131,11 +131,12 @@ int ModSynch( void )
*
* @param none
*
* @return none
* @return NS_SUCCESS if suceeds else NS_FAILURE
*/
void ModFini( void )
int ModFini (void)
{
return NS_SUCCESS;
}
/** @brief ls_rose

View file

@ -141,11 +141,11 @@ configuration and starting databases.
*
* Init module
*
* @param pointer to our module structure
* @param none
*
* @return NS_SUCCESS if suceeds else NS_FAILURE
*/
int ModInit (Module *mod_ptr)
int ModInit( void )
{
return NS_SUCCESS;
}
@ -165,7 +165,7 @@ where you would init a bot if you wanted one.
* @return NS_SUCCESS if suceeds else NS_FAILURE
*/
int ModSynch (void)
int ModSynch( void )
{
/* Introduce a bot onto the network saving the bot handle */
template_bot = AddBot (&template_bot_info);
@ -184,11 +184,12 @@ databases.
*
* @param none
*
* @return none
* @return NS_SUCCESS if suceeds else NS_FAILURE
*/
void ModFini (void)
int ModFini (void)
{
return NS_SUCCESS;
}
NeoStats provides an API to send commands over IRC. These are designed

View file

@ -90,12 +90,12 @@ static BotInfo ms_botinfo =
*
* Init handler
*
* @param pointer to my module
* @param none
*
* @return NS_SUCCESS if suceeds else NS_FAILURE
*/
int ModInit( Module *mod_ptr )
int ModInit( void )
{
return NS_SUCCESS;
}
@ -126,11 +126,12 @@ int ModSynch( void )
*
* @param none
*
* @return none
* @return NS_SUCCESS if suceeds else NS_FAILURE
*/
void ModFini( void )
int ModFini (void)
{
return NS_SUCCESS;
}
/** @brief ms_hail

View file

@ -148,12 +148,12 @@ int SaveStats(void)
*
* Init handler
*
* @param pointer to my module
* @param none
*
* @return NS_SUCCESS if suceeds else NS_FAILURE
*/
int ModInit (Module *mod_ptr)
int ModInit( void )
{
SET_SEGV_LOCATION();
StatServ.shutdown = 0;
@ -220,10 +220,10 @@ int ModSynch (void)
*
* @param none
*
* @return none
* @return NS_SUCCESS if suceeds else NS_FAILURE
*/
void ModFini (void)
int ModFini (void)
{
StatServ.shutdown = 1;
FiniServerStats ();
@ -235,6 +235,7 @@ void ModFini (void)
#ifdef USE_BERKELEY
DBACloseTable();
#endif
return NS_SUCCESS;
}
static int ss_set_html_cb (CmdParams *cmdparams, SET_REASON reason)

View file

@ -256,7 +256,7 @@ ModuleEvent module_events[] =
*
* @return NS_SUCCESS if suceeds else NS_FAILURE
*/
int ModInit( Module *mod_ptr )
int ModInit( void )
{
return NS_SUCCESS;
}
@ -288,10 +288,11 @@ int ModSynch( void )
*
* @param none
*
* @return none
* @return NS_SUCCESS if suceeds else NS_FAILURE
*/
void ModFini( void )
int ModFini (void)
{
return NS_SUCCESS;
}

View file

@ -59,12 +59,12 @@ ModuleInfo module_info =
*
* Init handler
*
* @param pointer to my module
* @param none
*
* @return NS_SUCCESS if suceeds else NS_FAILURE
*/
int ModInit( Module *modptr )
int ModInit( void )
{
return NS_SUCCESS;
}
@ -92,8 +92,9 @@ int ModSynch( void )
* @return none
*/
void ModFini( void )
int ModFini (void)
{
return NS_SUCCESS;
}
/** @brief ModAuthUser

View file

@ -255,7 +255,7 @@ load_module (const char *modfilename, Client * u)
ModuleInfo *info_ptr = NULL;
ModuleEvent *event_ptr = NULL;
Module *mod_ptr = NULL;
int (*ModInit) (Module *module_ptr);
int (*ModInit) (void);
CmdParams *cmdparams;
SET_SEGV_LOCATION();
@ -339,7 +339,7 @@ load_module (const char *modfilename, Client * u)
SET_SEGV_LOCATION();
SET_RUN_LEVEL(mod_ptr);
DBAOpenDatabase ();
err = (*ModInit) (mod_ptr);
err = (*ModInit) ();
RESET_RUN_LEVEL();
if (err < 1 || mod_ptr->error) {
load_module_error (u, __("Unable to load module: %s. See %s.log for further information.",u), mod_ptr->info->name, mod_ptr->info->name);
@ -410,7 +410,7 @@ unload_module (const char *modname, Client * u)
Module *mod_ptr;
hnode_t *modnode;
int moduleindex;
void (*ModFini) ();
int (*ModFini) ( void );
CmdParams *cmdparams;
SET_SEGV_LOCATION();

View file

@ -498,7 +498,7 @@ ModuleInfo module_info = {
* @return NS_SUCCESS if suceeds else NS_FAILURE
*/
int ModInit (Module *modptr)
int ModInit (void)
{
ModuleConfig (rta_settings);
if (InitRTAServ () != NS_SUCCESS) {
@ -530,12 +530,13 @@ int ModSynch (void)
*
* @param none
*
* @return none
* @return NS_SUCCESS if suceeds else NS_FAILURE
*/
void ModFini (void)
int ModFini (void)
{
del_services_set_list (rta_settings);
return NS_SUCCESS;
}
#else