FOSSredder 0.5.0
Loading...
Searching...
No Matches
IImportRunner.h
Go to the documentation of this file.
1
5
6#pragma once
7
11
12#include <cstdint>
13#include <functional>
14#include <string>
15#include <vector>
16
18
27
34
36 std::string importId;
37 std::uint64_t subscriptionId = 0;
38};
39
41 std::function<void(const StatementImportEvent &)>;
42
44public:
48 virtual ~IImportRunner() = default;
49
56 [[nodiscard]] virtual StatementImportHandle
58 StatementImportEventCallback callback) = 0;
59
64 virtual void unsubscribe(const StatementImportHandle &handle) = 0;
65
70 virtual void cancel(const StatementImportHandle &handle) = 0;
71
76 virtual void pause(const StatementImportHandle &handle) = 0;
77
82 virtual void resume(const StatementImportHandle &handle) = 0;
83
89 [[nodiscard]] virtual ImportResult
91
101 const core::ports::importing::draft::DraftLinkSelection &selection) const = 0;
102
114 const = 0;
115
126 const = 0;
127
139 const std::string &sourceFile,
142 const std::vector<core::ports::importing::draft::TransactionDraft>
143 &transactions,
144 const std::string &draftId) const = 0;
145
154
164 const core::ports::workspace::WorkspaceSnapshot &state) const = 0;
165
175 const core::ports::workspace::WorkspaceSnapshot &secondary) const = 0;
176
177};
178
179} // namespace core::ports::importing
Immutable workspace read-model snapshot exposed through workspace ports.
virtual ImportResult importResult(const StatementImportHandle &handle)=0
Returns the completed import result for a handle.
virtual void cancel(const StatementImportHandle &handle)=0
Requests cancellation of an import.
virtual void unsubscribe(const StatementImportHandle &handle)=0
Removes a progress subscription for an import.
virtual void pause(const StatementImportHandle &handle)=0
Pauses a running import.
virtual StatementImportHandle startStatementImport(const ImportRequest &request, StatementImportEventCallback callback)=0
Starts an asynchronous statement import.
virtual core::ports::importing::draft::DraftDerivedState buildDraftDerivedState(const core::ports::workspace::WorkspaceSnapshot &state, const core::ports::importing::draft::DraftLinkSelection &selection) const =0
Builds derived selection state for a draft link selection.
virtual core::ports::importing::draft::StatementDraft buildStatementDraft(const std::string &sourceFile, const core::ports::workspace::StatementSnapshot &statement, const core::ports::workspace::WorkspaceSnapshot &state, const std::vector< core::ports::importing::draft::TransactionDraft > &transactions, const std::string &draftId) const =0
Builds a statement draft from imported statement data.
virtual core::ports::workspace::StatementDraftSnapshot buildStatementDraftSnapshot(const core::ports::importing::draft::StatementDraft &draft, const core::ports::workspace::WorkspaceSnapshot &state) const =0
Converts a runtime statement draft to a workspace draft snapshot.
virtual core::ports::workspace::WorkspaceSnapshot mergeWorkspaceState(core::ports::workspace::WorkspaceSnapshot primary, const core::ports::workspace::WorkspaceSnapshot &secondary) const =0
Merges two workspace snapshots for import matching context.
virtual core::ports::importing::draft::StatementDraftEditResult updateStatementDraft(core::ports::importing::draft::StatementDraft &draft, const core::ports::importing::draft::StatementDraftEdit &edit) const =0
Applies one edit command to a statement draft.
virtual bool updateTransactionDraft(core::ports::importing::draft::TransactionDraft &draft, const core::ports::workspace::WorkspaceSnapshot &state, const core::ports::importing::draft::TransactionDraftEdit &edit) const =0
Applies one edit command to a transaction draft.
virtual ~IImportRunner()=default
Destroys the import runner port.
virtual void resume(const StatementImportHandle &handle)=0
Resumes a paused import.
virtual core::ports::importing::draft::StatementDraft restoreStatementDraft(const core::ports::workspace::StatementDraftSnapshot &draft) const =0
Restores a runtime statement draft from a workspace draft snapshot.
std::function< void(const StatementImportEvent &)> StatementImportEventCallback
Import request contract exposed through import ports.
Import result and draft contracts exposed through import ports.