![]() |
Murl Engine API
Version 2018.3
|
The application interface. More...
#include <murl_i_app.h>
The application interface.
An application implements the IApp interface to integrate to the engine.
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... | |
|
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.
engineConfig | The engine configuration object. |
fileInterface | The file interface object. |
Implemented in Murl::App::AppBase.
|
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.
userConfigId | A string representing the user-defined configuration to be queried. |
Implemented in Murl::App::AppBase.
|
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.
addonRegistry | The registry to access individual add-ons. |
Implemented in Murl::App::AppBase.
|
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().
addonRegistry | The registry to access individual add-ons. |
Implemented in Murl::App::AppBase.
|
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.
factoryRegistry | The main registry to access individual factory registries. |
Implemented in Murl::App::AppBase.
|
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().
factoryRegistry | The main registry to access individual factory registries. |
Implemented in Murl::App::AppBase.
|
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.
moduleRegistry | The main registry to access individual module registries. |
Implemented in Murl::App::AppBase.
|
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().
moduleRegistry | The main registry to access individual module registries. |
Implemented in Murl::App::AppBase.
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.
appState | The application state object. |
Deinitialize the application.
This method is called by the engine core for application deinitialization. At this point an application can destroy Logic::IProcessor objects.
appState | The application state object. |