knowrob  2.1.0
A Knowledge Base System for Cognition-enabled Robots
PluginFactory.h
Go to the documentation of this file.
1 /*
2  * This file is part of KnowRob, please consult
3  * https://github.com/knowrob/knowrob for license details.
4  */
5 
6 #ifndef KNOWROB_PLUGIN_FACTORY_H_
7 #define KNOWROB_PLUGIN_FACTORY_H_
8 
9 #include <string>
10 #include <memory>
11 #include "NamedPlugin.h"
12 
13 namespace knowrob {
18  template<class T>
19  class PluginFactory {
20  public:
21  virtual ~PluginFactory() = default;
22 
28  virtual std::shared_ptr<NamedPlugin<T>> create(std::string_view pluginID) = 0;
29 
33  virtual std::string_view name() const = 0;
34  };
35 }
36 
37 #endif //KNOWROB_PLUGIN_FACTORY_H_
virtual std::shared_ptr< NamedPlugin< T > > create(std::string_view pluginID)=0
virtual std::string_view name() const =0
virtual ~PluginFactory()=default