summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/datafiles.c5
-rw-r--r--src/modules/hs_request.c28
-rw-r--r--src/modules/os_ignore_db.c26
-rw-r--r--src/modules/os_info.c21
4 files changed, 24 insertions, 56 deletions
diff --git a/src/datafiles.c b/src/datafiles.c
index 57dd856ec..ee8fe8ec9 100644
--- a/src/datafiles.c
+++ b/src/datafiles.c
@@ -14,6 +14,7 @@
#include "services.h"
#include "datafiles.h"
+#include "modules.h"
#include <fcntl.h>
static int curday = 0;
@@ -671,8 +672,9 @@ void backup_databases()
char ext[9];
- send_event(EVENT_DB_BACKUP, 1, EVENT_START);
+
alog("Backing up databases");
+ FOREACH_MOD(I_OnBackupDatabase, OnBackupDatabase())
remove_backups();
@@ -694,7 +696,6 @@ void backup_databases()
rename_database(OperDBName, ext);
rename_database(NewsDBName, ext);
rename_database(ExceptionDBName, ext);
- send_event(EVENT_DB_BACKUP, 1, "stop");
}
}
diff --git a/src/modules/hs_request.c b/src/modules/hs_request.c
index c86fe331e..8d6381952 100644
--- a/src/modules/hs_request.c
+++ b/src/modules/hs_request.c
@@ -61,7 +61,6 @@ void my_memo_lang(User *u, char *name, int z, int number, ...);
void req_send_memos(User *u, char *vHost);
void hsreq_load_db();
-int hsreqevt_db_backup(int argc, char **argv);
void my_load_config();
void my_add_languages();
@@ -441,8 +440,6 @@ class HSRequest : public Module
public:
HSRequest(const std::string &modname, const std::string &creator) : Module(modname, creator)
{
- EvtHook *hook;
-
me = this;
this->AddCommand(HOSTSERV, new CommandHSRequest(), MOD_HEAD);
@@ -454,9 +451,7 @@ class HSRequest : public Module
this->AddCommand(NICKSERV, new CommandNSDrop(), MOD_HEAD);
ModuleManager::Attach(I_OnSaveDatabase, this);
-
- hook = createEventHook(EVENT_DB_BACKUP, hsreqevt_db_backup);
- this->AddEventHook(hook);
+ ModuleManager::Attach(I_OnBackupDatabase, this);
this->SetHostHelp(hs_help);
this->SetAuthor(AUTHOR);
@@ -768,6 +763,14 @@ class HSRequest : public Module
if (debug)
alog("[hs_request] Succesfully saved database");
}
+
+ void OnBackupDatabase()
+ {
+ if (HSRequestDBName)
+ ModuleDatabaseBackup(HSRequestDBName);
+ else
+ ModuleDatabaseBackup(HSREQ_DEFAULT_DBNAME);
+ }
};
void my_memo_lang(User *u, char *name, int z, int number, ...)
@@ -936,19 +939,6 @@ void hsreq_load_db()
alog("[hs_request] Succesfully loaded database");
}
-int hsreqevt_db_backup(int argc, char **argv)
-{
- if (argc >= 1 && !stricmp(argv[0], EVENT_START))
- {
- if (HSRequestDBName)
- ModuleDatabaseBackup(HSRequestDBName);
- else
- ModuleDatabaseBackup(HSREQ_DEFAULT_DBNAME);
- }
-
- return MOD_CONT;
-}
-
void my_load_config()
{
ConfigReader config;
diff --git a/src/modules/os_ignore_db.c b/src/modules/os_ignore_db.c
index f7f6da0ff..c45b8d529 100644
--- a/src/modules/os_ignore_db.c
+++ b/src/modules/os_ignore_db.c
@@ -67,7 +67,6 @@ int new_write_db_entry(const char *key, DBFile *dbptr, const char *fmt, ...);
int new_write_db_endofblock(DBFile *dbptr);
void fill_db_ptr(DBFile *dbptr, int version, int core_version, char service[256], char filename[256]);
-int backup_ignoredb(int argc, char **argv);
void load_ignore_db();
void load_config();
@@ -78,7 +77,6 @@ class OSIgnoreDB : public Module
public:
OSIgnoreDB(const std::string &modname, const std::string &creator) : Module(modname, creator)
{
- EvtHook *hook;
IgnoreDB = NULL;
this->SetAuthor(AUTHOR);
@@ -86,10 +84,7 @@ class OSIgnoreDB : public Module
this->SetType(SUPPORTED);
ModuleManager::Attach(I_OnSaveDatabase, this);
-
- hook = createEventHook(EVENT_DB_BACKUP, backup_ignoredb);
- if (this->AddEventHook(hook) != MOD_ERR_OK)
- throw ModuleException("os_ignore_db: Can't hook to EVENT_DB_BACKUP event");
+ ModuleManager::Attach(I_OnBackupDatabase, this);
load_config();
/* Load the ignore database and re-add them to anopes ignorelist. */
@@ -165,10 +160,13 @@ class OSIgnoreDB : public Module
}
}
-
-};
+ void OnBackupDatabase()
+ {
+ ModuleDatabaseBackup(IgnoreDB);
+ }
+};
/* ------------------------------------------------------------------------------- */
@@ -185,18 +183,6 @@ void load_config() {
alog("[os_ignore_db] debug: Set config vars: OSIgnoreDBName='%s'", IgnoreDB);
}
-/**
- * When anope backs her databases up, we do the same.
- **/
-int backup_ignoredb(int argc, char **argv) {
- if ((argc >= 1) && (!stricmp(argv[0], "stop"))) {
- if (debug)
- alog("[os_ignore_db] debug: Backing up %s database...", IgnoreDB);
- ModuleDatabaseBackup(IgnoreDB);
- }
- return MOD_CONT;
-}
-
/* ------------------------------------------------------------------------------- */
/**************************************************************************
diff --git a/src/modules/os_info.c b/src/modules/os_info.c
index 22d45a61b..c3d05fb85 100644
--- a/src/modules/os_info.c
+++ b/src/modules/os_info.c
@@ -46,7 +46,6 @@ void mMainChanHelp(User *u);
void mMainNickHelp(User *u);
int mLoadData();
-int mBackupData(int argc, char **argv);
int mLoadConfig();
static Module *me;
@@ -304,9 +303,7 @@ class OSInfo : public Module
status = this->AddCommand(CHANSERV, new CommandCSInfo(), MOD_TAIL);
ModuleManager::Attach(I_OnSaveDatabase, this);
-
- hook = createEventHook(EVENT_DB_BACKUP, mBackupData);
- status = this->AddEventHook(hook);
+ ModuleManager::Attach(I_OnBackupDatabase, this);
this->SetNickHelp(mMainNickHelp);
this->SetChanHelp(mMainChanHelp);
@@ -601,6 +598,11 @@ class OSInfo : public Module
}
}
+ void OnBackupDatabase()
+ {
+ ModuleDatabaseBackup(OSInfoDBName);
+ }
+
};
/*************************************************************************/
@@ -667,17 +669,6 @@ int mLoadData()
}
/**
- * Backup our databases using the commands provided by Anope
- * @return MOD_CONT
- **/
-int mBackupData(int argc, char **argv)
-{
- ModuleDatabaseBackup(OSInfoDBName);
-
- return MOD_CONT;
-}
-
-/**
* Load the configuration directives from Services configuration file.
* @return 0 for success
**/