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