12 #include "libhmsbeagle/config.h"
15 #include "libhmsbeagle/platform.h"
16 #include "libhmsbeagle/BeagleImpl.h"
17 #include "libhmsbeagle/plugin/SharedLibrary.h"
35 Plugin(
const char* plugin_name,
const char* plugin_type)
36 : m_plugin_name(plugin_name), m_plugin_type(plugin_type) {}
38 virtual std::string pluginName()
const{
return m_plugin_name; }
39 virtual std::string pluginType()
const{
return m_plugin_type; }
41 virtual const std::list<beagle::BeagleImplFactory*>& getBeagleFactories()
const{
return beagleFactories; }
42 virtual const std::list<BeagleResource>& getBeagleResources()
const{
return beagleResources; }
45 std::list<beagle::BeagleImplFactory*> beagleFactories;
46 std::list<BeagleResource> beagleResources;
47 std::string m_plugin_name;
48 std::string m_plugin_type;
51 typedef Plugin* (*plugin_init_func)(void);
58 Plugin* findPlugin(
const char* name)
64 std::string m_library_name;
67 ~PluginInfo() {
delete m_plugin;
delete m_library; }
68 PluginInfo() : m_library(0), m_plugin(0) {}
72 std::map<std::string,PluginInfo* > m_plugin_map;
79 #endif // __PLUGIN_H__