Menu
Lumberyard
C++ API Reference (Version 1.10)

AZ::ComponentApplicationRequests Class Referenceabstract

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 ComponentApplicationGetApplication ()=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 EntityFindEntity (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 SerializeContextGetSerializeContext ()=0
 Gets the serialize context that was registered with the application. More...
 
virtual class BehaviorContextGetBehaviorContext ()=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 ( )
inlinevirtual

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
entityA 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
idA 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
callbackA reference to the callback that is invoked for each entity.

◆ EnumerateModules()

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

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

Parameters
cbA 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
idA 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)
inlinevirtual

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
idA 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
descriptorA 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
entityA 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
descriptorA 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: