diff options
Diffstat (limited to 'src/modules')
| -rw-r--r-- | src/modules/hs_request.c | 16 | ||||
| -rw-r--r-- | src/modules/os_info.c | 15 |
2 files changed, 31 insertions, 0 deletions
diff --git a/src/modules/hs_request.c b/src/modules/hs_request.c index 0494a08c9..38ec0e04d 100644 --- a/src/modules/hs_request.c +++ b/src/modules/hs_request.c @@ -76,6 +76,7 @@ int ns_do_drop(User * u); void hsreq_save_db(void); void hsreq_load_db(void); int hsreqevt_db_saving(int argc, char **argv); +int hsreqevt_db_backup(int argc, char **argv); void my_load_config(void); void my_add_languages(void); @@ -117,6 +118,9 @@ int AnopeInit(int argc, char **argv) hook = createEventHook(EVENT_DB_SAVING, hsreqevt_db_saving); moduleAddEventHook(hook); + hook = createEventHook(EVENT_DB_BACKUP, hsreqevt_db_backup); + moduleAddEventHook(hook); + moduleSetHostHelp(hs_help); moduleAddAuthor(AUTHOR); moduleAddVersion(VERSION); @@ -680,6 +684,18 @@ int hsreqevt_db_saving(int argc, char **argv) return MOD_CONT; } +int hsreqevt_db_backup(int argc, char **argv) +{ + if ((argc >= 1) && (stricmp(argv[0], EVENT_START) == 0)) { + if (HSRequestDBName) + ModuleDatabaseBackup(HSRequestDBName); + else + ModuleDatabaseBackup(HSREQ_DEFAULT_DBNAME); + } + + return MOD_CONT; +} + void my_load_config(void) { int i; diff --git a/src/modules/os_info.c b/src/modules/os_info.c index e1af20d8c..9f2d3aa05 100644 --- a/src/modules/os_info.c +++ b/src/modules/os_info.c @@ -55,6 +55,7 @@ void m_AddLanguages(void); int mLoadData(void); int mSaveData(int argc, char **argv); +int mBackupData(int argc, char **argv); int mLoadConfig(); int mEventReload(int argc, char **argv); @@ -99,6 +100,9 @@ int AnopeInit(int argc, char **argv) hook = createEventHook(EVENT_DB_SAVING, mSaveData); status = moduleAddEventHook(hook); + hook = createEventHook(EVENT_DB_BACKUP, mBackupData); + status = moduleAddEventHook(hook); + hook = createEventHook(EVENT_RELOAD, mEventReload); status = moduleAddEventHook(hook); @@ -450,6 +454,17 @@ int mSaveData(int argc, char **argv) } /** + * 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 **/ |
