- DLLFactory(InspIRCd* Instance, const char *fname, const char *func_name=0) : DLLFactoryBase(Instance, fname, func_name)
+ DLLFactory(InspIRCd* Instance, const char *fname, const char *func_name)
+ : DLLManager(Instance, fname), init_func(NULL), ServerInstance(Instance)
+ {
+ const char* error = LastError();
+
+ if(!error)
+ {
+ if(!GetSymbol((void **)&init_func, func_name))
+ {
+ throw FindSymbolException("Missing " + std::string(func_name) + "() entrypoint!");
+ }
+ }
+ else
+ {
+ throw LoadModuleException(error);
+ }
+ }
+
+ ReturnType* CallInit()