29 #include <boost/any.hpp>
77 const std::string get_plugin_names()
const;
80 const std::set<std::string> get_set()
const;
117 virtual void do_initialise();
120 void do_add_dependend_handlers(
HandlerHelpMap& handler_map)
const;
122 std::vector<PPluginModule> m_modules;
125 virtual void do_print_short_help(std::ostream& os)
const;
126 virtual void do_print_help(std::ostream& os)
const;
127 virtual void do_get_xml_help(xmlpp::Element *root)
const;
129 static const char *
const m_help;
142 template <
typename T>
164 static const T& instance();
170 static const T* pointer();
183 static const T& do_instance(
bool require_initialization);
186 static bool m_is_created;
187 static CMutex m_initialization_mutex;
188 static bool m_is_initialized;
I Interface
typedef for the plug-in interface provided by the class
std::map< std::string, Interface * > CPluginMap
a map containing the names and theavailabe plug-ins
the singleton that a plug-in handler really is
T::const_iterator const_iterator
iterator to iterator over the actual plug-ins
Class to test plugin handling.
#define NS_MIA_BEGIN
conveniance define to start the mia namespace
std::map< std::string, const CPluginHandlerBase * > HandlerHelpMap
A map that is used to collect the plug-in handlers used in a program.
T Instance
The instance of the plugin handler.
The base class for all plugin handlers.
CPluginMap::const_iterator const_iterator
the iterator to walk over the available plug-ins
tbb::mutex CMutex
The mutex renamed to MIA style.
static CMutex m_creation_mutex
T::CPluginMap::value_type value_type
the name,plug-in pair
The basic template of all plugin handlers.
#define NS_MIA_END
conveniance define to end the mia namespace