summaryrefslogtreecommitdiff
path: root/modules/CIAO/connectors/dds4ccm/idl/dds4ccm_MultiUpdater.idl3p
diff options
context:
space:
mode:
Diffstat (limited to 'modules/CIAO/connectors/dds4ccm/idl/dds4ccm_MultiUpdater.idl3p')
-rw-r--r--modules/CIAO/connectors/dds4ccm/idl/dds4ccm_MultiUpdater.idl3p40
1 files changed, 40 insertions, 0 deletions
diff --git a/modules/CIAO/connectors/dds4ccm/idl/dds4ccm_MultiUpdater.idl3p b/modules/CIAO/connectors/dds4ccm/idl/dds4ccm_MultiUpdater.idl3p
new file mode 100644
index 00000000000..f9c7edaf49b
--- /dev/null
+++ b/modules/CIAO/connectors/dds4ccm/idl/dds4ccm_MultiUpdater.idl3p
@@ -0,0 +1,40 @@
+/**
+ * @file dds4CCM_MultiUpdater.idl3p
+ *
+ */
+
+#ifndef DDS4CCM_MULTIUPDATER_IDL3P
+#define DDS4CCM_MULTIUPDATER_IDL3P
+
+#include "dds4ccm/idl/dds4ccm_Base.idl3"
+
+module CCM_DDS
+{
+ interface MultiUpdater<typename T> {
+ typedef sequence<T> T$Seq;
+ unsigned long create (in T$Seq instances) // returns nb of created instances
+ raises (AlreadyCreated,
+ InternalError);
+
+ unsigned long update (in T$Seq instances) // returns nb of updated instances
+ raises (NonExistent,
+ InternalError);
+ unsigned long delete (in T$Seq instances) // returns nb of deleted instances
+ raises (NonExistent,
+ InternalError);
+ readonly attribute boolean is_lifecycle_checked;
+ attribute boolean is_coherent_write;
+ // behaviour:
+ // - exceptions AlreadyCreated or NonExistent are raised only if
+ // is_lifecycle_checked
+ // - global check is performed before actual write or dispose
+ // (in case of error, all the erroneous instances are reported
+ // in the exception)
+ // - attempt to write or dispose is stopped at the first error
+ // - if is_coherent_write, write orders are placed betwen begin/end
+ // coherent updates (even if an error occurs)
+ };
+
+};
+
+#endif \ No newline at end of file