QBinaryTranslate/TranslateUI/TranslateBasic.h

25 lines
689 B
C++

#pragma once
#include "extract_basic.h"
#include "convert_basic.h"
/// <summary>
/// ·­Òë³ÌÐòºËÐÄ
/// </summary>
class TranslateBasic {
private:
QHash<QString, std::shared_ptr<ExtractUnit>> _extractor_types;
std::shared_ptr<ExtractUnit> _default_translate_rule = nullptr;
QHash<QString, std::shared_ptr<SizeProvider>> _size_provider_types;
std::shared_ptr<SizeProvider> _default_size_provider = nullptr;
public:
TranslateBasic();
std::shared_ptr<ExtractUnit> defaultRule() const;
std::shared_ptr<SizeProvider> defaultSizeProvider() const;
QHash<QString, std::shared_ptr<ExtractUnit>> extactors() const;
QHash<QString, std::shared_ptr<SizeProvider>> sizeProviders() const;
};