-
Jan Trávníček authoredJan Trávníček authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Registry.cpp 3.28 KiB
/*
* Registry.cpp
*
* Created on: 10. 7. 2017
* Author: Jan Travnicek
*/
#include <abstraction/Registry.h>
#include <abstraction/AlgorithmRegistry.hpp>
#include <abstraction/ImmediateRegistry.hpp>
#include <abstraction/XmlParserRegistry.hpp>
#include <abstraction/XmlFileWriterRegistry.hpp>
#include <abstraction/ValuePrinterRegistry.hpp>
#include <abstraction/CastRegistry.hpp>
#include <abstraction/NormalizeRegistry.hpp>
#include <abstraction/DowncastRegistry.hpp>
namespace abstraction {
void Registry::listAlgorithmGroup ( const std::string & group ) {
AlgorithmRegistry::listGroup ( group );
}
void Registry::listAlgorithmOverloads ( const std::string & algorithm ) {
AlgorithmRegistry::listOverloads ( algorithm );
}
void Registry::listAlgorithms ( ) {
AlgorithmRegistry::list ( );
}
void Registry::listDataTypes ( ) {
XmlFileWriterRegistry::list ( );
}
void Registry::listDataTypeGroup ( const std::string & group ) {
XmlFileWriterRegistry::listGroup ( group );
}
void Registry::listCastsFrom ( const std::string & type ) {
CastRegistry::listFrom ( type );
}
void Registry::listCastsTo ( const std::string & type ) {
CastRegistry::listTo ( type );
}
std::shared_ptr < abstraction::OperationAbstraction > Registry::getAlgorithmAbstraction ( const std::string & name, const ext::vector < std::string > & paramTypes ) {
return AlgorithmRegistry::getAbstraction ( name, paramTypes );
}
std::shared_ptr < abstraction::OperationAbstraction > Registry::getAlgorithmAbstraction ( const std::string & name, const ext::vector < std::string > & paramTypes, bool & unwrap, bool & normalize ) {
return AlgorithmRegistry::getAbstraction ( name, paramTypes, unwrap, normalize );
}
std::shared_ptr < abstraction::OperationAbstraction > Registry::getCastAbstraction ( const std::string & target, const std::string & param, bool & normalize ) {
return CastRegistry::getAbstraction ( target, param, normalize );
}
bool Registry::isCastNoOp ( const std::string & target, const std::string & param ) {
return CastRegistry::isNoOp ( target, param );
}
std::shared_ptr < abstraction::OperationAbstraction > Registry::getImmediateAbstraction ( const std::string & result, std::string value ) {
return ImmediateRegistry::getAbstraction ( result, std::move ( value ) );
}
std::shared_ptr < abstraction::OperationAbstraction > Registry::getNormalizeAbstraction ( const std::string & param ) {
return NormalizeRegistry::getAbstraction ( param );
}
std::shared_ptr < abstraction::OperationAbstraction > Registry::getDowncastAbstraction ( const std::string & concrete, const std::string & base ) {
return DowncastRegistry::getAbstraction ( concrete, base );
}
std::shared_ptr < abstraction::OperationAbstraction > Registry::getValuePrinterAbstraction ( const std::string & param ) {
return ValuePrinterRegistry::getAbstraction ( param );
}
std::shared_ptr < abstraction::OperationAbstraction > Registry::getXmlFileWriterAbstraction ( const std::string & param, std::string filename ) {
return XmlFileWriterRegistry::getAbstraction ( param, std::move ( filename ) );
}
std::shared_ptr < abstraction::OperationAbstraction > Registry::getXmlParserAbstraction ( const std::string & typeName, ext::deque < sax::Token > tokens ) {
return XmlParserRegistry::getAbstraction ( typeName, std::move ( tokens ) );
}
} /* namespace abstraction */