#include "TranslateBasic.h" using namespace extract; TranslateBasic::TranslateBasic() { // extractor type-list std::shared_ptr u_ptr = std::make_shared(); _extractor_types[u_ptr->name()] = u_ptr; u_ptr = std::make_shared(); _extractor_types[u_ptr->name()] = u_ptr; u_ptr = std::make_shared(); _extractor_types[u_ptr->name()] = u_ptr; u_ptr = std::make_shared(); _extractor_types[u_ptr->name()] = u_ptr; u_ptr = std::make_shared(); _extractor_types[u_ptr->name()] = u_ptr; this->_default_translate_rule = u_ptr; u_ptr = std::make_shared(); _extractor_types[u_ptr->name()] = u_ptr; u_ptr = std::make_shared(); _extractor_types[u_ptr->name()] = u_ptr; u_ptr = std::make_shared(); _extractor_types[u_ptr->name()] = u_ptr; // size-provider type-list auto sz_ptr = std::make_shared(); this->_default_size_provider = sz_ptr; _size_provider_types[sz_ptr->name()] = sz_ptr; } std::shared_ptr TranslateBasic::defaultRule() const { return _default_translate_rule; } std::shared_ptr TranslateBasic::defaultSizeProvider() const { return _default_size_provider; } QHash> TranslateBasic::extactors() const { return _extractor_types; } QHash> TranslateBasic::sizeProviders() const { return _size_provider_types; } QString ConstNumberProvider::name() const { return NAME(ConstNumberProvider); } int32_t ConstNumberProvider::value(const QString& expr) const { return expr.toInt(); } void ConstNumberProvider::setExpression(const QString& expr) { this->_number_value = expr; } QString ConstNumberProvider::expression() const { return this->_number_value; }