载入中...
搜索中...
未找到
EditorDocumentService.cpp
浏览该文件的文档.
11 return eve::editing::failed<StoredDocument>(EditorStatus::NotFound, RuleId("editor.document.store-not-found"),
22 const std::string currentHash = found == documents_.end() ? std::string{} : found->second.contentHash;
24 return eve::editing::failed<StoredDocument>(EditorStatus::Conflict, RuleId("editor.document.disk-conflict"),
34Result<DocumentSnapshot> DocumentService::open(DocumentKey key, std::string title, std::string resourceUri,
81 return eve::editing::failed<SaveTicket>(EditorStatus::NotFound, RuleId("editor.document.not-open"),
121 return eve::editing::failed<EditorValue>(EditorStatus::NotFound, RuleId("editor.document.not-open"),
140 [](const DocumentSnapshot& left, const DocumentSnapshot& right) { return left.id < right.id; });
151 if (found == open_.end()) return error(EditorStatus::NotFound, "editor.document.not-open", "Document is not open");
171 return Result<DocumentSnapshot>::failure(eve::Status(status, found->second.snapshot.diagnostics));
186 eve::DiagnosticCode::Conflict, RuleId("editor.document.external-conflict"), DiagnosticSeverity::Error,
226Result<DocumentSnapshot> DocumentService::error(EditorStatus status, const char* rule, std::string message) {
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
UUID-backed identifier adapter for legacy textual boundaries.
Definition Identity.h:314
const std::string & value() const noexcept
Returns the exact legacy or canonical compatibility spelling.
Definition Identity.h:362
Deterministic owning value tree shared by authoring hosts.
Definition EditingValue.h:19
std::function< Result< void >(const EditorValue &)> ContentValidator
Synchronous content validator borrowed only for one external reconciliation call.
Definition EditorDocumentService.h:121
Result< DocumentSnapshot > reconcileExternal(const DocumentId &document)
Reconcile one open document with the latest store value. Clean documents adopt external content; dirt...
Definition EditorDocumentService.cpp:144
Result< DocumentSnapshot > edit(const DocumentId &document, EditorValue content, std::optional< Revision > expectedRevision=std::nullopt)
Replace the working content using an optional expected edit revision.
Definition EditorDocumentService.cpp:65
Result< DocumentSnapshot > snapshot(const DocumentId &document) const
Return one metadata snapshot.
Definition EditorDocumentService.cpp:126
Result< DocumentSnapshot > executeSave(const SaveTicket &ticket)
Execute a captured save ticket without reading newer working content.
Definition EditorDocumentService.cpp:93
std::vector< DocumentSnapshot > documents() const
Return all open documents in stable id order.
Definition EditorDocumentService.cpp:132
Result< EditorValue > content(const DocumentId &document) const
Return the current working content snapshot.
Definition EditorDocumentService.cpp:118
Result< SaveTicket > requestSave(const DocumentId &document)
Capture an exact content/revision pair for a later CAS save.
Definition EditorDocumentService.cpp:78
Result< void > close(const DocumentId &document)
Close and discard in-memory state; persisted content is unchanged.
Definition EditorDocumentService.cpp:218
Result< DocumentSnapshot > open(DocumentKey key, std::string title, std::string resourceUri, EditorValue initialContent={})
Open an asset-backed document, loading existing persisted content when present.
Definition EditorDocumentService.cpp:34
virtual Result< StoredDocument > read(const std::string &resourceUri) const =0
Read the latest value for a resource URI.
virtual Result< StoredDocument > compareAndSwap(const std::string &resourceUri, Revision expectedRevision, const std::string &expectedContentHash, const EditorValue &content)=0
Replace a value only when the expected disk revision still matches.
Result< StoredDocument > read(const std::string &resourceUri) const override
Reads .
Definition EditorDocumentService.cpp:8
Result< StoredDocument > compareAndSwap(const std::string &resourceUri, Revision expectedRevision, const std::string &expectedContentHash, const EditorValue &content) override
Compare and swap.
Definition EditorDocumentService.cpp:16
Diagnostic ruleDiagnostic(eve::DiagnosticCode code, RuleId rule, DiagnosticSeverity severity, std::string message)
Build a common diagnostic carrying an open editing rule identity.
Definition EditingResult.h:25
Definition ActionPreviewController.cpp:6
@ Conflict
@ InvalidArgument
@ NotFound
@ Conflict
Stable document identity; paths are deliberately excluded.
Definition EditorDocumentService.h:33
Immutable document metadata snapshot.
Definition EditorDocumentService.h:53
Immutable save request capturing one exact edit revision.
Definition EditorDocumentService.h:69
Revision expectedDiskRevision
Definition EditorDocumentService.h:73
std::string expectedContentHash
Definition EditorDocumentService.h:74
Revision capturedEditRevision
Definition EditorDocumentService.h:72
Value snapshot returned by an atomic document store.
Definition EditorDocumentService.h:78