FOSSredder 0.5.0
Loading...
Searching...
No Matches
ImportStatement.cpp
Go to the documentation of this file.
1
5
6#include "core/pch.h"
9
10#include <memory>
11
13
14namespace {
15
16class ImportStatementImpl final : public IImportStatement {
17public:
18 explicit ImportStatementImpl(std::unique_ptr<IImportStatementStrategy> strategy)
19 : strategy_(std::move(strategy)) {}
20
21 ImportResult importStatement(const ImportRequest& req) override {
22 if (!strategy_) return {};
23 return strategy_->run(req);
24 }
25
26private:
27 std::unique_ptr<IImportStatementStrategy> strategy_;
28};
29
30}
31
32std::shared_ptr<IImportStatement> createImportStatement(std::shared_ptr<core::ports::pdf_rendering::IPdfRenderer> poppler,
33 std::shared_ptr<core::ports::document_image_processing::IDocumentImageProcessor> documentImageProcessor,
34 std::shared_ptr<core::ports::text_recognition::ITextRecognizer> tesseract,
35 std::shared_ptr<core::ports::diagnostics::IErrorReporter> errorReporter) {
36 auto strat = createDefaultImportStrategy(poppler, documentImageProcessor, tesseract, std::move(errorReporter));
37 return std::make_shared<ImportStatementImpl>(std::move(strat));
38}
39
40}
Declares the public statement import service interface and factory.
Declares private import strategy contracts used only by core import implementation files.
Public statement import service used by the import job orchestration.
Collects common core includes and aliases for precompiled-header builds.
std::unique_ptr< IImportStatementStrategy > createDefaultImportStrategy(std::shared_ptr< core::ports::pdf_rendering::IPdfRenderer > poppler, std::shared_ptr< core::ports::document_image_processing::IDocumentImageProcessor > documentImageProcessor, std::shared_ptr< core::ports::text_recognition::ITextRecognizer > tesseract, std::shared_ptr< core::ports::diagnostics::IErrorReporter > errorReporter)
std::shared_ptr< IImportStatement > createImportStatement(std::shared_ptr< core::ports::pdf_rendering::IPdfRenderer > poppler, std::shared_ptr< core::ports::document_image_processing::IDocumentImageProcessor > documentImageProcessor, std::shared_ptr< core::ports::text_recognition::ITextRecognizer > tesseract, std::shared_ptr< core::ports::diagnostics::IErrorReporter > errorReporter)
Creates the default statement import service over the configured adapters.