2 * InspIRCd -- Internet Relay Chat Daemon
4 * Copyright (C) 2009 Daniel De Graaf <danieldg@inspircd.org>
5 * Copyright (C) 2007, 2009 Dennis Friis <peavey@inspircd.org>
6 * Copyright (C) 2007 Oliver Lupton <oliverlupton@gmail.com>
7 * Copyright (C) 2003-2004, 2007 Craig Edwards <craigedwards@brainbox.cc>
9 * This file is part of InspIRCd. InspIRCd is free software: you can
10 * redistribute it and/or modify it under the terms of the GNU General Public
11 * License as published by the Free Software Foundation, version 2.
13 * This program is distributed in the hope that it will be useful, but WITHOUT
14 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
18 * You should have received a copy of the GNU General Public License
19 * along with this program. If not, see <http://www.gnu.org/licenses/>.
25 /** The DLLManager class is able to load a module file by filename,
26 * and locate its init_module symbol.
28 class CoreExport DLLManager : public classbase
31 /** The last error string
35 /** Sets the last error string
37 void RetrieveLastError();
40 /** This constructor loads the module using dlopen()
41 * @param fname The filename to load. This should be within
44 DLLManager(const char *fname);
45 virtual ~DLLManager();
47 /** Get the last error from dlopen() or dlsym().
49 const std::string& LastError()
54 /** The module library handle.
58 /** Return a module by calling the init function
62 /** Get detailed version information from the module file */
63 std::string GetVersion();