载入中...
搜索中...
未找到
eve::action::ActionNotifyRegistry类 参考

Canonical notify descriptor owner and runtime handler router. 更多...

#include <ActionNotifyRegistry.h>

Public 成员函数

Result< void > registerDescriptor (ActionNotifyDescriptor descriptor)
 Register a unique descriptor after validating its canonical type.
 
Result< void > registerHandler (std::string_view type, std::shared_ptr< IActionNotifyHandler > handler)
 Register an owning handler for an existing descriptor.
 
Result< void > unregisterHandler (std::string_view type)
 Remove a handler while retaining its descriptor for authoring.
 
Result< ActionNotifyDescriptor > descriptor (std::string_view type) const
 Find an owning descriptor copy.
 
std::vector< ActionNotifyDescriptor > descriptors () const
 Return descriptors in lexical type order.
 
bool hasHandler (std::string_view type) const noexcept
 Return whether this registry has a runtime handler for the exact canonical type.
 
Result< void > validate (const ActionTimelineEvent &event) const
 Validate type, shape and required payload fields.
 
Result< void > dispatch (const ActionTimelineEvent &event, const ActionNotifyContext &context)
 Validate and route an event, failing observably when no handler is present.
 
Result< void > dispatchUpdate (const ActionActiveBlock &block, const ActionNotifyContext &context)
 Route one authoritative active-state update to its registered handler.
 
Result< void > dispatchSample (const ActionActiveBlock &block, const ActionNotifyContext &context) const
 Route one side-effect-free preview sample to its registered handler.
 
Result< void > advanceHandlers (const ActionNotifyContext &context)
 Advance each unique registered handler once in lexical type order.
 

静态 Public 成员函数

static Result< ActionNotifyRegistry > withBuiltins ()
 Build a registry containing the engine's standard semantic notify types.
 

详细描述

Canonical notify descriptor owner and runtime handler router.

Descriptor queries return owning copies. Handlers are shared-owned by the registry so plugin unload cannot leave a raw pointer. All methods are owner-thread-only; unregister before unloading handler code.

在文件 ActionNotifyRegistry.h 第 138 行定义.

成员函数说明

◆ advanceHandlers()

Result< void > eve::action::ActionNotifyRegistry::advanceHandlers ( const ActionNotifyContext &  context)

Advance each unique registered handler once in lexical type order.

在文件 ActionNotifyRegistry.cpp 第 369 行定义.

引用了 eve::Applied, context, handler, eve::NoOp, second, eve::Status::success(), eve::Result< T >::success() , 以及 type.

被这些函数引用 eve::action::ActionBlockRuntime::apply().

◆ descriptor()

Result< ActionNotifyDescriptor > eve::action::ActionNotifyRegistry::descriptor ( std::string_view  type) const

Find an owning descriptor copy.

参数
typeRegistered type.

在文件 ActionNotifyRegistry.cpp 第 262 行定义.

引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), found, eve::NotFound, eve::Result< T >::success() , 以及 type.

被这些函数引用 eve::editor::ActionTimelineWidget::inspectSelection().

◆ descriptors()

std::vector< ActionNotifyDescriptor > eve::action::ActionNotifyRegistry::descriptors ( ) const

Return descriptors in lexical type order.

在文件 ActionNotifyRegistry.cpp 第 270 行定义.

被这些函数引用 eve::editor::ActionTimelineWidget::insertableTypes().

◆ dispatch()

Result< void > eve::action::ActionNotifyRegistry::dispatch ( const ActionTimelineEvent &  event,
const ActionNotifyContext &  context 
)

Validate and route an event, failing observably when no handler is present.

参数
eventEvent projection.
contextDispatch context.

在文件 ActionNotifyRegistry.cpp 第 337 行定义.

引用了 context, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::LogicalId::format(), handler, eve::NotFound, eve::action::ActionTimelineEvent::type, valid , 以及 validate().

被这些函数引用 eve::action::ActionBlockRuntime::apply() , 以及 eve::action::ActionBlockRuntime::interrupt().

◆ dispatchSample()

Result< void > eve::action::ActionNotifyRegistry::dispatchSample ( const ActionActiveBlock &  block,
const ActionNotifyContext &  context 
) const

◆ dispatchUpdate()

Result< void > eve::action::ActionNotifyRegistry::dispatchUpdate ( const ActionActiveBlock &  block,
const ActionNotifyContext &  context 
)

◆ hasHandler()

bool eve::action::ActionNotifyRegistry::hasHandler ( std::string_view  type) const
noexcept

Return whether this registry has a runtime handler for the exact canonical type.

在文件 ActionNotifyRegistry.cpp 第 277 行定义.

引用了 type.

◆ registerDescriptor()

Result< void > eve::action::ActionNotifyRegistry::registerDescriptor ( ActionNotifyDescriptor  descriptor)

Register a unique descriptor after validating its canonical type.

参数
descriptorOwning contract.

在文件 ActionNotifyRegistry.cpp 第 227 行定义.

引用了 eve::AlreadyExists, eve::Applied, descriptor, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, key, eve::Status::success() , 以及 eve::Result< T >::success().

被这些函数引用 withBuiltins().

◆ registerHandler()

Result< void > eve::action::ActionNotifyRegistry::registerHandler ( std::string_view  type,
std::shared_ptr< IActionNotifyHandler >  handler 
)

Register an owning handler for an existing descriptor.

参数
typeRegistered type.
handlerShared handler owner.

在文件 ActionNotifyRegistry.cpp 第 243 行定义.

引用了 eve::AlreadyExists, eve::Applied, eve::Diagnostic::error(), eve::Result< T >::failure(), handler, eve::InvalidArgument, eve::NotFound, eve::Status::success(), eve::Result< T >::success() , 以及 type.

被这些函数引用 withBuiltins().

◆ unregisterHandler()

Result< void > eve::action::ActionNotifyRegistry::unregisterHandler ( std::string_view  type)

Remove a handler while retaining its descriptor for authoring.

参数
typeRegistered type.

在文件 ActionNotifyRegistry.cpp 第 254 行定义.

引用了 eve::Applied, eve::Diagnostic::error(), eve::Result< T >::failure(), found, eve::NotFound, eve::Status::success(), eve::Result< T >::success() , 以及 type.

◆ validate()

◆ withBuiltins()


该类的文档由以下文件生成: