Menu
Lumberyard
C++ API Reference (Version 1.10)

EBus.h File Reference

Header file for event bus (EBus), a general-purpose communication system that Lumberyard uses to dispatch notifications and receive requests. More...

Classes

struct  AZ::EBusTraits
 EBusTraits are properties that you use to configure an EBus. More...
 
class  AZ::EBus< Interface, BusTraits >
 Event buses (EBuses) are a general-purpose communication system that Lumberyard uses to dispatch notifications and receive requests. More...
 

Namespaces

 AZStd
 
 AZ
 

Macros

#define EBUS_EVENT_PTR(_BusPtr, _EBUS, ...)
 Dispatches an event to handlers at a cached address. More...
 
#define EBUS_EVENT_PTR_RESULT(_Result, _BusPtr, _EBUS, ...)
 Dispatches an event to handlers at a cached address and receives results. More...
 
#define EBUS_EVENT_ID(_BusId, _EBUS, ...)
 Dispatches an event to handlers at a specific address. More...
 
#define EBUS_EVENT_ID_RESULT(_Result, _BusId, _EBUS, ...)
 Dispatches an event to handlers at a specific address and receives results. More...
 
#define EBUS_EVENT(_EBUS, ...)
 Dispatches an event to all handlers. More...
 
#define EBUS_EVENT_RESULT(_Result, _EBUS, ...)
 Dispatches an event to all handlers and receives results. More...
 
#define EBUS_EVENT_PTR_REVERSE(_BusPtr, _EBUS, ...)
 Dispatches an event to handlers at a cached address in reverse order. More...
 
#define EBUS_EVENT_PTR_RESULT_REVERSE(_Result, _BusPtr, _EBUS, ...)
 Dispatches an event to handlers at a cached address in reverse order and receives results. More...
 
#define EBUS_EVENT_ID_REVERSE(_BusId, _EBUS, ...)
 Dispatches an event to handlers at a specific address in reverse order. More...
 
#define EBUS_EVENT_ID_RESULT_REVERSE(_Result, _BusId, _EBUS, ...)
 Dispatches an event to handlers at a specific address in reverse order and receives results. More...
 
#define EBUS_EVENT_REVERSE(_EBUS, ...)
 Dispatches an event to all handlers in reverse order. More...
 
#define EBUS_EVENT_RESULT_REVERSE(_Result, _EBUS, ...)
 Dispatches an event to all handlers in reverse order and receives results. More...
 
#define EBUS_QUEUE_EVENT(_EBUS, ...)
 Enqueues an asynchronous event to dispatch to all handlers. More...
 
#define EBUS_QUEUE_EVENT_PTR(_BusPtr, _EBUS, ...)
 Enqueues an asynchronous event to dispatch to handlers at a cached address. More...
 
#define EBUS_QUEUE_EVENT_ID(_BusId, _EBUS, ...)
 Enqueues an asynchronous event to dispatch to handlers at a specific address. More...
 
#define EBUS_QUEUE_EVENT_REVERSE(_EBUS, ...)
 Enqueues an asynchronous event to dispatch to all handlers in reverse order. More...
 
#define EBUS_QUEUE_EVENT_PTR_REVERSE(_BusPtr, _EBUS, ...)
 Enqueues an asynchronous event to dispatch to handlers at a cached address in reverse order. More...
 
#define EBUS_QUEUE_EVENT_ID_REVERSE(_BusId, _EBUS, ...)
 Enqueues an asynchronous event to dispatch to handlers at a specific address in reverse order. More...
 
#define EBUS_QUEUE_FUNCTION(_EBUS, ...)
 Enqueues an arbitrary callable function to be executed asynchronously. More...
 
#define EBUS_DBG_EVENT_PTR(_BusPtr, _EBUS, ...)
 Dispatches an event to handlers at a cached address. More...
 
#define EBUS_DBG_EVENT_PTR_RESULT(_Result, _BusPtr, _EBUS, ...)
 Dispatches an event to handlers at a cached address and receives results. More...
 
#define EBUS_DBG_EVENT_ID(_BusId, _EBUS, ...)
 Dispatches an event to handlers at a specific address. More...
 
#define EBUS_DBG_EVENT_ID_RESULT(_Result, _BusId, _EBUS, ...)
 Dispatches an event to handlers at a specific address and receives results. More...
 
#define EBUS_DBG_EVENT(_EBUS, ...)
 Dispatches an event to all handlers. More...
 
#define EBUS_DBG_EVENT_RESULT(_Result, _EBUS, ...)
 Dispatches an event to all handlers and receives results. More...
 
#define EBUS_DBG_EVENT_PTR_REVERSE(_BusPtr, _EBUS, ...)
 Dispatches an event to handlers at a cached address in reverse order. More...
 
#define EBUS_DBG_EVENT_PTR_RESULT_REVERSE(_Result, _BusPtr, _EBUS, ...)
 Dispatches an event to handlers at a cached address in reverse order and receives results. More...
 
#define EBUS_DBG_EVENT_ID_REVERSE(_BusId, _EBUS, ...)
 Dispatches an event to handlers at a specific address in reverse order. More...
 
#define EBUS_DBG_EVENT_ID_RESULT_REVERSE(_Result, _BusId, _EBUS, ...)
 Dispatches an event to handlers at a specific address in reverse order and receives results. More...
 
#define EBUS_DBG_EVENT_REVERSE(_EBUS, ...)
 Dispatches an event to all handlers in reverse order. More...
 
#define EBUS_DBG_EVENT_RESULT_REVERSE(_Result, _EBUS, ...)
 Dispatches an event to all handlers in reverse order and receives results. More...
 
#define EBUS_DBG_QUEUE_EVENT(_EBUS, ...)
 Enqueues an asynchronous event to dispatch to all handlers. More...
 
#define EBUS_DBG_QUEUE_EVENT_PTR(_BusPtr, _EBUS, ...)
 Enqueues an asynchronous event to dispatch to handlers at a cached address. More...
 
#define EBUS_DBG_QUEUE_EVENT_ID(_BusId, _EBUS, ...)
 Enqueues an asynchronous event to dispatch to handlers at a specific address. More...
 
#define EBUS_DBG_QUEUE_EVENT_REVERSE(_EBUS, ...)
 Enqueues an asynchronous event to dispatch to all handlers in reverse order. More...
 
#define EBUS_DBG_QUEUE_EVENT_PTR_REVERSE(_BusPtr, _EBUS, ...)
 Enqueues an asynchronous event to dispatch to handlers at a cached address in reverse order. More...
 
#define EBUS_DBG_QUEUE_EVENT_ID_REVERSE(_BusId, _EBUS, ...)
 Enqueues an asynchronous event to dispatch to handlers at a specific address in reverse order. More...
 
#define EBUS_DBG_QUEUE_FUNCTION(_EBUS, ...)
 Enqueues an arbitrary callable function to be executed asynchronously. More...
 

Detailed Description

Header file for event bus (EBus), a general-purpose communication system that Lumberyard uses to dispatch notifications and receive requests.

EBuses are configurable and support many different use cases. For more information about EBuses, see AZ::EBus in this guide and Event Bus in the Lumberyard Developer Guide.

Macro Definition Documentation

◆ EBUS_DBG_EVENT

#define EBUS_DBG_EVENT (   _EBUS,
  ... 
)

Dispatches an event to all handlers.

◆ EBUS_DBG_EVENT_ID

#define EBUS_DBG_EVENT_ID (   _BusId,
  _EBUS,
  ... 
)

Dispatches an event to handlers at a specific address.

◆ EBUS_DBG_EVENT_ID_RESULT

#define EBUS_DBG_EVENT_ID_RESULT (   _Result,
  _BusId,
  _EBUS,
  ... 
)

Dispatches an event to handlers at a specific address and receives results.

◆ EBUS_DBG_EVENT_ID_RESULT_REVERSE

#define EBUS_DBG_EVENT_ID_RESULT_REVERSE (   _Result,
  _BusId,
  _EBUS,
  ... 
)

Dispatches an event to handlers at a specific address in reverse order and receives results.

◆ EBUS_DBG_EVENT_ID_REVERSE

#define EBUS_DBG_EVENT_ID_REVERSE (   _BusId,
  _EBUS,
  ... 
)

Dispatches an event to handlers at a specific address in reverse order.

◆ EBUS_DBG_EVENT_PTR

#define EBUS_DBG_EVENT_PTR (   _BusPtr,
  _EBUS,
  ... 
)

Dispatches an event to handlers at a cached address.

◆ EBUS_DBG_EVENT_PTR_RESULT

#define EBUS_DBG_EVENT_PTR_RESULT (   _Result,
  _BusPtr,
  _EBUS,
  ... 
)

Dispatches an event to handlers at a cached address and receives results.

◆ EBUS_DBG_EVENT_PTR_RESULT_REVERSE

#define EBUS_DBG_EVENT_PTR_RESULT_REVERSE (   _Result,
  _BusPtr,
  _EBUS,
  ... 
)

Dispatches an event to handlers at a cached address in reverse order and receives results.

◆ EBUS_DBG_EVENT_PTR_REVERSE

#define EBUS_DBG_EVENT_PTR_REVERSE (   _BusPtr,
  _EBUS,
  ... 
)

Dispatches an event to handlers at a cached address in reverse order.

◆ EBUS_DBG_EVENT_RESULT

#define EBUS_DBG_EVENT_RESULT (   _Result,
  _EBUS,
  ... 
)

Dispatches an event to all handlers and receives results.

◆ EBUS_DBG_EVENT_RESULT_REVERSE

#define EBUS_DBG_EVENT_RESULT_REVERSE (   _Result,
  _EBUS,
  ... 
)

Dispatches an event to all handlers in reverse order and receives results.

◆ EBUS_DBG_EVENT_REVERSE

#define EBUS_DBG_EVENT_REVERSE (   _EBUS,
  ... 
)

Dispatches an event to all handlers in reverse order.

◆ EBUS_DBG_QUEUE_EVENT

#define EBUS_DBG_QUEUE_EVENT (   _EBUS,
  ... 
)

Enqueues an asynchronous event to dispatch to all handlers.

◆ EBUS_DBG_QUEUE_EVENT_ID

#define EBUS_DBG_QUEUE_EVENT_ID (   _BusId,
  _EBUS,
  ... 
)

Enqueues an asynchronous event to dispatch to handlers at a specific address.

◆ EBUS_DBG_QUEUE_EVENT_ID_REVERSE

#define EBUS_DBG_QUEUE_EVENT_ID_REVERSE (   _BusId,
  _EBUS,
  ... 
)

Enqueues an asynchronous event to dispatch to handlers at a specific address in reverse order.

◆ EBUS_DBG_QUEUE_EVENT_PTR

#define EBUS_DBG_QUEUE_EVENT_PTR (   _BusPtr,
  _EBUS,
  ... 
)

Enqueues an asynchronous event to dispatch to handlers at a cached address.

◆ EBUS_DBG_QUEUE_EVENT_PTR_REVERSE

#define EBUS_DBG_QUEUE_EVENT_PTR_REVERSE (   _BusPtr,
  _EBUS,
  ... 
)

Enqueues an asynchronous event to dispatch to handlers at a cached address in reverse order.

◆ EBUS_DBG_QUEUE_EVENT_REVERSE

#define EBUS_DBG_QUEUE_EVENT_REVERSE (   _EBUS,
  ... 
)

Enqueues an asynchronous event to dispatch to all handlers in reverse order.

◆ EBUS_DBG_QUEUE_FUNCTION

#define EBUS_DBG_QUEUE_FUNCTION (   _EBUS,
  ... 
)

Enqueues an arbitrary callable function to be executed asynchronously.

◆ EBUS_EVENT

#define EBUS_EVENT (   _EBUS,
  ... 
)

Dispatches an event to all handlers.

◆ EBUS_EVENT_ID

#define EBUS_EVENT_ID (   _BusId,
  _EBUS,
  ... 
)

Dispatches an event to handlers at a specific address.

◆ EBUS_EVENT_ID_RESULT

#define EBUS_EVENT_ID_RESULT (   _Result,
  _BusId,
  _EBUS,
  ... 
)

Dispatches an event to handlers at a specific address and receives results.

◆ EBUS_EVENT_ID_RESULT_REVERSE

#define EBUS_EVENT_ID_RESULT_REVERSE (   _Result,
  _BusId,
  _EBUS,
  ... 
)

Dispatches an event to handlers at a specific address in reverse order and receives results.

◆ EBUS_EVENT_ID_REVERSE

#define EBUS_EVENT_ID_REVERSE (   _BusId,
  _EBUS,
  ... 
)

Dispatches an event to handlers at a specific address in reverse order.

◆ EBUS_EVENT_PTR

#define EBUS_EVENT_PTR (   _BusPtr,
  _EBUS,
  ... 
)

Dispatches an event to handlers at a cached address.

◆ EBUS_EVENT_PTR_RESULT

#define EBUS_EVENT_PTR_RESULT (   _Result,
  _BusPtr,
  _EBUS,
  ... 
)

Dispatches an event to handlers at a cached address and receives results.

◆ EBUS_EVENT_PTR_RESULT_REVERSE

#define EBUS_EVENT_PTR_RESULT_REVERSE (   _Result,
  _BusPtr,
  _EBUS,
  ... 
)

Dispatches an event to handlers at a cached address in reverse order and receives results.

◆ EBUS_EVENT_PTR_REVERSE

#define EBUS_EVENT_PTR_REVERSE (   _BusPtr,
  _EBUS,
  ... 
)

Dispatches an event to handlers at a cached address in reverse order.

◆ EBUS_EVENT_RESULT

#define EBUS_EVENT_RESULT (   _Result,
  _EBUS,
  ... 
)

Dispatches an event to all handlers and receives results.

◆ EBUS_EVENT_RESULT_REVERSE

#define EBUS_EVENT_RESULT_REVERSE (   _Result,
  _EBUS,
  ... 
)

Dispatches an event to all handlers in reverse order and receives results.

◆ EBUS_EVENT_REVERSE

#define EBUS_EVENT_REVERSE (   _EBUS,
  ... 
)

Dispatches an event to all handlers in reverse order.

◆ EBUS_QUEUE_EVENT

#define EBUS_QUEUE_EVENT (   _EBUS,
  ... 
)

Enqueues an asynchronous event to dispatch to all handlers.

◆ EBUS_QUEUE_EVENT_ID

#define EBUS_QUEUE_EVENT_ID (   _BusId,
  _EBUS,
  ... 
)

Enqueues an asynchronous event to dispatch to handlers at a specific address.

◆ EBUS_QUEUE_EVENT_ID_REVERSE

#define EBUS_QUEUE_EVENT_ID_REVERSE (   _BusId,
  _EBUS,
  ... 
)

Enqueues an asynchronous event to dispatch to handlers at a specific address in reverse order.

◆ EBUS_QUEUE_EVENT_PTR

#define EBUS_QUEUE_EVENT_PTR (   _BusPtr,
  _EBUS,
  ... 
)

Enqueues an asynchronous event to dispatch to handlers at a cached address.

◆ EBUS_QUEUE_EVENT_PTR_REVERSE

#define EBUS_QUEUE_EVENT_PTR_REVERSE (   _BusPtr,
  _EBUS,
  ... 
)

Enqueues an asynchronous event to dispatch to handlers at a cached address in reverse order.

◆ EBUS_QUEUE_EVENT_REVERSE

#define EBUS_QUEUE_EVENT_REVERSE (   _EBUS,
  ... 
)

Enqueues an asynchronous event to dispatch to all handlers in reverse order.

◆ EBUS_QUEUE_FUNCTION

#define EBUS_QUEUE_FUNCTION (   _EBUS,
  ... 
)

Enqueues an arbitrary callable function to be executed asynchronously.