Menu
Lumberyard
C++ API Reference (Version 1.10)

AZ::ComponentApplicationRequests Class Reference abstract

Open 3D Engine (O3DE), the successor to Lumberyard, is now available in Developer Preview. Download O3DE or visit the AWS Game Tech blog to learn more.

Interface for AZ::ComponentApplicationBus , which components use to make requests of the main application. More...

Inherits AZ::EBusTraits .

Public Types

typedef MutexType
Overrides the default AZ::EBusTraits mutex type to the AZStd implementation of a recursive mutex with exclusive ownership semantics. More...
using EntityCallback
The type that AZ::ComponentApplicationRequests::EnumerateEntities uses to pass entity callbacks to the application for enumeration. More...
using EnumerateModulesCallback
The type that AZ::ComponentApplicationRequests::EnumerateModules uses to pass module callbacks to the application for enumeration. More...
- Public Types inherited from AZ::EBusTraits
using AllocatorType
Allocator used by the EBus . More...
using BusIdType
The type of ID that is used to address the EBus . More...
using BusIdOrderCompare
Sorting function for EBus address IDs. More...
using BusHandlerOrderCompare
Sorting function for EBus event handlers. More...
using MutexType
Locking primitive that is used when connecting handlers to the EBus or executing events. More...
using EventQueueMutexType
Locking primitive that is used when adding and removing events from the queue. More...
using ConnectionPolicy
Enables custom logic to run when a handler connects or disconnects from the EBus . More...
using StoragePolicy
Specifies where EBus data is stored. More...
using RouterPolicy
Controls the flow of EBus events. More...

Public Member Functions

virtual ~ComponentApplicationRequests ()
A destructor. More...
virtual void RegisterComponentDescriptor (const ComponentDescriptor *descriptor)=0
Registers a component descriptor with the application. More...
virtual void UnregisterComponentDescriptor (const ComponentDescriptor *descriptor)=0
Unregisters a component descriptor with the application. More...
virtual ComponentApplication * GetApplication ()=0
Gets a pointer to the application. More...
virtual bool AddEntity ( Entity *entity)=0
Adds an entity to the application's registry. More...
virtual bool RemoveEntity ( Entity *entity)=0
Removes the specified entity from the application's registry. More...
virtual bool DeleteEntity (const EntityId &id)=0
Unregisters and deletes the specified entity. More...
virtual Entity * FindEntity (const EntityId &id)=0
Returns the entity with the matching ID, if the entity is registered with the application. More...
virtual AZStd::string GetEntityName (const EntityId &id)
Returns the name of the entity that has the specified entity ID. More...
virtual void EnumerateEntities (const EntityCallback &callback)=0
Enumerates all registered entities and invokes the specified callback for each entity. More...
virtual class SerializeContext * GetSerializeContext ()=0
Gets the serialize context that was registered with the application. More...
virtual class BehaviorContext * GetBehaviorContext ()=0
Gets the behavior context that was registered with the application. More...
virtual const char * GetAppRoot ()=0
Gets the name of the working root folder that was registered with the application. More...
virtual const char * GetExecutableFolder ()=0
Gets the path to the directory that contains the application's executable. More...
virtual Debug::DrillerManager * GetDrillerManager ()=0
Returns a pointer to the driller manager, if driller is enabled. More...
virtual void EnumerateModules ( EnumerateModulesCallback cb)
Enumerates all loaded modules and invokes the specified callback for each module. More...

Static Public Attributes

static const AZ::EBusHandlerPolicy HandlerPolicy
Overrides the default AZ::EBusTraits handler policy to allow one listener only, because only one application can exist at a time. More...
- Static Public Attributes inherited from AZ::EBusTraits
static const EBusHandlerPolicy HandlerPolicy
Defines how many handlers can connect to an address on the EBus and the order in which handlers at each address receive events. More...
static const EBusAddressPolicy AddressPolicy
Defines how many addresses exist on the EBus . More...
static const bool EnableEventQueue
Specifies whether the EBus supports an event queue. More...

Additional Inherited Members

- Protected Member Functions inherited from AZ::EBusTraits
~EBusTraits ()=default
A destructor. More...

Detailed Description

Interface for AZ::ComponentApplicationBus , which components use to make requests of the main application.

Only one application can exist at a time, which is why this bus supports only one listener.

Member Typedef Documentation

EntityCallback

The type that AZ::ComponentApplicationRequests::EnumerateEntities uses to pass entity callbacks to the application for enumeration.

EnumerateModulesCallback

using AZ::ComponentApplicationRequests::EnumerateModulesCallback = AZStd::function<bool(Module* , DynamicModuleHandle* )>

The type that AZ::ComponentApplicationRequests::EnumerateModules uses to pass module callbacks to the application for enumeration.

MutexType

typedef AZStd::recursive_mutex AZ::ComponentApplicationRequests::MutexType

Overrides the default AZ::EBusTraits mutex type to the AZStd implementation of a recursive mutex with exclusive ownership semantics.

A mutex prevents multiple threads from accessing shared data simultaneously.

Constructor & Destructor Documentation

~ComponentApplicationRequests()

virtual AZ::ComponentApplicationRequests::~ComponentApplicationRequests ( )
inline virtual

A destructor.

Member Function Documentation

AddEntity()

virtual bool AZ::ComponentApplicationRequests::AddEntity ( Entity * entity )
pure virtual

Adds an entity to the application's registry.

Calling Init() on an entity automatically performs this operation.

Parameters
entity A pointer to the entity to add to the application's registry.
Returns
True if the operation succeeded. False if the operation failed.

DeleteEntity()

virtual bool AZ::ComponentApplicationRequests::DeleteEntity ( const EntityId & id )
pure virtual

Unregisters and deletes the specified entity.

Parameters
id A reference to the entity that will be unregistered and deleted.
Returns
True if the operation succeeded. False if the operation failed.

EnumerateEntities()

virtual void AZ::ComponentApplicationRequests::EnumerateEntities ( const EntityCallback & callback )
pure virtual

Enumerates all registered entities and invokes the specified callback for each entity.

Parameters
callback A reference to the callback that is invoked for each entity.

EnumerateModules()

virtual void AZ::ComponentApplicationRequests::EnumerateModules ( EnumerateModulesCallback cb )
inline virtual

Enumerates all loaded modules and invokes the specified callback for each module.

Parameters
cb A reference to the callback that is invoked for each module.

FindEntity()

virtual Entity * AZ::ComponentApplicationRequests::FindEntity ( const EntityId & id )
pure virtual

Returns the entity with the matching ID, if the entity is registered with the application.

Parameters
id A reference to the entity that you are searching for.
Returns
A pointer to the entity with the specified entity ID.

GetApplication()

virtual ComponentApplication * AZ::ComponentApplicationRequests::GetApplication ( )
pure virtual

Gets a pointer to the application.

Returns
A pointer to the application.

GetAppRoot()

virtual const char* AZ::ComponentApplicationRequests::GetAppRoot ( )
pure virtual

Gets the name of the working root folder that was registered with the application.

Returns
A pointer to the name of the app's root folder, if a root folder was registered.

GetBehaviorContext()

virtual class BehaviorContext * AZ::ComponentApplicationRequests::GetBehaviorContext ( )
pure virtual

Gets the behavior context that was registered with the application.

BehaviorContext is a class that reflects classes, methods, and EBuses for runtime interaction.

Returns
A pointer to the behavior context, if there is one.

GetDrillerManager()

virtual Debug::DrillerManager* AZ::ComponentApplicationRequests::GetDrillerManager ( )
pure virtual

Returns a pointer to the driller manager, if driller is enabled.

The driller manager manages all active driller sessions and driller factories.

Returns
A pointer to the driller manager. If driller is not enabled, this function returns null.

GetEntityName()

virtual AZStd::string AZ::ComponentApplicationRequests::GetEntityName ( const EntityId & id )
inline virtual

Returns the name of the entity that has the specified entity ID.

Entity names are not unique. This method exists to facilitate better debugging messages.

Parameters
id A reference to the entity whose name you are seeking.
Returns
The name of the entity with the specified entity ID. If no entity is found for the specified ID, it returns an empty string.

GetExecutableFolder()

virtual const char* AZ::ComponentApplicationRequests::GetExecutableFolder ( )
pure virtual

Gets the path to the directory that contains the application's executable.

Returns
A pointer to the name of the path that contains the application's executable.

GetSerializeContext()

virtual class SerializeContext * AZ::ComponentApplicationRequests::GetSerializeContext ( )
pure virtual

Gets the serialize context that was registered with the application.

SerializeContext is a class that contains reflection data for serialization and construction of objects.

Returns
A pointer to the serialize context, if there is one.

RegisterComponentDescriptor()

virtual void AZ::ComponentApplicationRequests::RegisterComponentDescriptor ( const ComponentDescriptor * descriptor )
pure virtual

Registers a component descriptor with the application.

Parameters
descriptor A pointer to a ComponentDescriptor object that contains the details of the component.

RemoveEntity()

virtual bool AZ::ComponentApplicationRequests::RemoveEntity ( Entity * entity )
pure virtual

Removes the specified entity from the application's registry.

Deleting an entity automatically performs this operation.

Parameters
entity A pointer to the entity that will be removed from the application's registry.
Returns
True if the operation succeeded. False if the operation failed.

UnregisterComponentDescriptor()

virtual void AZ::ComponentApplicationRequests::UnregisterComponentDescriptor ( const ComponentDescriptor * descriptor )
pure virtual

Unregisters a component descriptor with the application.

Parameters
descriptor A pointer to a ComponentDescriptor object that contains the details of the component.

Member Data Documentation

HandlerPolicy

const AZ::EBusHandlerPolicy AZ::ComponentApplicationRequests::HandlerPolicy
static

Overrides the default AZ::EBusTraits handler policy to allow one listener only, because only one application can exist at a time.


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