21 #ifndef mia_core_plugin_base_hh
22 #define mia_core_plugin_base_hh
29 #include <boost/filesystem/path.hpp>
55 ~PrepareTestPluginPath();
88 void add_parameter(
const std::string& name,
CParameter *param);
103 void check_parameters();
106 const char *get_name()
const;
109 const std::string get_descr()
const;
116 void get_short_help(std::ostream& os)
const;
121 virtual void get_help(std::ostream& os)
const;
126 void get_help_xml(xmlpp::Element& root)
const;
141 bool has_property(
const char *property)
const;
168 void add_property(
const char *property);
171 virtual const std::string do_get_descr()
const = 0;
173 virtual void do_get_help_xml(xmlpp::Element& root)
const;
212 template <
typename D,
typename T>
232 virtual void get_help(std::ostream& os)
const;
237 static ::boost::filesystem::path search_path();
240 const std::string get_long_name()
const;
D PlugData
Typedef for the data type descriptor handled by this plug-in.
T PlugType
Typedef for the plugin type descriptor handled by this plug-in.
virtual void get_help(std::ostream &os) const
#define NS_MIA_BEGIN
conveniance define to start the mia namespace
The base class for parameters used in complex options.
std::map< std::string, const CPluginHandlerBase * > HandlerHelpMap
A map that is used to collect the plug-in handlers used in a program.
A class to hold a list of named parameters.
std::map< std::string, std::string > CParsedOptions
std::shared_ptr< CPluginModule > PPluginModule
The base class for all plug-ins.
#define EXPORT_CORE
Macro to manage Visual C++ style dllimport/dllexport.
EXPORT_CORE const std::string plugin_help
standard string to print out help in the factory plug-in handler
This class holds a set of properties.
The generic base for all plug-ins.
#define NS_MIA_END
conveniance define to end the mia namespace