载入中...
搜索中...
未找到
DialoguePayment.h
浏览该文件的文档.
88 DialogueStateMutationParticipant(eve::IStateMutation& provider, std::span<const eve::StateMutation> mutations);
98 [[nodiscard]] std::string_view name() const noexcept override { return "dialogue.state-mutation"; }
101 [[nodiscard]] eve::Result<void> prepare(const eve::transaction::TransactionContext& context) override;
104 [[nodiscard]] eve::Result<void> commit(const eve::transaction::TransactionContext& context) override;
107 [[nodiscard]] eve::Result<void> rollback(const eve::transaction::TransactionContext& context) override;
110 [[nodiscard]] eve::Result<void> compensate(const eve::transaction::TransactionContext& context) override;
Strongly typed, transaction-friendly resource cost protocol.
Consumer-owned query and mutation contracts for authoritative world state.
Owning, renderer-independent dynamic values.
Composes Dialogue accounts with StatePatch or Action participants.
Definition DialoguePayment.h:130
const DialogueAccountBindings & bindings() const noexcept
Return the current borrowed bindings for diagnostics.
Definition DialoguePayment.h:138
Transaction participant that delegates an atomic state mutation.
Definition DialoguePayment.h:81
std::string_view name() const noexcept override
Stable diagnostic name.
Definition DialoguePayment.h:98
DialogueStateMutationParticipant(const DialogueStateMutationParticipant &)=delete
DialogueStateMutationParticipant & operator=(const DialogueStateMutationParticipant &)=delete
DialogueStateMutationParticipant & operator=(DialogueStateMutationParticipant &&)=delete
~DialogueStateMutationParticipant() override=default
Releases DialogueStateMutationParticipant resources.
DialogueStateMutationParticipant(DialogueStateMutationParticipant &&)=delete
eve::Result< void > compensate(const eve::transaction::TransactionContext &context) override
Undo an already committed external effect by compensation.
Definition DialoguePayment.cpp:154
eve::Result< void > commit(const eve::transaction::TransactionContext &context) override
Publish this participant's staged changes.
Definition DialoguePayment.cpp:135
eve::Result< void > rollback(const eve::transaction::TransactionContext &context) override
Discard a prepared but not committed stage.
Definition DialoguePayment.cpp:146
eve::Result< void > prepare(const eve::transaction::TransactionContext &context) override
Validate and stage local changes for the transaction.
Definition DialoguePayment.cpp:125
Provider-neutral resource account contract.
Definition ResourceAccount.h:316
All-or-nothing mutation boundary owned by the consumer.
Definition StateAccess.h:107
Synchronous participant contract for one coordinator transaction.
Definition Transaction.h:128
Immutable context shared by every participant of one transaction.
Definition Transaction.h:30
Definition ConversationAuthoring.cpp:12
Borrowed account bindings used by one DialogueFlow integration.
Definition DialoguePayment.h:61
eve::resource::IResourceAccount * money
Borrowed authoritative account for money.
Definition DialoguePayment.h:63
eve::resource::IResourceAccount * reputation
Borrowed authoritative account for reputation.
Definition DialoguePayment.h:65
std::string reputationResource
ResourceId used inside the reputation account.
Definition DialoguePayment.h:69
Canonical money/reputation cost attached to a dialogue choice or command.
Definition DialoguePayment.h:36
bool empty() const noexcept
Whether this specification contains no charge.
Definition DialoguePayment.h:43
std::optional< std::int64_t > money
Optional money amount, in the configured money resource.
Definition DialoguePayment.h:38
std::optional< std::int64_t > reputation
Optional reputation amount, in the configured reputation resource.
Definition DialoguePayment.h:40