![]() |
XII Release 0.1.0
|
Registry for all xiiDefaultStateProvider factory functions. More...
#include <DefaultState.h>
Public Types | |
using | CreateStateProviderFunc = xiiSharedPtr<xiiDefaultStateProvider> (*)(xiiObjectAccessorBase*, const xiiDocumentObject*, const xiiAbstractProperty*) |
The functor interface for the xiiDefaultStateProvider factory function. | |
Static Public Member Functions | |
static void | RegisterDefaultStateProvider (CreateStateProviderFunc func) |
Registers a xiiDefaultStateProvider factory method. It is safe to register / unregister factories at any time. | |
static void | UnregisterDefaultStateProvider (CreateStateProviderFunc func) |
Unregisters a xiiDefaultStateProvider factory method. | |
Friends | |
class | xiiDefaultObjectState |
class | xiiDefaultContainerState |
Registry for all xiiDefaultStateProvider factory functions.
using xiiDefaultState::CreateStateProviderFunc = xiiSharedPtr<xiiDefaultStateProvider> (*)(xiiObjectAccessorBase*, const xiiDocumentObject*, const xiiAbstractProperty*) |
The functor interface for the xiiDefaultStateProvider factory function.
The return value is a sharedPtr as each implementation can decide whether to provide the same instance for all objects or whether a custom instance should be created for each object to allow for state caching (e.g. prefab root information). Returning nullptr is also valid for objects / containers for which the factory has no use (e.g. prefab default state provider on an object that does not belong to a prefab). The function is called for xiiDefaultObjectState usage with the pProp field left blank. For xiiDefaultContainerState usage pProp will point to the container property.