Usd Notice Framework
0.7.0
|
Interface for objects emitting standalone notices triggered by incoming PXR_NS::TfNotice derived notices. More...
#include <dispatcher.h>
Public Member Functions | |
virtual UNF_API | ~Dispatcher () |
Revoke all registered listeners on destruction. | |
virtual UNF_API std::string | GetIdentifier () const =0 |
Get unique string identifier. More... | |
virtual UNF_API void | Register ()=0 |
Register listeners to PXR_NS::TfNotice derived notices. | |
virtual UNF_API void | Revoke () |
Revoke all registered listeners. | |
Protected Member Functions | |
UNF_API | Dispatcher (const BrokerWeakPtr &) |
Create a dispatcher targeting a Broker. | |
template<class InputNotice , class OutputNotice > | |
void | _Register () |
Convenient templated method to register a listener for incoming InputNotice notice which emits a OutputNotice notice. More... | |
template<class InputNotice , class OutputNotice > | |
void | _OnReceiving (const InputNotice ¬ice) |
Convenient templated method to emit a OutputNotice notice from an incoming InputNotice notice. More... | |
Protected Attributes | |
BrokerWeakPtr | _broker |
Broker that the dispatcher is attached to. | |
std::vector< PXR_NS::TfNotice::Key > | _keys |
List of handle-objects used for registering listeners. | |
Interface for objects emitting standalone notices triggered by incoming PXR_NS::TfNotice derived notices.
|
pure virtual |
Get unique string identifier.
Identifier will be used to retrieve Dispatcher from the Broker.
Implemented in unf::StageDispatcher.
|
inlineprotected |
Convenient templated method to register a listener for incoming InputNotice
notice which emits a OutputNotice
notice.
The following example will emit a UnfNotice::ObjectsChanged notice for each PXR_NS::UsdNotice::ObjectsChanged received.
OutputNotice
notice must be derived from UnfNotice::StageNotice and must have a constructor which takes an instance of InputNotice
.
|
inlineprotected |
Convenient templated method to emit a OutputNotice
notice from an incoming InputNotice
notice.
OutputNotice
notice must be derived from UnfNotice::StageNotice and must have a constructor which takes an instance of InputNotice
.