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);
};