diff options
Diffstat (limited to 'modules/CIAO/ciao/CCM_EventConsumerBase.idl')
-rw-r--r-- | modules/CIAO/ciao/CCM_EventConsumerBase.idl | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/modules/CIAO/ciao/CCM_EventConsumerBase.idl b/modules/CIAO/ciao/CCM_EventConsumerBase.idl new file mode 100644 index 00000000000..0e1facf5940 --- /dev/null +++ b/modules/CIAO/ciao/CCM_EventConsumerBase.idl @@ -0,0 +1,50 @@ +// $Id$ + +/** + * @@ Compile this file with: + * + * tao_idl -Gv -I ../.. -I ../../orbsvcs/orbsvcs \ + * -Wb,export_macro=CIAO_Export \ + * -Wb,export_include=CIAO_export.h \ + * -Wb,pre_include="ace/pre.h" \ + * -Wb,post_include="ace/post.h" \ + * CCM_Event.idl + */ + +//#define CIAO_HAS_IMPORT_KEYWORD + +#if !defined (CCM_EVENTCONSUMERBASE_IDL) +#define CCM_EVENTCONSUMERBASE_IDL + +#include "ciao/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. + 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. + boolean ciao_is_substitutable (in string event_repo_id); + }; +}; +#endif /* CCM_EVENTCONSUMERBASE_IDL */ |