EventHandler
-
class
EventHandler
: public HPS::Object The EventHandler class is the base class for any event handler that can be created. All custom event handlers should inherit from this.
Public Types
-
enum class
HandleResult
: uint32_t Enumeration of the values the EventHandler uses to indicate if it handled an event.
Values:
-
enumerator
Handled
The event was handled by this EventHandler. Consume the event if possible.
-
enumerator
NotHandled
The event was not handled by this EventHandler. Pass to the next handler if any or if possible.
-
enumerator
Public Functions
-
EventHandler
() The default constructor creates an EventHandler object not subscribed to any event.
-
EventHandler
(EventHandler &&in_that) The move constructor creates an EventHandler by transferring the underlying impl of the rvalue reference to this EventHandler thereby avoiding a copy and allocation.
Parameters: in_that – An rvalue reference to an EventHandler to take the impl from.
-
EventHandler
(EventHandler const &in_that) The copy constructor creates a new EventHandler object that points to the same underlying impl as the source EventHandler.
Parameters: in_that – The source EventHandler to point to.
-
inline virtual HandleResult
Handle
(Event const *in_event) Function that gets triggered if this EventHandler receives an event it is subscribed to. This should be overridden by subclasses of EventHandler to perform any custom behavior.
Parameters: in_event – Event which was triggered. Returns: Handled if the event was handled, NotHandled otherwise.
-
inline virtual HPS::Type
ObjectType
() const This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).
Returns: The declared type of the object in question, which may differ from the true, underlying type.
-
EventHandler &
operator=
(EventHandler &&in_that) The move assignment operator transfers the underlying impl of the rvalue reference to this EventHandler thereby avoiding a copy.
Parameters: in_that – An rvalue reference to an EventHandler to take the impl from. Returns: A reference to this EventHandler.
-
EventHandler &
operator=
(EventHandler const &in_that) Share the underlying smart-pointer of the EventHandler source.
Parameters: in_that – The EventHandler source of the assignment. Returns: A reference to this EventHandler.
-
inline virtual void
Reset
() Resets this object to its initial, uninitialized state.
-
void
Shutdown
() Notifies the EventDispatcher that this handler is being invalidated and no further events should be dispatched to it. This method must be called in any derived class destructors.
-
bool
Subscribe
(EventDispatcher const &in_dispatcher, intptr_t in_type) const Add this EventHandler object to the list of subscribers for events of the specified type on the specified EventDispatcher.
Parameters: - in_dispatcher – Dispatcher from which to receive events of the given type.
- in_type – Type of event to receive from the dispatcher.
Returns: true if the subscription was successful, false otherwise.
-
bool
UnSubscribe
(EventDispatcher const &in_dispatcher) const Remove this EventHandler object from the list of subscribers for all events on the specified EventDispatcher.
Parameters: in_dispatcher – Dispatcher from which to no longer receive events. Returns: true if the unsubscription was successful, false otherwise.
-
bool
UnSubscribe
(EventDispatcher const &in_dispatcher, intptr_t in_type) const Remove this EventHandler object from the list of subscribers for events of the specified type on the specified EventDispatcher.
Parameters: - in_dispatcher – Dispatcher from which to no longer receive events of the given type.
- in_type – Type of event to no longer receive from the dispatcher.
Returns: true if the unsubscription was successful, false otherwise.
-
void
UnSubscribeEverything
() const Remove this EventHandler object from all events on all EventDispatchers.
-
virtual
~EventHandler
()
-
enum class