LoadableModule.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 1996-2023 The Squid Software Foundation and contributors
3 *
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.
7 */
8
9#ifndef SQUID_LOADABLE_MODULE_H
10#define SQUID_LOADABLE_MODULE_H
11
12#include "SquidString.h"
13
14// wrapper for dlopen(3), libltdl, and friends
16{
17public:
18 LoadableModule(const String &aName);
19 ~LoadableModule(); // unloads if loaded
20
21 bool loaded() const;
22 const String &name() const { return theName; }
23 const String &error() const { return theError; }
24
25 void load(); // throws Texc
26 void unload(); // throws Texc
27
28protected:
31 void *theHandle;
32
33private:
34 void *openModule();
35 bool closeModule();
36 const char *errorMsg();
37};
38
39#endif
40
const String & name() const
const char * errorMsg()
const String & error() const
LoadableModule(const String &aName)
void * openModule()
bool loaded() const

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors