Murl::Logic::IProcessor Interface Referenceabstract

The IProcessor interface. More...

#include "murl_logic_i_processor.h"

Inheritance diagram for Murl::Logic::IProcessor:

Public Member Functions

virtual Bool SetAppProcessor (IAppProcessorPtr appProcessor)=0
 Set the processor callback object. More...
 
virtual Bool IsInitialized () const =0
 Check if the processor is initialized. More...
 
virtual Bool IsDeInitialized () const =0
 Check if the processor is deinitialized. More...
 
virtual void SetEnabled (Bool isEnabled)=0
 Set the Enable/Disable state of the processor. More...
 
virtual void SetChildrenEnabled (Bool isEnabled)=0
 Set the Enable/Disable state for all child processors. More...
 
virtual Bool IsEnabled () const =0
 Check if the processor is enabled. More...
 
virtual Bool AddChild (IProcessorPtr processor)=0
 Add a child processor. More...
 
virtual Bool RemoveChild (IProcessorPtr processor)=0
 Remove a child processor. More...
 
virtual Bool InitAddChild (const IState *state, IProcessorPtr processor)=0
 Initialize and add a child processor. More...
 
virtual Bool RemoveDeInitChild (const IState *state, IProcessorPtr processor)=0
 Remove and deinitialize a child processor. More...
 
virtual UInt32 GetNumberOfChildren () const =0
 Get the number of childen. More...
 
virtual IProcessorPtr GetChild (UInt32 index) const =0
 Get a child processor by index. More...
 
virtual Bool AddStepable (IStepablePtr stepable)=0
 Add a stepable object to the processor's stepable observer. More...
 
virtual Bool RemoveStepable (IStepablePtr stepable)=0
 Remove a stepable object from the processor's stepable observer. More...
 
virtual IStepableObserverPtr GetStepableObserver () const =0
 Get the processor's stepable observer object. More...
 
virtual Bool AddGraphNode (IObservableNodePtr observableNode)=0
 Add a observable node object to the processor's node observer. More...
 
virtual Bool RemoveGraphNode (IObservableNodePtr observableNode)=0
 Remove a observable node object from the processor's node observer. More...
 
virtual Bool AreGraphNodesValid () const =0
 Check if all observed nodes are valid. More...
 
virtual INodeObserverPtr GetNodeObserver () const =0
 Get the processor's node observer object. More...
 
- Public Member Functions inherited from Murl::Logic::IEngineProcessor
virtual Bool Init (const IState *state)=0
 Initialze the processor. More...
 
virtual Bool DeInit (const IState *state)=0
 Deinitialze the processor. More...
 
virtual void ProcessTick (const IState *state)=0
 Execute a logic tick. More...
 
virtual void ProcessFrame (const IState *state)=0
 Execute a frame tick. More...
 
virtual void FinishTick (const IState *state)=0
 Finish a logic tick. More...
 
virtual void FinishFrame (const IState *state)=0
 Finish a frame tick. More...
 
virtual void PackageWillBeLoaded (const IState *state, IPackage *package)=0
 Report the beginning of package loading. More...
 
virtual void PackageWasLoaded (const IState *state, IPackage *package)=0
 Report the succesful loading of a package. More...
 
virtual void PackageFailedLoading (const IState *state, IPackage *package)=0
 Report failed loading a package. More...
 
virtual void PackageWillBeUnloaded (const IState *state, IPackage *package)=0
 Report the beginning of package unloading. More...
 
virtual void PackageWasUnloaded (const IState *state, IPackage *package)=0
 Report the succesful unloading of a package. More...
 
virtual void PackageFailedUnloading (const IState *state, IPackage *package)=0
 Report failed unloading a package. More...
 
virtual void RunStateChanged (const IState *state, IEnums::AppRunState currentState, IEnums::AppRunState previousState)=0
 Report a change of the application run state. More...
 

Detailed Description

The IProcessor interface.

The IProcessor implements the IEngineProcessor interface including:

The following is performed on the IEngineProcessor interface:

Member Function Documentation

◆ SetAppProcessor()

virtual Bool Murl::Logic::IProcessor::SetAppProcessor ( IAppProcessorPtr  appProcessor)
pure virtual

Set the processor callback object.

Parameters
appProcessorThe processor callback object.
Returns
true if successful.

◆ IsInitialized()

virtual Bool Murl::Logic::IProcessor::IsInitialized ( ) const
pure virtual

Check if the processor is initialized.

IsInitialized() is typically the opposite of IsDeInitialized(), except if initialization fails. In this situation the processor is not initialized and not deinitialized, which means if the initialization fails, the deinitialization sequence is performed to clean-up the unfinished initialization process.

Returns
true if the processor is initialized.

◆ IsDeInitialized()

virtual Bool Murl::Logic::IProcessor::IsDeInitialized ( ) const
pure virtual

Check if the processor is deinitialized.

IsDeInitialized() is typically the opposite of IsInitialized(), except if initialization fails. In this situation the processor is not initialized and not deinitialized, which means if the initialization fails, the deinitialization sequence is performed to clean-up the unfinished initialization process.

Returns
true if the processor is deinitialized.

◆ SetEnabled()

virtual void Murl::Logic::IProcessor::SetEnabled ( Bool  isEnabled)
pure virtual

Set the Enable/Disable state of the processor.

A disabled processor skips the IAppProcessor::OnProcessTick(), IAppProcessor::OnProcessFrame(), IStepableObserver::ProcessTick() callback.
SetEnabled performs the following:

◆ SetChildrenEnabled()

virtual void Murl::Logic::IProcessor::SetChildrenEnabled ( Bool  isEnabled)
pure virtual

Set the Enable/Disable state for all child processors.

Call SetEnabled() for all child processors.

Parameters
isEnabledtrue for enable, false for disable.

◆ IsEnabled()

virtual Bool Murl::Logic::IProcessor::IsEnabled ( ) const
pure virtual

Check if the processor is enabled.

Returns
true if enabled.

◆ AddChild()

virtual Bool Murl::Logic::IProcessor::AddChild ( IProcessorPtr  processor)
pure virtual

Add a child processor.

Add a given processor as the next child of the current processor.

Parameters
processorThe processor object to add.
Returns
true if successful.

◆ RemoveChild()

virtual Bool Murl::Logic::IProcessor::RemoveChild ( IProcessorPtr  processor)
pure virtual

Remove a child processor.

Remove the first instance of a given processor node from this processor's children.

Parameters
processorThe processor object to remove.
Returns
true if successful.

◆ InitAddChild()

virtual Bool Murl::Logic::IProcessor::InitAddChild ( const IState state,
IProcessorPtr  processor 
)
pure virtual

Initialize and add a child processor.

Execute Init() of a given processor and add the given processor as the next child of the current processor. This method is used for adding processors after initialization of the current processor.

Parameters
stateThe IState object.
processorThe processor object to initialize and add.
Returns
true if successful.

◆ RemoveDeInitChild()

virtual Bool Murl::Logic::IProcessor::RemoveDeInitChild ( const IState state,
IProcessorPtr  processor 
)
pure virtual

Remove and deinitialize a child processor.

Remove the first instance of a given processor node from this processor's children and execute DeInit() of the given processor. This method is used for removing processors before deinitialization of the current processor.

Parameters
stateThe IState object.
processorThe processor object to remove and deinitialize.
Returns
true if successful.

◆ GetNumberOfChildren()

virtual UInt32 Murl::Logic::IProcessor::GetNumberOfChildren ( ) const
pure virtual

Get the number of childen.

Returns
The number of children.

◆ GetChild()

virtual IProcessorPtr Murl::Logic::IProcessor::GetChild ( UInt32  index) const
pure virtual

Get a child processor by index.

A valid index is [0 .. GetNumberOfChildren() - 1].

Parameters
indexThe zero-based index of the child processor.
Returns
The child processor object or null if the index is out of range.

◆ AddStepable()

virtual Bool Murl::Logic::IProcessor::AddStepable ( IStepablePtr  stepable)
pure virtual

Add a stepable object to the processor's stepable observer.

See IStepableObserver::Add().

Parameters
stepableThe stepable object to add.
Returns
true if successful.

◆ RemoveStepable()

virtual Bool Murl::Logic::IProcessor::RemoveStepable ( IStepablePtr  stepable)
pure virtual

Remove a stepable object from the processor's stepable observer.

See IStepableObserver::Remove().

Parameters
stepableThe stepable object to remove.
Returns
true if successful.

◆ GetStepableObserver()

virtual IStepableObserverPtr Murl::Logic::IProcessor::GetStepableObserver ( ) const
pure virtual

Get the processor's stepable observer object.

Returns
The processor's IStepableObserver object.

◆ AddGraphNode()

virtual Bool Murl::Logic::IProcessor::AddGraphNode ( IObservableNodePtr  observableNode)
pure virtual

Add a observable node object to the processor's node observer.

See INodeObserver::Add().

Parameters
observableNodeThe observable node object to add.
Returns
true if successful.

◆ RemoveGraphNode()

virtual Bool Murl::Logic::IProcessor::RemoveGraphNode ( IObservableNodePtr  observableNode)
pure virtual

Remove a observable node object from the processor's node observer.

See INodeObserver::Remove().

Parameters
observableNodeThe observable node object to remove.
Returns
true if successful.

◆ AreGraphNodesValid()

virtual Bool Murl::Logic::IProcessor::AreGraphNodesValid ( ) const
pure virtual

Check if all observed nodes are valid.

See INodeObserver::AreValid().

Returns
true if all observed nodes are valid.

◆ GetNodeObserver()

virtual INodeObserverPtr Murl::Logic::IProcessor::GetNodeObserver ( ) const
pure virtual

Get the processor's node observer object.

Returns
The processor's INodeObserver object.

The documentation for this interface was generated from the following file:
  • murl_logic_i_processor.h


Copyright © 2011-2024 Spraylight GmbH.