示例#1
0
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
示例#2
0
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
示例#3
0
// 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));
}