]>
git.ipfire.org Git - thirdparty/squid.git/blob - src/LoadableModule.h
2 * Copyright (C) 1996-2017 The Squid Software Foundation and contributors
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
9 #ifndef SQUID_LOADABLE_MODULE_H
10 #define SQUID_LOADABLE_MODULE_H
12 #include "SquidString.h"
14 // wrapper for dlopen(3), libltdl, and friends
18 enum LoadMode
{ lmNow
, lmLazy
};
21 LoadableModule(const String
&aName
);
22 ~LoadableModule(); // unloads if loaded
25 const String
&name() const { return theName
; }
26 const String
&error() const { return theError
; }
28 void load(int mode
= lmNow
); // throws Texc
29 void unload(); // throws Texc
37 void *openModule(int mode
);
39 const char *errorMsg();