summaryrefslogtreecommitdiff
path: root/CIAO/connectors/dds4ccm/impl/ndds/InstanceHandle_t.h
diff options
context:
space:
mode:
Diffstat (limited to 'CIAO/connectors/dds4ccm/impl/ndds/InstanceHandle_t.h')
-rw-r--r--CIAO/connectors/dds4ccm/impl/ndds/InstanceHandle_t.h106
1 files changed, 106 insertions, 0 deletions
diff --git a/CIAO/connectors/dds4ccm/impl/ndds/InstanceHandle_t.h b/CIAO/connectors/dds4ccm/impl/ndds/InstanceHandle_t.h
new file mode 100644
index 00000000000..ea731ea7f28
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/impl/ndds/InstanceHandle_t.h
@@ -0,0 +1,106 @@
+/**
+ * @author William R. Otte <wotte@dre.vanderbilt.edu>
+ * @author Johnny Willemsen <jwillemsen@remedy.nl>
+ *
+ * $Id$
+ *
+ * Wrapper facade for NDDS.
+ */
+
+#ifndef DDS4CCM_INSTANCEHANDLE_T_H
+#define DDS4CCM_INSTANCEHANDLE_T_H
+
+#if defined (CIAO_DDS4CCM_NDDS) && (CIAO_DDS4CCM_NDDS==1)
+#include "ndds/ndds_cpp.h"
+#define DDS_INSTANCE_HANDLE_T_IN const ::DDS::InstanceHandle_t &
+#define DDS_INSTANCE_HANDLE_T_RETN ::DDS::InstanceHandle_t
+#endif
+
+#if defined (CIAO_DDS4CCM_OPENDDS) && (CIAO_DDS4CCM_OPENDDS==1)
+#define DDS_INSTANCE_HANDLE_T_IN ::DDS::InstanceHandle_t
+#define DDS_INSTANCE_HANDLE_T_RETN ::DDS::InstanceHandle_t
+#endif
+
+#if defined (CIAO_DDS4CCM_NDDS) && (CIAO_DDS4CCM_NDDS==1)
+inline void
+operator<<= (::DDS::InstanceHandle_t &ddsinstancehandle, const ::DDS_InstanceHandle_t & instancehandle)
+{
+ ACE_OS::memcpy (ddsinstancehandle.value, instancehandle.keyHash.value, sizeof (instancehandle.keyHash.value));
+ ddsinstancehandle.length = instancehandle.keyHash.length;
+ ddsinstancehandle.isValid = instancehandle.isValid;
+}
+
+inline void
+operator<<= (::DDS_InstanceHandle_t &ddsinstancehandle, const ::DDS::InstanceHandle_t & instancehandle)
+{
+ ACE_OS::memcpy (ddsinstancehandle.keyHash.value, instancehandle.value, sizeof (instancehandle.value));
+ ddsinstancehandle.keyHash.length = instancehandle.length;
+ ddsinstancehandle.isValid = instancehandle.isValid;
+}
+
+inline void
+operator>>= (const ::DDS_InstanceHandle_t &instancehandle, ::DDS::InstanceHandle_t & ddsinstancehandle)
+{
+ ACE_OS::memcpy (ddsinstancehandle.value, instancehandle.keyHash.value, sizeof (instancehandle.keyHash.value));
+ ddsinstancehandle.length = instancehandle.keyHash.length;
+ ddsinstancehandle.isValid = instancehandle.isValid;
+}
+
+inline void
+operator>>= (const ::DDS::InstanceHandle_t &instancehandle, ::DDS_InstanceHandle_t & ddsinstancehandle)
+{
+ ACE_OS::memcpy (ddsinstancehandle.keyHash.value, instancehandle.value, sizeof (instancehandle.value));
+ ddsinstancehandle.keyHash.length = instancehandle.length;
+ ddsinstancehandle.isValid = instancehandle.isValid;
+}
+
+inline bool
+operator== (const ::DDS::InstanceHandle_t & instancehandle1, const ::DDS::InstanceHandle_t & instancehandle2)
+{
+ return instancehandle1.length == instancehandle2.length &&
+ instancehandle1.isValid == instancehandle2.isValid &&
+ ACE_OS::memcmp (instancehandle1.value, instancehandle2.value, sizeof (instancehandle1.value)) == 0;
+}
+
+inline bool
+operator== (const DDS_InstanceHandle_t & dds_instancehandle, const ::DDS::InstanceHandle_t & ccm_instancehandle)
+{
+ return dds_instancehandle.keyHash.length == ccm_instancehandle.length &&
+ static_cast<CORBA::ULong>(dds_instancehandle.isValid) == ccm_instancehandle.isValid &&
+ ACE_OS::memcmp (dds_instancehandle.keyHash.value, ccm_instancehandle.value, sizeof (dds_instancehandle.keyHash.value)) == 0;
+}
+
+inline bool
+operator== (const ::DDS::InstanceHandle_t & ccm_instancehandle, const DDS_InstanceHandle_t & dds_instancehandle)
+{
+ return ccm_instancehandle.length == dds_instancehandle.keyHash.length &&
+ ccm_instancehandle.isValid == static_cast<CORBA::ULong>(dds_instancehandle.isValid) &&
+ ACE_OS::memcmp (ccm_instancehandle.value, dds_instancehandle.keyHash.value, sizeof (ccm_instancehandle.value)) == 0;
+}
+
+inline bool
+operator!= (const ::DDS::InstanceHandle_t & instancehandle1, const ::DDS::InstanceHandle_t & instancehandle2)
+{
+ return instancehandle1.length != instancehandle2.length ||
+ instancehandle1.isValid != instancehandle2.isValid ||
+ ACE_OS::memcmp (instancehandle1.value, instancehandle2.value, sizeof (instancehandle1.value)) != 0;
+}
+
+inline bool
+operator!= (const DDS_InstanceHandle_t & dds_instancehandle, const ::DDS::InstanceHandle_t & ccm_instancehandle)
+{
+ return dds_instancehandle.keyHash.length != ccm_instancehandle.length ||
+ static_cast<CORBA::ULong>(dds_instancehandle.isValid) != ccm_instancehandle.isValid ||
+ ACE_OS::memcmp (dds_instancehandle.keyHash.value, ccm_instancehandle.value, sizeof (dds_instancehandle.keyHash.value)) != 0;
+}
+
+inline bool
+operator!= (const ::DDS::InstanceHandle_t & ccm_instancehandle, const DDS_InstanceHandle_t & dds_instancehandle)
+{
+ return ccm_instancehandle.length != dds_instancehandle.keyHash.length ||
+ ccm_instancehandle.isValid != static_cast<CORBA::ULong>(dds_instancehandle.isValid) ||
+ ACE_OS::memcmp (ccm_instancehandle.value, dds_instancehandle.keyHash.value, sizeof (ccm_instancehandle.value)) != 0;
+}
+#endif
+
+#endif /* DDS4CCM_INSTANCEHANDLE_T_H */