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 ;
static IssueFactory * s_factory
CallbackMap m_factory_map
bool register_issue(const std::string &name, CreateIssueCallback creator)
register an issue factory
std::map< std::string, CreateIssueCallback > CallbackMap
void write_to(std::ostream &stream) const
writes description to stream
static void print_registered()
prints all registered issue types
static IssueFactory * instance()
method to access singleton
Issue *(*) CreateIssueCallback()
Issue * build(const std::string &name) const
build an empty issue out of a name
efhlt::Interface * factory(void)
std::ostream & operator<<(std::ostream &, const Issue &)
std::map< std::string, std::string > string_map_type