charon-core  0.3.1
UnixPluginLoader.h
Go to the documentation of this file.
1 /* This file is part of Charon.
2 
3  Charon is free software: you can redistribute it and/or modify
4  it under the terms of the GNU Lesser General Public License as published by
5  the Free Software Foundation, either version 3 of the License, or
6  (at your option) any later version.
7 
8  Charon is distributed in the hope that it will be useful,
9  but WITHOUT ANY WARRANTY; without even the implied warranty of
10  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  GNU Lesser General Public License for more details.
12 
13  You should have received a copy of the GNU Lesser General Public License
14  along with Charon. If not, see <http://www.gnu.org/licenses/>.
15  */
24 #ifndef LINUXPLUGINLOADER_H_
25 #define LINUXPLUGINLOADER_H_
26 
27 #include "AbstractPluginLoader.h"
28 
41 private:
45  void * libHandle;
46 
47 public:
55  const std::string& name,
56  std::vector<std::string>& plpaths,
57  std::string& lSuffix,
59  PluginManagerInterface::PluginVersionIgnore);
60  virtual void load() throw (PluginException);
61  virtual void unload() throw (PluginException);
62 
67  virtual ~UnixPluginLoader();
68 };
69 
70 #endif /* LINUXPLUGINLOADER_H_ */
virtual void load()=0
Loads the plugin.
Handles ParameteredObject based plugins on Unix based systems.
Declares an abstract base class for a plugin loader.
PluginVersionCheckLevel
info how to handle version information
#define charon_plugins_DLL_PUBLIC
Preprocessor macro to define this class/function as public visible, i.e.
Definition: DllEx.h:83
void * libHandle
Points to the loaded library.
Abstract base class for a plugin loader.