The application interface. More...
#include "murl_i_app.h"
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()
|
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
-
engineConfig The engine configuration object. fileInterface The file interface object.
- Returns
- true if successful.
Implemented in Murl::App::AppBase.
◆ IsUserConfigurationMatching()
|
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
-
userConfigId A 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()
|
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
-
addonRegistry The registry to access individual add-ons.
- Returns
- true if successful.
Implemented in Murl::App::AppBase.
◆ UnregisterCustomAddonClasses()
|
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
-
addonRegistry The registry to access individual add-ons.
- Returns
- true if successful.
Implemented in Murl::App::AppBase.
◆ RegisterCustomFactoryClasses()
|
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
-
factoryRegistry The main registry to access individual factory registries.
- Returns
- true if successful.
Implemented in Murl::App::AppBase.
◆ UnregisterCustomFactoryClasses()
|
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
-
factoryRegistry The main registry to access individual factory registries.
- Returns
- true if successful.
Implemented in Murl::App::AppBase.
◆ RegisterCustomModuleClasses()
|
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
-
moduleRegistry The main registry to access individual module registries.
- Returns
- true if successful.
Implemented in Murl::App::AppBase.
◆ UnregisterCustomModuleClasses()
|
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
-
moduleRegistry The main registry to access individual module registries.
- Returns
- true if successful.
Implemented in Murl::App::AppBase.
◆ Init()
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
-
appState The application state object.
- Returns
- true if successful.
◆ DeInit()
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
-
appState The application state object.
- Returns
- true if successful.
The documentation for this interface was generated from the following file:
- murl_i_app.h