charon-core  0.3.1
PluginManagerInterface.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 PLUGINMANAGERINTERFACE_H_
25 #define PLUGINMANAGERINTERFACE_H_
26 
27 #include "ParameteredObject.h"
28 
31 public:
33 
36  virtual ParameteredObject*
37  getInstance(const std::string & instanceName) const = 0;
38 
40 
52  virtual std::set<std::string> getConnected (
53  const std::string & root,
54  const ParameterFile & pf) const = 0;
55 
58 
59  virtual bool initializePluginOnLoad() const = 0;
60  virtual void setInitiailizePluginOnLoad (bool initOnLoad) = 0;
61 
64  PluginVersionIgnore = 0,
65  PluginVersionWarn = 1,
66  PluginVersionDiscard = 2
67  };
68 
70 
72  virtual std::string templateTypeToString(
74 };
75 
76 #endif /* PLUGINMANAGERINTERFACE_H_ */
Interface for a plugin manager.
This class serves to store parameters used within the Charon Project.
Definition: ParameterFile.h:68
virtual ~PluginManagerInterface()
Default destructor.
#define charon_core_PUBLIC
Preprocessor macro to define this class/function as public visible, i.e.
Definition: DllEx.h:81
template_type
Integer which represents a template type.
Base class for serializable objects.
Declaration of the base class ParameteredObject.
PluginVersionCheckLevel
info how to handle version information