summaryrefslogtreecommitdiff
path: root/modules/CIAO/ciao/CCM_EventConsumerBase.idl
diff options
context:
space:
mode:
Diffstat (limited to 'modules/CIAO/ciao/CCM_EventConsumerBase.idl')
-rw-r--r--modules/CIAO/ciao/CCM_EventConsumerBase.idl50
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 */