All pastes #180789 Raw Edit

Someone

public text v1 · immutable
#180789 ·published 2006-09-24 07:15 UTC
rendered paste body
#include <iostream>
#include "module.h"

struct IRCModuleList {
	bool loaded;
	IRCModuleInfo* info;
	IRCModule *module;
	IRCModuleList *next;
};

enum IRCModuleLoadResult {
	LOAD_SUCCESS = 0,
	LOAD_NO_OBJ_PTR = 1,
	LOAD_FILE_NOT_FOUND = 2,
	LOAD_UNKNOWN_ERROR = 10
};

class IRCModuleWrapper {
	public:
		IRCModuleWrapper();
		~IRCModuleWrapper();
		
		IRCModuleLoadResult LoadModule(char *filename);
		void UnloadModule(char *module_id);
		void UnloadAllModules();
	protected:
		//
	private:
		IRCModuleList *module_list;
		IRCBot *bot_ptr;
		
		void RegisterModule(IRCModuleList *mod_list, IRCModuleInfo *info, IRCModule *module);
		void UnregisterModule(IRCModuleList *mod_list, bool recursive);
};