summaryrefslogtreecommitdiff
path: root/CIAO/connectors/dds4ccm/impl/ndds/DDSCallbackStatusHandler.h
diff options
context:
space:
mode:
Diffstat (limited to 'CIAO/connectors/dds4ccm/impl/ndds/DDSCallbackStatusHandler.h')
-rw-r--r--CIAO/connectors/dds4ccm/impl/ndds/DDSCallbackStatusHandler.h155
1 files changed, 155 insertions, 0 deletions
diff --git a/CIAO/connectors/dds4ccm/impl/ndds/DDSCallbackStatusHandler.h b/CIAO/connectors/dds4ccm/impl/ndds/DDSCallbackStatusHandler.h
new file mode 100644
index 00000000000..b2d7d525001
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/impl/ndds/DDSCallbackStatusHandler.h
@@ -0,0 +1,155 @@
+// $Id$
+/**
+ * @author Johnny Willemsen <jwillemsen@remedy.nl>
+ *
+ * $Id$
+ *
+ * Eventhandler on orb thread, handling the
+ * received data from DDS.
+ */
+
+#ifndef CIAO_DDS_CALLBACK_STATUS_HANDLER
+#define CIAO_DDS_CALLBACK_STATUS_HANDLER
+
+#include "dds4ccm/idl/dds_rtf2_dcpsC.h"
+#include "dds4ccm/idl/dds4ccm_ConnectorStatusListenerC.h"
+#include "dds4ccm/idl/dds4ccm_PortStatusListenerC.h"
+#include "ace/Event_Handler.h"
+#include "dds4ccm_ndds_impl_export.h"
+
+namespace CIAO
+{
+ namespace DDS4CCM
+ {
+ class DDS4CCM_NDDS_IMPL_Export OnUnexpectedStatusHandler :
+ public ACE_Event_Handler
+ {
+ public:
+ OnUnexpectedStatusHandler (
+ ::CCM_DDS::ConnectorStatusListener_ptr error_listener,
+ ::DDS::Entity_ptr entity,
+ ::DDS::StatusKind status_kind);
+ virtual ~OnUnexpectedStatusHandler ();
+
+ virtual int handle_exception (ACE_HANDLE fc = ACE_INVALID_HANDLE);
+ private:
+ ::CCM_DDS::ConnectorStatusListener_var error_listener_;
+ ::DDS::Entity_var entity_;
+ ::DDS::StatusKind status_kind_;
+ };
+
+ class DDS4CCM_NDDS_IMPL_Export OnRequestedOncompatibleQosHandler :
+ public ACE_Event_Handler
+ {
+ public:
+ OnRequestedOncompatibleQosHandler (
+ ::CCM_DDS::ConnectorStatusListener_ptr csl,
+ ::DDS::DataReader_ptr dr,
+ const ::DDS::RequestedIncompatibleQosStatus &status);
+ virtual ~OnRequestedOncompatibleQosHandler ();
+ virtual int handle_exception (ACE_HANDLE fc = ACE_INVALID_HANDLE);
+ private:
+ ::CCM_DDS::ConnectorStatusListener_var csl_;
+ ::DDS::DataReader_var dr_;
+ ::DDS::RequestedIncompatibleQosStatus const status_;
+ };
+
+ class DDS4CCM_NDDS_IMPL_Export OnSampleRejectedHandler :
+ public ACE_Event_Handler
+ {
+ public:
+ OnSampleRejectedHandler (
+ ::CCM_DDS::ConnectorStatusListener_ptr csl,
+ ::DDS::DataReader_ptr dr,
+ const ::DDS::SampleRejectedStatus &status);
+ virtual ~OnSampleRejectedHandler ();
+ virtual int handle_exception (ACE_HANDLE fc = ACE_INVALID_HANDLE);
+ private:
+ ::CCM_DDS::ConnectorStatusListener_var csl_;
+ ::DDS::DataReader_var dr_;
+ ::DDS::SampleRejectedStatus const status_;
+ };
+
+ class DDS4CCM_NDDS_IMPL_Export OnInconsistentTopicHandler :
+ public ACE_Event_Handler
+ {
+ public:
+ OnInconsistentTopicHandler (
+ ::CCM_DDS::ConnectorStatusListener_ptr csl,
+ ::DDS::Topic_ptr tp,
+ const ::DDS::InconsistentTopicStatus &status);
+ virtual ~OnInconsistentTopicHandler ();
+ virtual int handle_exception (ACE_HANDLE fc = ACE_INVALID_HANDLE);
+ private:
+ ::CCM_DDS::ConnectorStatusListener_var csl_;
+ ::DDS::Topic_var tp_;
+ ::DDS::InconsistentTopicStatus const status_;
+ };
+
+ class DDS4CCM_NDDS_IMPL_Export OnOfferedDeadlineMissedHandler :
+ public ACE_Event_Handler
+ {
+ public:
+ OnOfferedDeadlineMissedHandler (
+ ::CCM_DDS::ConnectorStatusListener_ptr csl,
+ ::DDS::DataWriter_ptr dw,
+ const ::DDS::OfferedDeadlineMissedStatus &status);
+ virtual ~OnOfferedDeadlineMissedHandler ();
+ virtual int handle_exception (ACE_HANDLE fc = ACE_INVALID_HANDLE);
+ private:
+ ::CCM_DDS::ConnectorStatusListener_var csl_;
+ ::DDS::DataWriter_var dw_;
+ ::DDS::OfferedDeadlineMissedStatus const status_;
+ };
+
+ class DDS4CCM_NDDS_IMPL_Export OnOfferedIncompatibleQoSHandler :
+ public ACE_Event_Handler
+ {
+ public:
+ OnOfferedIncompatibleQoSHandler (
+ ::CCM_DDS::ConnectorStatusListener_ptr csl,
+ ::DDS::DataWriter_ptr dw,
+ const ::DDS::OfferedIncompatibleQosStatus &status);
+ virtual ~OnOfferedIncompatibleQoSHandler ();
+ virtual int handle_exception (ACE_HANDLE fc = ACE_INVALID_HANDLE);
+ private:
+ ::CCM_DDS::ConnectorStatusListener_var csl_;
+ ::DDS::DataWriter_var dw_;
+ ::DDS::OfferedIncompatibleQosStatus const status_;
+ };
+
+ class DDS4CCM_NDDS_IMPL_Export OnRequestedDeadlineMissedHandler :
+ public ACE_Event_Handler
+ {
+ public:
+ OnRequestedDeadlineMissedHandler (
+ ::CCM_DDS::PortStatusListener_ptr psl,
+ ::DDS::DataReader_ptr dr,
+ const ::DDS::RequestedDeadlineMissedStatus &status);
+ virtual ~OnRequestedDeadlineMissedHandler ();
+ virtual int handle_exception (ACE_HANDLE fc = ACE_INVALID_HANDLE);
+ private:
+ ::CCM_DDS::PortStatusListener_var psl_;
+ ::DDS::DataReader_var dr_;
+ ::DDS::RequestedDeadlineMissedStatus const status_;
+ };
+
+ class DDS4CCM_NDDS_IMPL_Export OnSampleLostHandler :
+ public ACE_Event_Handler
+ {
+ public:
+ OnSampleLostHandler (
+ ::CCM_DDS::PortStatusListener_ptr psl,
+ ::DDS::DataReader_ptr dr,
+ const ::DDS::SampleLostStatus &status);
+ virtual ~OnSampleLostHandler ();
+ virtual int handle_exception (ACE_HANDLE fc = ACE_INVALID_HANDLE);
+ private:
+ ::CCM_DDS::PortStatusListener_var psl_;
+ ::DDS::DataReader_var dr_;
+ ::DDS::SampleLostStatus const status_;
+ };
+ }
+}
+
+#endif /* CIAO_DDS_CALLBACK_STATUS_HANDLER */