Murl::IApp Interface Referenceabstract

The application interface. More...

#include "murl_i_app.h"

Inheritance diagram for Murl::IApp:

Public Member Functions

virtual Bool Configure (IEngineConfiguration *engineConfig, IFileInterface *fileInterface)=0
 Configure the application. More...
 
virtual Bool IsUserConfigurationMatching (const String &userConfigId) const =0
 Check if the current app configuration matches a given user ID. More...
 
virtual Bool RegisterCustomAddonClasses (IAppAddonRegistry *addonRegistry)=0
 Register custom add-ons with the engine. More...
 
virtual Bool UnregisterCustomAddonClasses (IAppAddonRegistry *addonRegistry)=0
 Unregister custom add-ons from the engine. More...
 
virtual Bool RegisterCustomFactoryClasses (IAppFactoryRegistry *factoryRegistry)=0
 Register custom factory classes with the engine. More...
 
virtual Bool UnregisterCustomFactoryClasses (IAppFactoryRegistry *factoryRegistry)=0
 Unregister custom factory classes from the engine. More...
 
virtual Bool RegisterCustomModuleClasses (IAppModuleRegistry *moduleRegistry)=0
 Register custom module classes with the engine. More...
 
virtual Bool UnregisterCustomModuleClasses (IAppModuleRegistry *moduleRegistry)=0
 Unregister custom module classes from the engine. More...
 
virtual Bool Init (const IAppState *appState)=0
 Initialize the application. More...
 
virtual Bool DeInit (const IAppState *appState)=0
 Deinitialize the application. More...
 

Detailed Description

The application interface.

An application implements the IApp interface to integrate to the engine.

Member Function Documentation

◆ Configure()

virtual Bool Murl::IApp::Configure ( IEngineConfiguration engineConfig,
IFileInterface fileInterface 
)
pure virtual

Configure the application.

This method is called by the platform first of all to provide the current platform configuration to the application. At this point the application can read the platform configuration and setup the app configuration and the engine configuration. The application can return false to abort starting the application.

Parameters
engineConfigThe engine configuration object.
fileInterfaceThe file interface object.
Returns
true if successful.

Implemented in Murl::App::AppBase.

◆ IsUserConfigurationMatching()

virtual Bool Murl::IApp::IsUserConfigurationMatching ( const String userConfigId) const
pure virtual

Check if the current app configuration matches a given user ID.

This method is called by the engine whenever a resource object or graph node needs to be created that depends on some user-defined condition. The app should return true whenever the queried user configuration ID matches the current configuration.

Parameters
userConfigIdA string representing the user-defined configuration to be queried.
Returns
true if the current configuration is represented by the given ID.

Implemented in Murl::App::AppBase.

◆ RegisterCustomAddonClasses()

virtual Bool Murl::IApp::RegisterCustomAddonClasses ( IAppAddonRegistry addonRegistry)
pure virtual

Register custom add-ons with the engine.

This method is called by the engine core before initializing the application, and also before any of the other register methods below. It allows the application to create and register custom add-ons as needed, which in turn are allowed to register their own factory and module classes.

Parameters
addonRegistryThe registry to access individual add-ons.
Returns
true if successful.

Implemented in Murl::App::AppBase.

◆ UnregisterCustomAddonClasses()

virtual Bool Murl::IApp::UnregisterCustomAddonClasses ( IAppAddonRegistry addonRegistry)
pure virtual

Unregister custom add-ons from the engine.

This method is called by the engine core after deinitializing the application, and after all configuration-dependent modules and factory classes have been released. See RegisterCustomAddonClasses().

Parameters
addonRegistryThe registry to access individual add-ons.
Returns
true if successful.

Implemented in Murl::App::AppBase.

◆ RegisterCustomFactoryClasses()

virtual Bool Murl::IApp::RegisterCustomFactoryClasses ( IAppFactoryRegistry factoryRegistry)
pure virtual

Register custom factory classes with the engine.

This method is called by the engine core before initializing the application, and also before creating any configuration-dependent modules, such as video/audio renderers and physics engine. An application can register custom factory classes with any of the registries provided by the factoryRegistry object to provide extensions to different engine components, such as graph nodes, resource loaders or audio/video renderers and physics engines.

Parameters
factoryRegistryThe main registry to access individual factory registries.
Returns
true if successful.

Implemented in Murl::App::AppBase.

◆ UnregisterCustomFactoryClasses()

virtual Bool Murl::IApp::UnregisterCustomFactoryClasses ( IAppFactoryRegistry factoryRegistry)
pure virtual

Unregister custom factory classes from the engine.

This method is called by the engine core after deinitializing the application, and after all configuration-dependent modules have been released. See RegisterCustomFactoryClasses().

Parameters
factoryRegistryThe main registry to access individual factory registries.
Returns
true if successful.

Implemented in Murl::App::AppBase.

◆ RegisterCustomModuleClasses()

virtual Bool Murl::IApp::RegisterCustomModuleClasses ( IAppModuleRegistry moduleRegistry)
pure virtual

Register custom module classes with the engine.

This method is called by the engine core after RegisterCustomFactoryClasses(), when there is already a present set of configuration-dependent modules, such as audio or video renderers, and physics engine. An application can register custom module classes with any of the registries provided by the moduleRegistry parameter to provide extensions to different engine modules, such as audio/video renderer objects or physics objects.

Parameters
moduleRegistryThe main registry to access individual module registries.
Returns
true if successful.

Implemented in Murl::App::AppBase.

◆ UnregisterCustomModuleClasses()

virtual Bool Murl::IApp::UnregisterCustomModuleClasses ( IAppModuleRegistry moduleRegistry)
pure virtual

Unregister custom module classes from the engine.

This method is called by the engine core after deinitializing the application, but before the actual configuration-dependent modules are released. See RegisterCustomModuleClasses().

Parameters
moduleRegistryThe main registry to access individual module registries.
Returns
true if successful.

Implemented in Murl::App::AppBase.

◆ Init()

virtual Bool Murl::IApp::Init ( const IAppState appState)
pure virtual

Initialize the application.

This method is called by the engine core for application initialization. At this point an application can trigger loading resources and creating Logic::IProcessor objects.

Parameters
appStateThe application state object.
Returns
true if successful.

◆ DeInit()

virtual Bool Murl::IApp::DeInit ( const IAppState appState)
pure virtual

Deinitialize the application.

This method is called by the engine core for application deinitialization. At this point an application can destroy Logic::IProcessor objects.

Parameters
appStateThe application state object.
Returns
true if successful.

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


Copyright © 2011-2024 Spraylight GmbH.