/////////////////////////////////////////////////////////////////////////////////////// /// \file inputmodule.cpp /// \brief Implemenation file for inputmodule.h /// /// \author Joe Siltberg /// $Date: 2013-07-17 09:22:52 +0200 (Wed, 17 Jul 2013) $ /// /////////////////////////////////////////////////////////////////////////////////////// #include "config.h" #include "inputmodule.h" #include "guess.h" /////////////////////////////////////////////////////////////////////////////////////// /// InputModuleRegistry /// InputModuleRegistry& InputModuleRegistry::get_instance() { static InputModuleRegistry instance; return instance; } void InputModuleRegistry::register_input_module(const char* name, InputModuleCreator imc) { modules.insert(make_pair(std::string(name), imc)); } InputModule* InputModuleRegistry::create_input_module(const char* name) const { std::map::const_iterator itr = modules.find(name); if (itr != modules.end()) { return (itr->second)(); } else { fail("Couldn't find input module %s\n", name); return 0; } } void InputModuleRegistry::get_input_module_list(std::string& list) { list = ""; std::map::iterator it = modules.begin(); while (it!=modules.end()) { list += it->first + ";"; it++; } }