summaryrefslogtreecommitdiff
path: root/modules/CIAO/connectors/dds4ccm/idl/dds4ccm_MultiListener.idl3p
diff options
context:
space:
mode:
Diffstat (limited to 'modules/CIAO/connectors/dds4ccm/idl/dds4ccm_MultiListener.idl3p')
-rw-r--r--modules/CIAO/connectors/dds4ccm/idl/dds4ccm_MultiListener.idl3p32
1 files changed, 32 insertions, 0 deletions
diff --git a/modules/CIAO/connectors/dds4ccm/idl/dds4ccm_MultiListener.idl3p b/modules/CIAO/connectors/dds4ccm/idl/dds4ccm_MultiListener.idl3p
new file mode 100644
index 00000000000..3aa3f4a64e3
--- /dev/null
+++ b/modules/CIAO/connectors/dds4ccm/idl/dds4ccm_MultiListener.idl3p
@@ -0,0 +1,32 @@
+/**
+ * @file dds4CCM_MultiListener.idl3p
+ *
+ */
+
+#ifndef DDS4CCM_MULTILISTENER_IDL3P
+#define DDS4CCM_MULTILISTENER_IDL3P
+
+#include "dds4ccm/idl/dds4ccm_Base.idl3"
+
+module CCM_DDS
+{
+ enum GroupingMode {
+ INSTANCE_HISTORY,
+ LAST_SAMPLE_ALL_INSTANCES,
+ ALL_SAMPLES_ALL_INSTANCES
+ };
+
+ interface MultiListener<typename T> {
+ typedef sequence<T> T$Seq;
+ void on_data (in T$Seq instances, in ReadInfoSeq infos);
+ attribute GroupingMode grouping_mode;
+ // behaviour
+ // - depending on grouping_mode similar to get_one_history(any new instance),
+ // get_all or get_all_history, except that in push mode instead of
+ // pull mode
+ // - triggered only if enabled is the associated ListenerControl
+ // - query filter (if any) in the associated Reader
+ };
+};
+
+#endif