All pastes #180555 Raw Edit

Stuff

public cpp v1 · immutable
#180555 ·published 2006-09-23 09:29 UTC
rendered paste body
#include "module_wrapper.h"IRCModuleWrapper::IRCModuleWrapper() {	//}IRCModuleWrapper::~IRCModuleWrapper() {	//}void IRCModuleWrapper::LoadModule(char *filename) {	void *handle = dlopen(filename, RTLD_NOW);	if(handle == NULL) {		std::cerr << dlerror() << std::endl;		exit(-1);	}		void *maker = dlsym(handle, "GiveModulePtrToProg");	IRCModule *module = ((IRCModule *(*)())(maker))();		if(!module_list) {		module_list = new IRCModuleList;		module_list->loaded = false;		module_list->module = module;		module_list->info = module->getModuleInfo();		module_list->next = 0;		RegisterModule(module_list, module->getModuleInfo(), module);	} else {		RegisterModule(module_list, module->getModuleInfo(), module);	}}void IRCModuleWrapper::UnloadModule() {	//}void IRCModuleWrapper::RegisterModule(IRCModuleList *mod_list, IRCModuleInfo *info, IRCModule *module) {	if(!mod_list->module) {		if(!mod_list->next) {			mod_list->next = new IRCModuleList;			mod_list->next->info = 0;			mod_list->next->loaded = false;			mod_list->next->module = 0;			mod_list->next->next = 0;		}		RegisterModule(mod_list->next, info, module);	} else {		mod_list->loaded = false;		mod_list->info = info;		mod_list->module = module;	}}void IRCModuleWrapper::UnregisterModule() {	//}