10#ifndef ERS_ISSUE_FACTORY
11#define ERS_ISSUE_FACTORY
33 typedef Issue* (*CreateIssueCallback)();
34 typedef std::map<std::string,CreateIssueCallback>
CallbackMap ;
47 void write_to(std::ostream& stream)
const ;
efhlt::Interface * factory(void)
static IssueFactory * s_factory
Issue *(* CreateIssueCallback)()
CallbackMap m_factory_map
bool register_issue(const std::string &name, CreateIssueCallback creator)
register an issue factory
void write_to(std::ostream &stream) const
writes description to stream
static void print_registered()
prints all registered issue types
std::map< std::string, CreateIssueCallback > CallbackMap
static IssueFactory * instance()
method to access singleton
Issue * build(const std::string &name) const
build an empty issue out of a name
std::ostream & operator<<(std::ostream &, const Issue &)
std::map< std::string, std::string > string_map_type