FOSSredder 0.5.0
Loading...
Searching...
No Matches
ExportService.h
Go to the documentation of this file.
1
5
6#pragma once
7
11
12#include <memory>
13
15class IArchive;
16}
18class IAnalysisRenderer;
19}
21class IXlsxWriter;
22}
23
25
30public:
31 explicit ExportService(
32 std::shared_ptr<core::ports::archive::IArchive> archive = {},
33 std::shared_ptr<core::ports::xlsx_writer::IXlsxWriter> xlsxWriter = {},
34 std::shared_ptr<
36 imageRenderer = {});
37
46 core::ports::exporting::ExportRequest request) const override;
47
50 const core::ports::exporting::ExportRequest &request) const;
51
52private:
53 std::shared_ptr<core::ports::archive::IArchive> archive_;
54 std::shared_ptr<core::ports::xlsx_writer::IXlsxWriter> xlsxWriter_;
55 std::shared_ptr<core::ports::analysis_rendering::IAnalysisRenderer>
56 imageRenderer_;
57};
58
59} // namespace core::application::exporting
Declares the export execution result port contract.
Export use-case port consumed by UI workflows.
Domain aggregate that stores catalog entities for one workspace.
ExportService(std::shared_ptr< core::ports::archive::IArchive > archive={}, std::shared_ptr< core::ports::xlsx_writer::IXlsxWriter > xlsxWriter={}, std::shared_ptr< core::ports::analysis_rendering::IAnalysisRenderer > imageRenderer={})
core::ports::exporting::ExportResult runExport(const core::ports::workspace::WorkspaceSnapshot &workspace, core::ports::exporting::ExportRequest request) const override
Dispatches an export request to the appropriate exporter implementation.
core::ports::exporting::ExportResult exportData(const core::domain::catalog::WorkspaceCatalog &state, const core::ports::exporting::ExportRequest &request) const
Renders analysis results to image artifacts.
Abstraction for writing exported artifacts into archive files.
Definition IArchive.h:17
Writes tabular export data to XLSX workbooks.
Definition IXlsxWriter.h:17
Describes one export run against a workspace snapshot.