载入中...
搜索中...
未找到
EditorPersistence.cpp
浏览该文件的文档.
41Result<EditorPersistenceSnapshot> persistenceError(EditorStatus status, const char* rule, std::string message) {
42 return eve::editing::failed<EditorPersistenceSnapshot>(status, RuleId(rule), std::move(message));
63Result<EditorPersistenceSnapshot> EditorPersistenceAdapter::commit(const EditorPersistenceSnapshot& base,
70 for (const DomainOperation& operation : journal) serializedJournal.push_back(operationValue(operation));
76 store_->compareAndSwap(resourceUri_, base.revision, base.contentHash, EditorValue(std::move(envelope)));
89 const auto* journalValues = journal == envelope->end() ? nullptr : journal->second.getIf<EditorValue::Array>();
98 for (const EditorValue& value : *journalValues) result.journal.push_back(decodeOperation(value));
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
Deterministic owning value tree shared by authoring hosts.
Definition EditingValue.h:19
Result< EditorPersistenceSnapshot > commit(const EditorPersistenceSnapshot &base, EditorValue content, std::vector< DomainOperation > journal)
Atomically commit a checkpoint against its loaded revision/hash.
Definition EditorPersistence.cpp:63
Result< EditorPersistenceSnapshot > load() const
Load the last committed checkpoint and journal.
Definition EditorPersistence.cpp:47
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.
Definition ActionPreviewController.cpp:6
eve::editing::Value EditorValue
Compatibility alias for the UI-independent authoring value tree.
Definition EditorValue.h:8
EditorPersistenceKind
Persistence target selected by a game/editor host.
Definition EditorPersistence.h:11
eve::editing::DomainOperation DomainOperation
Definition EditorProtocol.h:12
Loaded checkpoint plus the domain operations recorded with it.
Definition EditorPersistence.h:14
std::string contentHash
Definition EditorPersistence.h:17
EditorPersistenceKind kind
Definition EditorPersistence.h:15
Value snapshot returned by an atomic document store.
Definition EditorDocumentService.h:78