summaryrefslogtreecommitdiff
path: root/src/modules.c
diff options
context:
space:
mode:
authorRobin Burchell w00t@inspircd.org <Robin Burchell w00t@inspircd.org@5417fbe8-f217-4b02-8779-1006273d7864>2008-11-09 03:03:12 +0000
committerRobin Burchell w00t@inspircd.org <Robin Burchell w00t@inspircd.org@5417fbe8-f217-4b02-8779-1006273d7864>2008-11-09 03:03:12 +0000
commitd35316711894c64f781d923a88243da5757cc2ab (patch)
tree7f1d8545a6806c798fcd41c16878b6319ed61fc0 /src/modules.c
parentb7d84f0b68ec15e80d2b69e63306e85443e24648 (diff)
Add module.cpp and modulemanager.cpp.
- module.cpp: contains (new/"good") code relating to modules. Crappy/stuff to be replaced will stay in modules.c - modulemanager.cpp: contains stuff *manipulating* modules. git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1611 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src/modules.c')
-rw-r--r--src/modules.c166
1 files changed, 0 insertions, 166 deletions
diff --git a/src/modules.c b/src/modules.c
index 3de81cec0..88e788aa7 100644
--- a/src/modules.c
+++ b/src/modules.c
@@ -1,4 +1,3 @@
-
/* Modular support
*
* (C) 2003-2008 Anope Team
@@ -277,169 +276,6 @@ void modules_unload_all(bool fini, bool unload_proto)
}
}
-Module::Module(const std::string &mname, const std::string &creator)
-{
- this->name = mname; /* Our name */
- this->filename = NULL;
- this->nickHelp = NULL;
- this->chanHelp = NULL;
- this->memoHelp = NULL;
- this->botHelp = NULL;
- this->operHelp = NULL;
- this->hostHelp = NULL;
- this->helpHelp = NULL;
- this->type = THIRD;
- this->handle = NULL;
-
- for (int i = 0; i < NUM_LANGS; i++)
- {
- this->lang[i].argc = 0;
- }
-}
-
-Module::~Module()
-{
- int i = 0;
- mod_current_module = this;
-
- for (i = 0; i < NUM_LANGS; i++)
- moduleDeleteLanguage(i);
-
- if (this->filename)
- {
- remove(this->filename);
- free(this->filename);
- }
-
- if (this->handle)
- {
- if ((ano_modclose(this->handle)) != 0)
- alog("%s", ano_moderr());
- }
-
- int idx;
- CommandHash *current = NULL;
- MessageHash *mcurrent = NULL;
- EvtMessageHash *ecurrent = NULL;
- EvtHookHash *ehcurrent = NULL;
-
- Command *c;
- Message *msg;
- EvtMessage *eMsg;
- EvtHook *eHook;
- int status = 0;
-
- /* Kill any active callbacks this module has */
- moduleCallBackPrepForUnload(this->name.c_str());
-
- /* Remove any stored data this module has */
- moduleDelAllDataMod(this);
-
- /**
- * ok, im going to walk every hash looking for commands we own, now, not exactly elegant or efficiant :)
- **/
- for (idx = 0; idx < MAX_CMD_HASH; idx++) {
- for (current = HS_cmdTable[idx]; current; current = current->next) {
- for (c = current->c; c; c = c->next) {
- if ((c->mod_name) && (strcmp(c->mod_name, this->name.c_str()) == 0)) {
- this->DelCommand(HOSTSERV, c->name);
- }
- }
- }
-
- for (current = BS_cmdTable[idx]; current; current = current->next) {
- for (c = current->c; c; c = c->next) {
- if ((c->mod_name) && (strcmp(c->mod_name, this->name.c_str()) == 0)) {
- this->DelCommand(BOTSERV, c->name);
- }
- }
- }
-
- for (current = MS_cmdTable[idx]; current; current = current->next) {
- for (c = current->c; c; c = c->next) {
- if ((c->mod_name) && (strcmp(c->mod_name, this->name.c_str()) == 0)) {
- this->DelCommand(MEMOSERV, c->name);
- }
- }
- }
-
- for (current = NS_cmdTable[idx]; current; current = current->next) {
- for (c = current->c; c; c = c->next) {
- if ((c->mod_name) && (strcmp(c->mod_name, this->name.c_str()) == 0)) {
- this->DelCommand(NICKSERV, c->name);
- }
- }
- }
-
- for (current = CS_cmdTable[idx]; current; current = current->next) {
- for (c = current->c; c; c = c->next) {
- if ((c->mod_name) && (strcmp(c->mod_name, this->name.c_str()) == 0)) {
- this->DelCommand(CHANSERV, c->name);
- }
- }
- }
-
- for (current = HE_cmdTable[idx]; current; current = current->next) {
- for (c = current->c; c; c = c->next) {
- if ((c->mod_name) && (strcmp(c->mod_name, this->name.c_str()) == 0)) {
- this->DelCommand(HELPSERV, c->name);
- }
- }
- }
-
- for (current = OS_cmdTable[idx]; current; current = current->next) {
- for (c = current->c; c; c = c->next) {
- if ((c->mod_name) && (stricmp(c->mod_name, this->name.c_str()) == 0)) {
- this->DelCommand(OPERSERV, c->name);
- }
- }
- }
-
- for (mcurrent = IRCD[idx]; mcurrent; mcurrent = mcurrent->next) {
- for (msg = mcurrent->m; msg; msg = msg->next) {
- if ((msg->mod_name)
- && (stricmp(msg->mod_name, this->name.c_str()) == 0)) {
- moduleDelMessage(msg->name);
- }
- }
- }
-
- for (ecurrent = EVENT[idx]; ecurrent; ecurrent = ecurrent->next) {
- for (eMsg = ecurrent->evm; eMsg; eMsg = eMsg->next) {
- if ((eMsg->mod_name)
- && (stricmp(eMsg->mod_name, this->name.c_str()) == 0)) {
- status = delEventHandler(EVENT, eMsg, this->name.c_str());
- }
- }
- }
- for (ehcurrent = EVENTHOOKS[idx]; ehcurrent;
- ehcurrent = ehcurrent->next) {
- for (eHook = ehcurrent->evh; eHook; eHook = eHook->next) {
- if ((eHook->mod_name)
- && (stricmp(eHook->mod_name, this->name.c_str()) == 0)) {
- status = delEventHook(EVENTHOOKS, eHook, this->name.c_str());
- }
- }
- }
-
- }
-}
-
-void Module::SetType(MODType type)
-{
- this->type = type;
-}
-
-void Module::SetVersion(const std::string &version)
-{
- this->version = version;
-}
-
-void Module::SetAuthor(const std::string &author)
-{
- this->author = author;
-}
-
void Module::InsertLanguage(int langNumber, int ac, const char **av)
{
int i;
@@ -459,8 +295,6 @@ void Module::InsertLanguage(int langNumber, int ac, const char **av)
}
}
-
-
/**
* Add the module to the list of currently loaded modules.
* @param m the currently loaded module