载入中...
搜索中...
未找到
ActionComboWindowState.cpp
浏览该文件的文档.
13ActionComboWindowState::ActionComboWindowState(ComboSubjectResolver resolver) : resolver_(std::move(resolver)) {}
15ActionComboWindowState::~ActionComboWindowState() { cap::removeListener<IActionStateWindowSink>(this); }
40 Diagnostic::error(DiagnosticCode::Unsupported, "input adapter does not own this window kind", "kind"));
43 Diagnostic::error(DiagnosticCode::NotFound, "combo subject resolver is unavailable", "resolver"));
48 Diagnostic::error(DiagnosticCode::NotFound, "combo target index is unavailable", "targetIndex"));
68 Diagnostic::error(DiagnosticCode::Conflict, "combo-window key has different active data", "itemId"));
79 Diagnostic::error(DiagnosticCode::Unsupported, "input adapter does not own this window kind", "kind"));
98Result<ActionComboMatch> ActionComboWindowState::match(SubjectRef subject, std::string_view input) const {
111 Diagnostic::error(DiagnosticCode::NotFound, "no active combo window accepts the input", "input"));
Semantic input matching for active Montage combo windows.
static Diagnostic error(DiagnosticCode code, std::string message, std::string path={}, DiagnosticDetails details={}, std::string source={})
Construct an error diagnostic with the standard error severity.
Definition Diagnostic.h:125
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
static Status success(StatusCode code=StatusCode::Ok)
Construct a successful status with an explicit non-error outcome.
Definition Status.h:81
Result< ActionComboMatch > match(SubjectRef subject, std::string_view input) const
Resolve the first deterministic active window accepting an input.
Definition ActionComboWindowState.cpp:98
ActionComboWindowState(ComboSubjectResolver resolver)
Construct with a synchronous stable-subject resolver.
Definition ActionComboWindowState.cpp:13
Result< void > exit(const ActionStateWindowBinding &binding, const ActionTimelineEvent &event, const ActionNotifyContext &context) override
Exit one previously entered window by execution and item identity.
Definition ActionComboWindowState.cpp:74
void setEnabled(bool enabled)
Opt this state owner into or out of Action window dispatch.
Definition ActionComboWindowState.cpp:23
std::vector< std::string > availableInputs(SubjectRef subject) const
Return sorted unique semantic inputs currently accepted for a subject.
Definition ActionComboWindowState.cpp:87
~ActionComboWindowState() override
Action combo window state.
Definition ActionComboWindowState.cpp:15
Result< void > enter(const ActionStateWindowBinding &binding, const ActionTimelineEvent &event, const ActionNotifyContext &context) override
Enter one validated window or idempotently observe the same active key.
Definition ActionComboWindowState.cpp:35
bool supports(ActionStateWindowKind kind) const noexcept override
Whether this sink owns the supplied semantic window kind.
Definition ActionComboWindowState.cpp:31
bool enabled() const
Return whether this exact owner is registered.
Definition ActionComboWindowState.cpp:17
std::function< Result< SubjectRef >(ecs::EntityHandle)> ComboSubjectResolver
Resolves an owning stable subject from a generation-qualified ECS handle.
Definition ActionComboWindowState.h:22
ActionStateWindowKind
Stable semantic kind for one built-in state window.
Definition ActionStateWindowBlock.h:16
@ InvalidArgument
@ NotFound
@ Unsupported
@ Conflict
@ NoOp
@ Applied
Definition Container.h:602
Context linking a routed event to its action execution.
Definition ActionNotifyRegistry.h:34
Owning validated state-window request authored on an action timeline.
Definition ActionStateWindowBlock.h:19
Owning event projection returned by the runtime sampler.
Definition ActionTimeline.h:146
Owning deterministic match between one semantic input and an active combo window.
Definition ActionComboWindowState.h:25