我有一个文件解析器接口。可以配置此解析器,然后保存到文件中。可以使用.dll
插件添加新文件类型的新解析器。
class FileParserInterface {
public:
QString toString() const = 0;
QString constructorName() const {return "FileParserInterface";}
SomeDataStruct getData() = 0;
}
因此我需要一些方法来按名称保存这些实例(可以是构造函数的名称)。然后我会有一些方法来逐个字符串获取,例如:
static std::shared_ptr<FileParserInterface> fileParserFromString(const QString& name, const QString& parameters);
我不知道如何线程安全地实现它。我正在使用boost和Qt库。我希望在可能的情况下使用stdlib和Qt。