#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::defaultExtractUnit() const { return _default_translate_rule; } std::shared_ptr TranslateBasic::defaultSizeProvider() const { return _default_size_provider; } std::shared_ptr TranslateBasic::defaultRuleMatch() const { return _default_rule_match; } QHash> TranslateBasic::extractUnitList() const { return _extractor_types; } QHash> TranslateBasic::sizeProviderList() const { return _size_provider_types; } QHash> TranslateBasic::ruleMatchList() const { return _rule_match_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_string = expr; } QString ConstNumberProvider::expression() const { return this->_number._value_string; } void ConstNumberProvider::loadFrom(std::shared_ptr core, const QJsonObject& obj) { STRING_PEAK(_number._value_string, obj); } void ConstNumberProvider::saveTo(QJsonObject& obj) const { STRING_SAVE(_number._value_string, obj); } std::shared_ptr ConstNumberProvider::newDefault() const { return std::make_shared(); }