EventHandler
- 
class HPS::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 HandleResult
- 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 Handled
 - 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()
 - Public Static Attributes - 
static const HPS::Type staticType = HPS::Type::EventHandler
 
- 
enum HandleResult
