Backendmanager implementation
This commit is contained in:
parent
daddd47c43
commit
fe6b242501
|
@ -9,6 +9,7 @@ add_executable(Lexesis
|
||||||
main.cpp
|
main.cpp
|
||||||
automata.cpp
|
automata.cpp
|
||||||
backend.cpp
|
backend.cpp
|
||||||
|
backendmanager.cpp
|
||||||
re.cpp
|
re.cpp
|
||||||
inputparser.cpp
|
inputparser.cpp
|
||||||
template.cpp
|
template.cpp
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
#include "Lexesis/backendmanager.h"
|
||||||
|
#include "Lexesis/backend.h"
|
||||||
|
|
||||||
|
namespace lxs {
|
||||||
|
void BackendManager::registerBackend(std::unique_ptr<Backend> backend) {
|
||||||
|
m_backends.push_back(std::move(backend));
|
||||||
|
}
|
||||||
|
|
||||||
|
Backend* BackendManager::findBackendForLang(std::string lang) {
|
||||||
|
for(std::unique_ptr<Backend> &backend: m_backends) {
|
||||||
|
if(backend->canProcessLang(lang)) return backend.get();
|
||||||
|
}
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue