ADTF  3.18.2
event_source_intf.h
Go to the documentation of this file.
1 
8 #ifndef _ADTF_UCOM_ANT_EVENT_SINK_EVENT_SOURCE_INTERFACE_INCLUDES_HEADER_
9 #define _ADTF_UCOM_ANT_EVENT_SINK_EVENT_SOURCE_INTERFACE_INCLUDES_HEADER_
10 
11 namespace adtf
12 {
13 namespace ucom
14 {
15 namespace ant
16 {
17 
18 class IEventSource;
19 
26 class DOEXPORT IEventSink
27 {
28 public:
33  ADTF_IID(IEventSink, "event_sink.ant.ucom.adtf.iid");
34 
35 public:
55  virtual tResult HandleEvent(const IEventSource& oSource, const void* pvEventData) = 0;
56 
57 protected:
59  ~IEventSink() = default;
60 };
61 
71 class DOEXPORT IEventSource : public IObject
72 {
73 public:
78  ADTF_IID(IEventSource, "event_source.ant.ucom.adtf.iid");
79 
80 public:
90  virtual tResult RegisterEventSink(IEventSink& oEventSink) = 0;
91 
101  virtual tResult UnregisterEventSink(IEventSink& oEventSink) = 0;
102 
103 protected:
105  ~IEventSource() = default;
106 };
107 
108 }//namespace ant
109 
111 using ant::IEventSink;
112 
114 using ant::IEventSource;
115 
116 }//namespace ucom
117 }//namespace adtf
118 
119 #endif //_ADTF_UCOM_ANT_EVENT_SINK_EVENT_SOURCE_INTERFACE_INCLUDES_HEADER_
The class IEventSink provides a generic event listener interface for Internal Events.
~IEventSink()=default
Protected destructor --> Use implemented Destroy() instead of delete!
ADTF_IID(IEventSink, "event_sink.ant.ucom.adtf.iid")
Marks the IEventSink to be castable with the ucom_cast<>
virtual tResult HandleEvent(const IEventSource &oSource, const void *pvEventData)=0
Handle event.
The class IEventSource provides a generic event provider interface.
virtual tResult RegisterEventSink(IEventSink &oEventSink)=0
Register event sink.
~IEventSource()=default
Protected destructor --> Use implemented Destroy() instead of delete!
ADTF_IID(IEventSource, "event_source.ant.ucom.adtf.iid")
Marks the IEventSource to be castable with the ucom_cast<>
virtual tResult UnregisterEventSink(IEventSink &oEventSink)=0
Unregister event sink.
Base class for every interface type within the uCOM.
Definition: object_intf.h:31
Namespace for entire ADTF SDK.