bool InputInterface::configureModules(std::vector<ModulesConfigData>& modulesConfigurations) { std::vector<ModulesConfigData>::iterator it; ModuleInterface* module; bool success = true; for (it = modulesConfigurations.begin(); it != modulesConfigurations.end(); ++it) { ModulesConfigData& data = *it; module = getModuleByName(data.moduleName); if (module) { for (std::vector<moduleInitCallback>::iterator it1 = moduleInitCallbacks.begin(); it1 != moduleInitCallbacks.end(); ++it1) { (*it1)(module); } // for if (!module->loadConfig(data.moduleConfigPath)) { printd(ERROR, "InputInterface::configureModules(): failed to load config for module %s!\n", module->getName().c_str()); success = false; } // if } // if else { printd(ERROR, "InputInterface::configureModules(): could not configure Module %s!\n", data.moduleName.c_str()); success = false; } // if } // for return success; } // configureModules
bool InputInterface::initializeModules(std::vector<ModulesConfigData>& modulesConfigurations) { std::vector<ModulesConfigData>::iterator it; ModuleInterface* module; bool success = true; for (it = modulesConfigurations.begin(); it != modulesConfigurations.end(); ++it) { ModulesConfigData& data = *it; if (data.moduleLibName.length() > 0) module = getModuleByName(data.moduleName, data.moduleLibName); else module = getModuleByName(data.moduleName); if (!module) { printd(ERROR, "InputInterface::initializeModules(): could not load Module %s!\n", data.moduleName.c_str()); success = false; }// if } // for return success; } // initializeModules
// rp_find_library(const name[]) static cell AMX_NATIVE_CALL rp_find_library(AMX *amx, cell *params) { int len; return (cell)getModuleByName(g_amxxapi.GetAmxString(amx, params[1], 0, &len)); }