diff options
Diffstat (limited to 'modules/CIAO/ccm/CCM_EventConsumerBase.idl')
-rw-r--r-- | modules/CIAO/ccm/CCM_EventConsumerBase.idl | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/modules/CIAO/ccm/CCM_EventConsumerBase.idl b/modules/CIAO/ccm/CCM_EventConsumerBase.idl new file mode 100644 index 00000000000..86f4261b8f2 --- /dev/null +++ b/modules/CIAO/ccm/CCM_EventConsumerBase.idl @@ -0,0 +1,46 @@ +// $Id$ +/// NOT Compliant with OMG 06-04-01 Section 6.6.2 + +#if !defined (CCM_EVENTCONSUMERBASE_IDL) +#define CCM_EVENTCONSUMERBASE_IDL + +#include "ccm/CCM_EventBase.idl" +#include "tao/Typecode_types.pidl" +#include "tao/orb_types.pidl" + +module Components +{ + typeprefix Components "omg.org"; + + exception BadEventType + { + CORBA::RepositoryId expected_event_type; + }; + + interface EventConsumerBase + { + void push_event (in EventBase evt) raises (BadEventType); + + /* + * CIAO-specific operation to treat event service as regular event + * sink port. The source_id needs to be passed in to identify the + * source of the publisher port to support event filtering mechanism. + * + * @todo Has to be removed + */ + void ciao_push_event (in EventBase evt, + in string source_id, + in CORBA::TypeCode tc) + raises (BadEventType); + + /* + * CIAO-specific operation to help support the capability + * to subscribe to eventtypes more derived than the type + * consumed. + * + * @todo Has to be removed + */ + boolean ciao_is_substitutable (in string event_repo_id); + }; +}; +#endif /* CCM_EVENTCONSUMERBASE_IDL */ |