Kanzi 4.1.0
kanzi::Domain Class Reference

Domain binds Kanzi subsystems and objects together. More...

#include <kanzi/core.ui/domain/domain.hpp>

Inheritance diagram for kanzi::Domain:
[legend]

Public Types

using PluginHandler
 Type alias for plugin loading functionality.
 
using ThreadCreationCallback
 Type definition for the thread creation callback.
 
- Public Types inherited from kanzi::PropertyObject
using PropertyObjectDestroyCallback
 
using PropertyStorageConstIterator
 
using PropertyStorageContainer
 
using PropertyStorageIterator
 
using PropertyStoragePtr
 
using PropertyStorageReverseIterator
 

Public Member Functions

void appendEventSource (EventSourceSharedPtr eventSource)
 Attach event source.
 
void appendGraphicsOutput (GraphicsOutputSharedPtr graphicsOutput)
 Attach graphics output.
 
void clearEventSources ()
 Removes all event sources.
 
void clearGraphicsOutputs ()
 Removes all graphics outputs.
 
void createPreviewTimeline ()
 Create preview timeline context.
 
void destroyPreviewTimeline ()
 Destroy preview timeline context.
 
void enableEditing (bool enable)
 Enables or disables editing mode.
 
ApplicationProperties getApplicationProperties () const
 Returns the ApplicationProperties of this Domain's host.
 
ColorWorkflow getColorWorkflow () const
 Gets the currently configured ColorWorkflow.
 
CompositionManagergetCompositionManager () const
 
DomainControllergetController () const
 Returns the DomainController back-reference for this Domain.
 
template<typename T >
TgetController () const
 Returns the DomainController back-reference dynamic-cast to the requested host subclass.
 
DebugRenderRegistrygetDebugRenderRegistry () const
 
EventSourceSharedPtr getEventSource (size_t index) const
 Access event sources.
 
size_t getEventSourceCount () const
 Access event source count.
 
FontManagergetFontManager () const
 
float getFramesPerSecond () const
 Returns the latest measured frame rate of this Domain.
 
GraphicsOutputSharedPtr getGraphicsOutput (size_t index) const
 Access graphics outputs.
 
size_t getGraphicsOutputCount () const
 Access graphics output count.
 
InputMethodManagergetInputMethodManager () const
 Returns the input method manager of this domain.
 
MainLoopSchedulergetMainLoopScheduler () const
 
detail::MessageDispatcher * getMessageDispatcher () const
 
ModulegetModule (string_view name)
 Get Module instance by the name it is registered with.
 
ObjectFactorygetObjectFactory () const
 
ObjectLoadergetObjectLoader () const
 
PatchingNotificationHandlerSharedPtr getPatchingNotificationHandler () const
 Gets the patching notification handler.
 
ApplicationProperties::PerformanceInfoLevel getPerformanceInfoLevel () const
 Returns the Performance HUD information level of this Domain's host.
 
PreviewTimelinePlaybackSharedPtr getPreviewTimelinePlayback () const
 
DomainProfilerCollectiongetProfilers () const
 Access to the domain profiler objects.
 
RenderergetRenderer () const
 
Vector2 getRenderingAreaOffset () const
 Returns the offset applied as the arrange transformation of the default Screen of this Domain.
 
ResourceLoaderFactorygetResourceLoaderFactory () const
 
ResourceManagergetResourceManager () const
 
TextureSharedPtr getRootCompositionTarget () const
 Returns the root composition target of this Domain.
 
TimelineClockSharedPtr getRootTimelineClock () const
 
ScreenContainer getScreens () const
 Returns the Screens of this Domain's host.
 
StartupProfilerRegistrygetStartupProfilerRegistry () const
 Returns the StartupProfilerRegistry of this Domain's host.
 
MainLoopState getState () const
 Returns the main loop state of this Domain.
 
TaskDispatchergetTaskDispatcher () const
 Returns the task dispatcher of this domain.
 
TextManagergetTextManager () const
 
void initialize ()
 Initializes the domain.
 
bool isEditingEnabled () const
 
void loadPlugin (string_view url)
 Dynamically loads a plugin from a file.
 
void notifyMaterialCreated (Material &material)
 
void notifyMaterialDestroyed (Material &material)
 
void onThreadCreation (string_view name) const
 Notifies that Kanzi created a thread and the name of the thread.
 
template<typename TModule >
void registerModule (string_view name)
 Register a Module.
 
void registerModule (string_view name, shared_ptr< Module > module)
 Register a Module.
 
void registerPluginHandler (string_view protocol, PluginHandler handler)
 Registers a plugin handler for a given protocol.
 
void removeEventSource (size_t index)
 Remove event source.
 
void removeGraphicsOutput (size_t index)
 Remove graphics output.
 
void setColorWorkflow (ColorWorkflow colorWorkflow)
 Sets the ColorWorkflow that has been configured.
 
void setCompositionManager (unique_ptr< CompositionManager > compositionManager)
 Set composition manager.
 
void setMainLoopScheduler (MainLoopScheduler *mainLoopScheduler)
 
void setOnThreadCreation (ThreadCreationCallback callback)
 On thread creation, Kanzi calls the callback with the internal name that Kanzi assigns to the thread.
 
void setPatchingNotificationHandler (PatchingNotificationHandlerSharedPtr handler)
 Sets the patching notification handler.
 
void setPerformanceInfoLevel (ApplicationProperties::PerformanceInfoLevel level)
 Sets the Performance HUD information level on this Domain's host.
 
DelegateHandle subscribeMaterialCreated (Delegate< void(Material &)>::Callback callback)
 Subscribes a callback invoked after any Material is created.
 
DelegateHandle subscribeMaterialDestroyed (Delegate< void(Material &)>::Callback callback)
 Subscribes a callback invoked before any Material is destroyed.
 
KZ_NO_DISCARD bool tryLoadPlugin (string_view url)
 Attempts to dynamically load a plugin from a file.
 
void unregisterPluginHandler (string_view protocol)
 Unregisters existing plugin handler for a given protocol.
 
void unsubscribeMaterialCreated (DelegateHandle handle)
 Removes a previously subscribed Material created callback.
 
void unsubscribeMaterialDestroyed (DelegateHandle handle)
 Removes a previously subscribed Material destroyed callback.
 
- Public Member Functions inherited from kanzi::Object
AppliedStyleEntrySharedPtr applyObjectStyle (kanzi::StyleSharedPtr style)
 Applies a style to an object.
 
void applyObjectStyles ()
 Apply all styles for an object node.
 
DomaingetDomain () const
 Returns the domain the object belongs to.
 
const MetaclassgetDynamicMetaclass () const override
 Returns the metaclass of the dynamic type of the object.
 
MainLoopSchedulergetMainLoopScheduler () const
 Returns the MainLoopScheduler instance of the associated Domain.
 
detail::MessageDispatcher * getMessageDispatcher () const
 Returns the message dispatcher of the object.
 
ResourceManagergetResourceManager () const
 Returns the resource manager of the object.
 
ScriptingContextSharedPtr getScriptingContext () const
 Gets the scripting context of the object.
 
 Object (Domain *domain)
 
void setScriptingContext (ScriptingContextSharedPtr context)
 Sets the scripting context of the object.
 
void unapplyObjectStyle (AppliedStyleEntrySharedPtr appliedStyleEntry)
 
void unapplyObjectStyles ()
 Unapplies and removes all applied styles.
 
 ~Object () override
 
- Public Member Functions inherited from kanzi::MetaObject
bool isTypeOf (const Metaclass *objectType) const
 Determines if the type of this object is the given type or derived from it.
 
virtual ~MetaObject ()
 
- Public Member Functions inherited from kanzi::PropertyObject
void addDestroyCallback (PropertyObjectDestroyCallback cb)
 Adds a destroy callback that is called when the object is being destroyed.
 
template<typename DataType >
void addPropertyModifier (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::ModifierCallback callback, void *owner)
 Adds a property modifier.
 
template<typename DataType >
void addPropertyModifierWithoutNotifyingHandlers (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::ModifierCallback callback, void *owner)
 Adds a property modifier without notifying handlers.
 
template<typename DataType >
void addPropertyNotificationHandler (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::NotificationCallback callback, void *owner)
 
template<typename DataType >
void addPropertyValueSource (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::TypedValueSource *valueSource, PropertyValuePrecedence precedence, AbstractPropertyTypeDescriptor::ValueSourceOwner *owner)
 
template<typename DataType >
void addPropertyValueSource (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::TypedValueSource *valueSource, PropertyValuePrecedence precedence, void *ownerPointer)
 
PropertyStorageContainer::iterator beginPropertyStorage ()
 Returns the begin iterator to the internal property storage container.
 
PropertyStorageContainer::const_iterator beginPropertyStorage () const
 Returns the begin iterator to the internal property storage container.
 
void clearPropertyFlag (AbstractPropertyType propertyType, uint32_t flag)
 
void copyLocalValue (const PropertyObject &other, AbstractPropertyType propertyType)
 Copies local value of single property from another object.
 
void copyLocalValues (const PropertyObject &other)
 Copies all local values from another object.
 
PropertyStorageContainer::iterator endPropertyStorage ()
 Returns the end iterator to the internal property storage container.
 
PropertyStorageContainer::const_iterator endPropertyStorage () const
 Returns the end iterator to the internal property storage container.
 
template<typename DataType >
PropertyType< DataType >::Traits::ReturnType getAbstractProperty (AbstractPropertyType abstractPropertyType) const
 
template<typename DataType >
PropertyType< DataType >::Traits::ReturnType getAbstractPropertyBase (AbstractPropertyType abstractPropertyType) const
 
template<typename DataType >
optional< typename PropertyType< DataType >::Traits::ReturnType > getOptionalAbstractProperty (AbstractPropertyType abstractPropertyType) const
 
template<typename DataType >
optional< typename PropertyType< DataType >::Traits::ReturnType > getOptionalProperty (const PropertyType< DataType > &propertyType) const
 Evaluates the property value in the same way as the overload above but does not default to the value in property metadata if there are no inputs to the property value.
 
template<typename DataType >
optional< typename PropertyType< DataType >::Traits::ReturnType > getOptionalPropertyBase (const PropertyType< DataType > &propertyType) const
 Returns the current value of a property disregarding modifiers, but does not default to the value in property metadata if there are no inputs to the property value.
 
template<typename DataType >
PropertyType< DataType >::Traits::ReturnType getProperty (const PropertyType< DataType > &propertyType) const
 Returns the current value of a property type.
 
template<typename DataType >
PropertyType< DataType >::Traits::ReturnType getPropertyBase (const PropertyType< DataType > &propertyType) const
 Returns the current value of a property disregarding modifiers.
 
template<typename DataType >
size_t getPropertyNotificationHandlerCount (const PropertyType< DataType > &propertyType) const
 Gets number of current notification handlers for given property type.
 
bool hasBaseValue (AbstractPropertyType propertyType) const
 Evaluates whether there are any inputs into the property value, disregarding modifiers.
 
bool hasLocalValue (AbstractPropertyType propertyType) const
 Evaluates whether there is a local value set for the property.
 
bool hasNonClassValue (AbstractPropertyType propertyType) const
 Evaluates whether there is a value of any precedence higher than class default value set for the property.
 
bool hasValue (AbstractPropertyType propertyType) const
 Evaluates whether there are any inputs into the property value.
 
bool isPropertyFlagSet (AbstractPropertyType propertyType, uint32_t flag) const
 
virtual void onPropertyChanged (AbstractPropertyType propertyType, PropertyNotificationReason reason)
 Virtual function to handle property change notifications.
 
 PropertyObject ()
 
void removeKzbProperties ()
 Remove all KZB properties.
 
void removeKzbProperties (flat_set< AbstractPropertyType > *keepProperties)
 Remove all KZB properties that are not included in a given set.
 
template<typename DataType >
void removeLocalPropertyValueSource (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::TypedValueSource *valueSource, void *ownerPointer)
 
void removeLocalValue (AbstractPropertyType propertyType)
 Removes the local value associated with the property.
 
template<typename DataType >
void removePropertyModifier (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::ModifierCallback callback, void *owner)
 Removes a property modifier.
 
template<typename DataType >
void removePropertyModifierWithoutNotifyingHandlers (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::ModifierCallback callback, void *owner)
 Removes a property modifier without notifying handlers.
 
template<typename DataType >
void removePropertyNotificationHandler (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::NotificationCallback callback, void *owner)
 
template<typename DataType >
void removePropertyValueSource (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::TypedValueSource *valueSource, void *ownerPointer)
 
template<typename DataType >
void setAbstractProperty (AbstractPropertyType abstractPropertyType, typename PropertyType< DataType >::Traits::ParameterType value)
 
template<typename DataType >
void setProperty (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Traits::ParameterType value)
 Sets the local value of a property type.
 
void setPropertyFlag (AbstractPropertyType propertyType, uint32_t flag)
 
void validatePropertyModifiersAndNotifyHandlers (AbstractPropertyType propertyType)
 Validates property modifiers and notifies handlers.
 
virtual ~PropertyObject ()
 

Static Public Member Functions

static Domaincreate ()
 
static DomaincreateEmpty ()
 Creates an uninitialized domain.
 
static void destroy (Domain *domain)
 
static PropertyTypeEditorInfoSharedPtr makeEditorInfo ()
 
- Static Public Member Functions inherited from kanzi::Object
static const MetaclassgetStaticMetaclass ()
 Returns the metaclass of Object class.
 
static PropertyTypeEditorInfoSharedPtr makeEditorInfo ()
 Default implementation that returns empty editor info.
 
- Static Public Member Functions inherited from kanzi::MetaObject
static const MetaclassgetStaticMetaclass ()
 Returns the metaclass of Object class.
 
static PropertyTypeEditorInfoSharedPtr makeEditorInfo ()
 Default implementation that returns empty editor info.
 

Static Public Attributes

Properties
static PropertyType< string > ProjectPluginReferencesProperty
 ProjectPluginReferences property.
 
static PropertyType< boolStateToolsEditStateEnabledProperty
 StateToolsEditStateEnabled property.
 

Friends

class DomainController
 

Additional Inherited Members

- Protected Types inherited from kanzi::Object
typedef vector< AppliedStyleEntrySharedPtrAppliedStyleContainer
 Applied style container.
 
- Protected Member Functions inherited from kanzi::Object
void initialize ()
 
void onCopy (const Object &other)
 
- Protected Member Functions inherited from kanzi::MetaObject
void initialize ()
 
 MetaObject ()
 
- Protected Member Functions inherited from kanzi::PropertyObject
AbstractPropertyTypeDescriptor::ValueSourceEntryacquireLocalValueSourceEntry (AbstractPropertyTypeDescriptor &descriptor, AbstractPropertyTypeDescriptor::PropertyStorage &propertyStorage)
 Acquires a local value source entry that is free for the assignment of a value.
 
AbstractPropertyTypeDescriptor::ModifierStorageacquireModifierStorage (AbstractPropertyTypeDescriptor &descriptor, AbstractPropertyTypeDescriptor::PropertyStorage &propertyStorage)
 
AbstractPropertyTypeDescriptor::NotificationStorageacquireNotificationStorage (AbstractPropertyTypeDescriptor &descriptor)
 
PropertyStoragePtr acquirePropertyStorage (AbstractPropertyTypeDescriptor &descriptor)
 Acquires a property storage.
 
template<typename DataType >
void addPropertyModifierBase (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::ModifierCallback callback, void *owner, bool notify)
 Adds a property modifier entry to the property modifier stack and validates the modifiers.
 
void addPropertyValueSource (AbstractPropertyTypeDescriptor &descriptor, AbstractPropertyTypeDescriptor::ValueSource *valueSource, PropertyValuePrecedence precedence, AbstractPropertyTypeDescriptor::ValueSourceOwner *owner)
 Internally adds a property value source.
 
void addPropertyValueSource (AbstractPropertyTypeDescriptor &descriptor, AbstractPropertyTypeDescriptor::ValueSource *valueSource, PropertyValuePrecedence precedence, void *ownerPointer)
 Internally adds a property value source.
 
AbstractPropertyTypeDescriptor::ValueSourceEntryconstructLocalValueSourceEntry (AbstractPropertyTypeDescriptor &descriptor, AbstractPropertyTypeDescriptor::PropertyStorage &propertyStorage)
 Constructs a new local value source entry.
 
void copyLocalValue (const AbstractPropertyTypeDescriptor::PropertyStorage &otherPropertyStorage)
 Copy local value from property storage.
 
AbstractPropertyTypeDescriptor::ModifierStoragefindModifierStorage (AbstractPropertyTypeDescriptor &descriptor)
 
AbstractPropertyTypeDescriptor::NotificationStoragefindNotificationStorage (AbstractPropertyTypeDescriptor &descriptor) const
 
AbstractPropertyTypeDescriptor::PropertyStoragefindPropertyStorage (AbstractPropertyTypeDescriptor &descriptor) const
 Gets the property storage for given property type descriptor.
 
PropertyStoragePtr findPropertyStoragePtr (AbstractPropertyTypeDescriptor &descriptor) const
 Gets property storage intrusive pointer which you can use to hold a reference until the end of the operation.
 
AbstractPropertyTypeDescriptorfindPropertyTypeDescriptorByNameAndDataType (string_view name, PropertyDataType dataType) const
 Finds a property type descriptor by name and data type.
 
AbstractPropertyTypeDescriptorfindPropertyTypeDescriptorByQualifiedNameAndDataType (string_view qualifiedName, PropertyDataType dataType) const
 Like findPropertyTypeDescriptorByNameAndDataType, but only searches by matching with qualified names.
 
AbstractPropertyTypeDescriptorfindPropertyTypeDescriptorByUnqualifiedNameAndDataType (string_view unqualifiedName, PropertyDataType dataType) const
 Like findPropertyTypeDescriptorByNameAndDataType, but only searches by matching with unqualified names.
 
AbstractPropertyTypeDescriptor::ValueSourcegetClassValueSource (AbstractPropertyTypeDescriptor &descriptor) const
 
AbstractPropertyTypeDescriptor::ValueSourcegetFinalValueSource (AbstractPropertyTypeDescriptor &descriptor) const
 
AbstractPropertyTypeDescriptor::ValueSourcegetNonClassValueSource (AbstractPropertyTypeDescriptor &descriptor) const
 
AbstractPropertyTypeDescriptor::ValueSourcegetTopValueSource (AbstractPropertyTypeDescriptor &descriptor) const
 Gets the top-level value source for a given property descriptor.
 
virtual void notifyPropertyHandlers (PropertyStoragePtr &propertyStorage, PropertyNotificationReason reason)
 Notifies all property handlers on a property storage.
 
void onCopy (const PropertyObject &other)
 
void removeLocalValue (AbstractPropertyTypeDescriptor &descriptor, PropertyStoragePtr &propertyStorage)
 Removes a local value from the given property storage.
 
template<typename DataType >
void removePropertyModifierBase (const PropertyType< DataType > &propertyType, typename PropertyType< DataType >::Descriptor::ModifierCallback callback, void *owner, bool notify)
 Removes a property modifier entry from the property modifier stack and validates the remaining modifiers.
 
void removePropertyValueSource (AbstractPropertyTypeDescriptor &descriptor, AbstractPropertyTypeDescriptor::ValueSource *valueSource, void *owner)
 Removes a property value source.
 
void validatePropertyModifiers (AbstractPropertyTypeDescriptor::PropertyStorage &propertyStorage)
 Validates property modifiers without notifying handlers.
 
void validatePropertyModifiersAndNotifyHandlers (PropertyStoragePtr &propertyStorage)
 Validates property modifiers and notifies handlers.
 
- Protected Attributes inherited from kanzi::Object
AppliedStyleContainer m_appliedStyles
 Listing of applied styles applied to this object.
 

Detailed Description

Domain binds Kanzi subsystems and objects together.

All objects and subsystems in Kanzi are associated with a domain when created. Objects in the same domain share access to the same subsystems. Objects from different domains cannot be used together.

Member Typedef Documentation

◆ PluginHandler

Type alias for plugin loading functionality.

Parameters
urlURL of the file to load a plugin from. In case this file is a native library, pass just its name without the file extension.
tryLoadingTrue if failures should be silent, i.e. exceptions should not be thrown.

◆ ThreadCreationCallback

Type definition for the thread creation callback.

Parameters
nameKanzi name for the thread.

Member Function Documentation

◆ makeEditorInfo()

static PropertyTypeEditorInfoSharedPtr kanzi::Domain::makeEditorInfo ( )
inlinestatic

◆ create()

static Domain * kanzi::Domain::create ( )
static

◆ createEmpty()

static Domain * kanzi::Domain::createEmpty ( )
static

Creates an uninitialized domain.

Use initialize() to initialize the returned object.

Returns
A new domain object.

◆ destroy()

static void kanzi::Domain::destroy ( Domain * domain)
static

◆ initialize()

void kanzi::Domain::initialize ( )

Initializes the domain.

◆ getRenderer()

Renderer * kanzi::Domain::getRenderer ( ) const

◆ getResourceManager()

ResourceManager * kanzi::Domain::getResourceManager ( ) const

◆ getResourceLoaderFactory()

ResourceLoaderFactory * kanzi::Domain::getResourceLoaderFactory ( ) const

◆ getMessageDispatcher()

detail::MessageDispatcher * kanzi::Domain::getMessageDispatcher ( ) const

◆ getTaskDispatcher()

TaskDispatcher * kanzi::Domain::getTaskDispatcher ( ) const

Returns the task dispatcher of this domain.

You can use the task dispatcher returned by this function to dispatch tasks that the system will execute on the thread of this domain.

See also
TaskDispatcher

◆ getInputMethodManager()

InputMethodManager * kanzi::Domain::getInputMethodManager ( ) const

Returns the input method manager of this domain.

Returns
The input method manager of the domain.

◆ getFontManager()

FontManager * kanzi::Domain::getFontManager ( ) const

◆ getTextManager()

TextManager * kanzi::Domain::getTextManager ( ) const

◆ getObjectFactory()

ObjectFactory * kanzi::Domain::getObjectFactory ( ) const

◆ getObjectLoader()

ObjectLoader * kanzi::Domain::getObjectLoader ( ) const

◆ getRootTimelineClock()

TimelineClockSharedPtr kanzi::Domain::getRootTimelineClock ( ) const

◆ getPreviewTimelinePlayback()

PreviewTimelinePlaybackSharedPtr kanzi::Domain::getPreviewTimelinePlayback ( ) const

◆ getCompositionManager()

CompositionManager * kanzi::Domain::getCompositionManager ( ) const

◆ getDebugRenderRegistry()

DebugRenderRegistry * kanzi::Domain::getDebugRenderRegistry ( ) const

◆ setMainLoopScheduler()

void kanzi::Domain::setMainLoopScheduler ( MainLoopScheduler * mainLoopScheduler)

◆ getMainLoopScheduler()

MainLoopScheduler * kanzi::Domain::getMainLoopScheduler ( ) const

◆ getState()

MainLoopState kanzi::Domain::getState ( ) const

Returns the main loop state of this Domain.

Delegates to the wired MainLoopScheduler.

Returns
Current main loop state, or MainLoopState::Quitting if no scheduler is wired.
See also
MainLoopScheduler::getState()
Since
Kanzi 4.1.0

◆ getFramesPerSecond()

float kanzi::Domain::getFramesPerSecond ( ) const

Returns the latest measured frame rate of this Domain.

Reads from the wired MainLoopScheduler's FrameTimeQueue.

Returns
The frame rate in frames per second, or 0 if no scheduler is wired.
See also
MainLoopScheduler::getFrameTimeQueue(), FrameTimeQueue::getFPS()
Since
Kanzi 4.1.0

◆ getScreens()

ScreenContainer kanzi::Domain::getScreens ( ) const

Returns the Screens of this Domain's host.

Delegates to the wired DomainController. Single-screen hosts return their Screen as the only element; multi-window hosts return every Screen they manage. The result is a snapshot taken at call time: Screens can attach and detach afterwards, so do not cache the result across frames.

Returns
The Screens that the host exposes, or an empty container if no controller is wired or the host has none.
See also
DomainController::getScreens()
Since
Kanzi 4.1.0

◆ getRenderingAreaOffset()

Vector2 kanzi::Domain::getRenderingAreaOffset ( ) const

Returns the offset applied as the arrange transformation of the default Screen of this Domain.

Delegates to the wired DomainController.

Returns
The offset, or a zero vector if no controller is wired or the host does not apply one.
See also
DomainController::getRenderingAreaOffset()
Since
Kanzi 4.1.0

◆ getRootCompositionTarget()

TextureSharedPtr kanzi::Domain::getRootCompositionTarget ( ) const

Returns the root composition target of this Domain.

Delegates to the wired DomainController. Callers must null-check before use.

Returns
Shared pointer to the root composition target, or an empty pointer if no controller is wired or the host does not have one.
See also
DomainController::getRootCompositionTarget()
Since
Kanzi 4.1.0

◆ getController() [1/2]

DomainController * kanzi::Domain::getController ( ) const

Returns the DomainController back-reference for this Domain.

Plugins use dynamic_cast on the returned pointer to reach host-specific state on a host-defined DomainController subclass. Returns nullptr if no controller is wired.

Returns
Pointer to the DomainController, or nullptr.
See also
DomainController, getController() template overload
Since
Kanzi 4.1.0

◆ getController() [2/2]

template<typename T >
T * kanzi::Domain::getController ( ) const
inline

Returns the DomainController back-reference dynamic-cast to the requested host subclass.

Returns nullptr if no controller is wired or if the wired controller is not a T. Returns nullptr if called during host destruction, provided the host calls DomainController::detach() before destroying the Domain. Application does this in its destruct() method, and hosts that derive from DomainController directly must do the same to honor the during-destruction null contract.

Template Parameters
THost subclass type to cast the controller to.
Returns
Pointer to the controller as T, or nullptr if the cast fails.
See also
DomainController, getController()
Since
Kanzi 4.1.0

◆ getApplicationProperties()

ApplicationProperties kanzi::Domain::getApplicationProperties ( ) const

Returns the ApplicationProperties of this Domain's host.

Delegates to the wired DomainController.

Returns
Copy of the host's ApplicationProperties, or a default-constructed instance if no controller is wired or the host does not expose them.
See also
DomainController::getApplicationProperties()
Since
Kanzi 4.1.0

◆ getPerformanceInfoLevel()

ApplicationProperties::PerformanceInfoLevel kanzi::Domain::getPerformanceInfoLevel ( ) const

Returns the Performance HUD information level of this Domain's host.

Delegates to the wired DomainController.

Returns
The Performance HUD information level, or PerformanceInfoLevelDisabled if no controller is wired or the host does not expose one.
See also
setPerformanceInfoLevel(), DomainController::getPerformanceInfoLevel()
Since
Kanzi 4.1.0

◆ setPerformanceInfoLevel()

void kanzi::Domain::setPerformanceInfoLevel ( ApplicationProperties::PerformanceInfoLevel level)

Sets the Performance HUD information level on this Domain's host.

Delegates to the wired DomainController.

Parameters
levelThe Performance HUD information level to apply.
See also
getPerformanceInfoLevel(), DomainController::setPerformanceInfoLevel()
Since
Kanzi 4.1.0

◆ getStartupProfilerRegistry()

StartupProfilerRegistry * kanzi::Domain::getStartupProfilerRegistry ( ) const

Returns the StartupProfilerRegistry of this Domain's host.

Delegates to the wired DomainController. Callers must null-check before use.

Returns
Pointer to the StartupProfilerRegistry, or nullptr if no controller is wired.
See also
DomainController::getStartupProfilerRegistry()
Since
Kanzi 4.1.0

◆ setPatchingNotificationHandler()

void kanzi::Domain::setPatchingNotificationHandler ( PatchingNotificationHandlerSharedPtr handler)

Sets the patching notification handler.

Parameters
handlerThe patching notification handler to use for notifying about the patching events.

◆ getPatchingNotificationHandler()

PatchingNotificationHandlerSharedPtr kanzi::Domain::getPatchingNotificationHandler ( ) const

Gets the patching notification handler.

Returns
The patching notification handler.

◆ setCompositionManager()

void kanzi::Domain::setCompositionManager ( unique_ptr< CompositionManager > compositionManager)

Set composition manager.

Will take ownership of composition manager passed.

Parameters
compositionManagerNew composition manager.

◆ registerModule() [1/2]

void kanzi::Domain::registerModule ( string_view name,
shared_ptr< Module > module )

Register a Module.

Parameters
nameName of the module.
moduleShared pointer to the module.

◆ registerModule() [2/2]

template<typename TModule >
void kanzi::Domain::registerModule ( string_view name)
inline

Register a Module.

Template Parameters
TModuleThe module class.
Parameters
nameName of the module.

◆ getModule()

Module * kanzi::Domain::getModule ( string_view name)

Get Module instance by the name it is registered with.

Parameters
nameName of the module.

◆ loadPlugin()

void kanzi::Domain::loadPlugin ( string_view url)

Dynamically loads a plugin from a file.

Throws exceptions in cases of failure.

Parameters
urlURL of the file to load a plugin from. In case this file is a native library, pass just its name without the file extension.

◆ tryLoadPlugin()

KZ_NO_DISCARD bool kanzi::Domain::tryLoadPlugin ( string_view url)

Attempts to dynamically load a plugin from a file.

Does not throw exceptions in cases of failure.

Parameters
urlURL of the file to load a plugin from. In case this file is a native library, pass just its name without the file extension.
Returns
False, if the loading fails. True, if the loading succeeds, or module of same name already exists.
Since
Kanzi 3.9.0

◆ registerPluginHandler()

void kanzi::Domain::registerPluginHandler ( string_view protocol,
PluginHandler handler )

Registers a plugin handler for a given protocol.

Parameters
protocolThe format of the plugin file identified by its extension serves as a protocol. For example "dll" for windows shared libraries.
handlerA plugin handler that implements functionality for loading a plugin from the associated plugin file.
Since
Kanzi 3.9.0

◆ unregisterPluginHandler()

void kanzi::Domain::unregisterPluginHandler ( string_view protocol)

Unregisters existing plugin handler for a given protocol.

Parameters
protocolThe format of the plugin file identified by its extension serves as a protocol. For example "dll" for windows shared libraries.
Since
Kanzi 3.9.0

◆ enableEditing()

void kanzi::Domain::enableEditing ( bool enable)
inline

Enables or disables editing mode.

Preview timeline will be created or destroyed depending on whether editing is enabled or not..

◆ isEditingEnabled()

bool kanzi::Domain::isEditingEnabled ( ) const
inline

◆ createPreviewTimeline()

void kanzi::Domain::createPreviewTimeline ( )

Create preview timeline context.

◆ destroyPreviewTimeline()

void kanzi::Domain::destroyPreviewTimeline ( )

Destroy preview timeline context.

◆ setColorWorkflow()

void kanzi::Domain::setColorWorkflow ( ColorWorkflow colorWorkflow)

Sets the ColorWorkflow that has been configured.

◆ getColorWorkflow()

ColorWorkflow kanzi::Domain::getColorWorkflow ( ) const

Gets the currently configured ColorWorkflow.

◆ getGraphicsOutputCount()

size_t kanzi::Domain::getGraphicsOutputCount ( ) const

Access graphics output count.

Returns
Number of attached graphics outputs.

◆ getGraphicsOutput()

GraphicsOutputSharedPtr kanzi::Domain::getGraphicsOutput ( size_t index) const

Access graphics outputs.

Parameters
indexIndex of the graphics output to access.
Returns
Shared pointer to the specified graphics output.

◆ appendGraphicsOutput()

void kanzi::Domain::appendGraphicsOutput ( GraphicsOutputSharedPtr graphicsOutput)

Attach graphics output.

Parameters
graphicsOutputShared pointer to the graphics output to attach.

◆ removeGraphicsOutput()

void kanzi::Domain::removeGraphicsOutput ( size_t index)

Remove graphics output.

Parameters
indexIndex of the graphics output to remove.

◆ clearGraphicsOutputs()

void kanzi::Domain::clearGraphicsOutputs ( )

Removes all graphics outputs.

◆ getEventSourceCount()

size_t kanzi::Domain::getEventSourceCount ( ) const

Access event source count.

Returns
Number of attached event sources.

◆ getEventSource()

EventSourceSharedPtr kanzi::Domain::getEventSource ( size_t index) const

Access event sources.

Parameters
indexIndex of the event source to access.
Returns
Shared pointer to the specified event source.

◆ appendEventSource()

void kanzi::Domain::appendEventSource ( EventSourceSharedPtr eventSource)

Attach event source.

Parameters
eventSourceShared pointer to the event source to attach.

◆ removeEventSource()

void kanzi::Domain::removeEventSource ( size_t index)

Remove event source.

Parameters
indexIndex of the event source to remove.

◆ clearEventSources()

void kanzi::Domain::clearEventSources ( )

Removes all event sources.

◆ getProfilers()

DomainProfilerCollection * kanzi::Domain::getProfilers ( ) const
inline

Access to the domain profiler objects.

Returns
The domain profiler collection.

◆ setOnThreadCreation()

void kanzi::Domain::setOnThreadCreation ( ThreadCreationCallback callback)
inline

On thread creation, Kanzi calls the callback with the internal name that Kanzi assigns to the thread.

◆ onThreadCreation()

void kanzi::Domain::onThreadCreation ( string_view name) const

Notifies that Kanzi created a thread and the name of the thread.

Kanzi calls this function on the created thread, and you can use it for thread-specific startup.

Parameters
nameThread name to set natively and pass to callback.

◆ subscribeMaterialCreated()

DelegateHandle kanzi::Domain::subscribeMaterialCreated ( Delegate< void(Material &)>::Callback callback)

Subscribes a callback invoked after any Material is created.

Returns a handle for removal.

Since
Kanzi 4.1.0
Attention
This feature is experimental and is likely to change in future releases.

◆ unsubscribeMaterialCreated()

void kanzi::Domain::unsubscribeMaterialCreated ( DelegateHandle handle)

Removes a previously subscribed Material created callback.

Since
Kanzi 4.1.0
Attention
This feature is experimental and is likely to change in future releases.

◆ subscribeMaterialDestroyed()

DelegateHandle kanzi::Domain::subscribeMaterialDestroyed ( Delegate< void(Material &)>::Callback callback)

Subscribes a callback invoked before any Material is destroyed.

Returns a handle for removal.

Since
Kanzi 4.1.0
Attention
This feature is experimental and is likely to change in future releases.

◆ unsubscribeMaterialDestroyed()

void kanzi::Domain::unsubscribeMaterialDestroyed ( DelegateHandle handle)

Removes a previously subscribed Material destroyed callback.

Since
Kanzi 4.1.0
Attention
This feature is experimental and is likely to change in future releases.

◆ notifyMaterialCreated()

void kanzi::Domain::notifyMaterialCreated ( Material & material)
Attention
This feature is experimental and is likely to change in future releases.

◆ notifyMaterialDestroyed()

void kanzi::Domain::notifyMaterialDestroyed ( Material & material)
Attention
This feature is experimental and is likely to change in future releases.

Friends And Related Symbol Documentation

◆ DomainController

Member Data Documentation

◆ ProjectPluginReferencesProperty

PropertyType<string> kanzi::Domain::ProjectPluginReferencesProperty
static

ProjectPluginReferences property.

The default value is "".

See also
setProjectPluginReferences(), getProjectPluginReferences()

◆ StateToolsEditStateEnabledProperty

PropertyType<bool> kanzi::Domain::StateToolsEditStateEnabledProperty
static

StateToolsEditStateEnabled property.

The default value is false.

See also
setStateToolsEditStateEnabled(), isStateToolsEditStateEnabled()

The documentation for this class was generated from the following file: