]>
git.ipfire.org Git - thirdparty/squid.git/blob - src/LoadableModule.h
2 * Copyright (C) 1996-2023 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_SRC_LOADABLEMODULE_H
10 #define SQUID_SRC_LOADABLEMODULE_H
12 #include "sbuf/SBuf.h"
14 // wrapper for dlopen(3), libltdl, and friends
18 explicit LoadableModule(const SBuf
&aName
);
19 ~LoadableModule(); // unloads if loaded
22 const auto &name() const { return theName
; }
23 const auto &error() const { return theError
; }
25 void load(); // throws Texc
26 void unload(); // throws Texc
31 void *theHandle
= nullptr;
36 const char *errorMsg();
39 #endif /* SQUID_SRC_LOADABLEMODULE_H */