summaryrefslogtreecommitdiff
path: root/CIAO/connectors/dds4ccm/impl/ndds/DDSCallbackStatusHandler.h
blob: b2d7d525001b4230d4d73dd1d8d4f8c3c905e39b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
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 */