53 lines
1.8 KiB
C++
53 lines
1.8 KiB
C++
#include "pipeline_plugin_registry.h"
|
|
|
|
namespace core
|
|
{
|
|
void PipelinePluginRegistry::registerPreprocess(const QString &id, const PreprocessFactory &factory)
|
|
{
|
|
m_preprocessFactories.insert(id, factory);
|
|
}
|
|
|
|
void PipelinePluginRegistry::registerTransform(const QString &id, const TransformFactory &factory)
|
|
{
|
|
m_transformFactories.insert(id, factory);
|
|
}
|
|
|
|
void PipelinePluginRegistry::registerRegistration(const QString &id, const RegistrationFactory &factory)
|
|
{
|
|
m_registrationFactories.insert(id, factory);
|
|
}
|
|
|
|
void PipelinePluginRegistry::registerReconstruction(const QString &id, const ReconstructionFactory &factory)
|
|
{
|
|
m_reconstructionFactories.insert(id, factory);
|
|
}
|
|
|
|
std::shared_ptr<IPreprocessStage> PipelinePluginRegistry::createPreprocess(
|
|
const QString &id,
|
|
const PipelineConfig &config) const
|
|
{
|
|
return m_preprocessFactories.contains(id) ? m_preprocessFactories.value(id)(config) : std::shared_ptr<IPreprocessStage>();
|
|
}
|
|
|
|
std::shared_ptr<ITransformStage> PipelinePluginRegistry::createTransform(
|
|
const QString &id,
|
|
const PipelineConfig &config) const
|
|
{
|
|
return m_transformFactories.contains(id) ? m_transformFactories.value(id)(config) : std::shared_ptr<ITransformStage>();
|
|
}
|
|
|
|
std::shared_ptr<IRegistrationStage> PipelinePluginRegistry::createRegistration(
|
|
const QString &id,
|
|
const PipelineConfig &config) const
|
|
{
|
|
return m_registrationFactories.contains(id) ? m_registrationFactories.value(id)(config) : std::shared_ptr<IRegistrationStage>();
|
|
}
|
|
|
|
std::shared_ptr<IReconstructionStage> PipelinePluginRegistry::createReconstruction(
|
|
const QString &id,
|
|
const PipelineConfig &config) const
|
|
{
|
|
return m_reconstructionFactories.contains(id) ? m_reconstructionFactories.value(id)(config) : std::shared_ptr<IReconstructionStage>();
|
|
}
|
|
} // namespace core
|