diff options
author | rburchell <rburchell@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-02-18 22:59:16 +0000 |
---|---|---|
committer | rburchell <rburchell@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-02-18 22:59:16 +0000 |
commit | 187c45059a692e63c3ea1e1176d98e080ccf374b (patch) | |
tree | 882371e64c00f851546078ed328269046ec15b12 /src | |
parent | 3fe5aa037ac907a2e557cc5019588344eaf8dc9f (diff) |
Move assign and unassign to new events, allow for halting too should modules desire that.
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2107 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src')
-rw-r--r-- | src/bots.cpp | 13 | ||||
-rw-r--r-- | src/datafiles.c | 2 | ||||
-rw-r--r-- | src/modules/os_ignore_db.c | 4 |
3 files changed, 13 insertions, 6 deletions
diff --git a/src/bots.cpp b/src/bots.cpp index 0ba119ed9..095d16167 100644 --- a/src/bots.cpp +++ b/src/bots.cpp @@ -10,6 +10,7 @@ */ #include "services.h" +#include "modules.h" BotInfo::BotInfo(const char *nnick) { @@ -89,6 +90,11 @@ void BotInfo::RejoinAll() void BotInfo::Assign(User *u, ChannelInfo *ci) { + EventReturn MOD_RESULT = EVENT_CONTINUE; + FOREACH_RESULT(I_OnBotAssign, OnBotAssign(u, ci, this)); + if (MOD_RESULT == EVENT_STOP) + return; + if (ci->bi) { if (u) @@ -101,13 +107,14 @@ void BotInfo::Assign(User *u, ChannelInfo *ci) this->chancount++; if (ci->c && ci->c->usercount >= BSMinUsers) bot_join(ci); - - send_event(EVENT_BOT_ASSIGN, 2, ci->name, this->nick); } void BotInfo::UnAssign(User *u, ChannelInfo *ci) { - send_event(EVENT_BOT_UNASSIGN, 2, ci->name, ci->bi->nick); + EventReturn MOD_RESULT = EVENT_CONTINUE; + FOREACH_RESULT(I_OnBotUnAssign, OnBotUnAssign(u, ci)); + if (MOD_RESULT == EVENT_STOP) + return; if (u && ci->c && ci->c->usercount >= BSMinUsers) ircdproto->SendPart(ci->bi, ci->name, "UNASSIGN from %s", u->nick); diff --git a/src/datafiles.c b/src/datafiles.c index 58deb31e7..57dd856ec 100644 --- a/src/datafiles.c +++ b/src/datafiles.c @@ -694,7 +694,7 @@ void backup_databases() rename_database(OperDBName, ext); rename_database(NewsDBName, ext); rename_database(ExceptionDBName, ext); - send_event(EVENT_DB_BACKUP, 1, EVENT_STOP); + send_event(EVENT_DB_BACKUP, 1, "stop"); } } diff --git a/src/modules/os_ignore_db.c b/src/modules/os_ignore_db.c index 7881d7d22..bfb2bf903 100644 --- a/src/modules/os_ignore_db.c +++ b/src/modules/os_ignore_db.c @@ -138,7 +138,7 @@ void load_config() { * When anope saves her databases, we do the same. **/ int save_ignoredb(int argc, char **argv) { - if ((argc >= 1) && (!stricmp(argv[0], EVENT_STOP))) + if ((argc >= 1) && (!stricmp(argv[0], "stop"))) save_ignore_db(); return MOD_CONT; @@ -149,7 +149,7 @@ int save_ignoredb(int argc, char **argv) { * When anope backs her databases up, we do the same. **/ int backup_ignoredb(int argc, char **argv) { - if ((argc >= 1) && (!stricmp(argv[0], EVENT_STOP))) { + if ((argc >= 1) && (!stricmp(argv[0], "stop"))) { if (debug) alog("[os_ignore_db] debug: Backing up %s database...", IgnoreDB); ModuleDatabaseBackup(IgnoreDB); |