diff options
Diffstat (limited to 'CIAO/connectors/dds4ccm/impl/ndds/DataReaderHandler_T.h')
-rw-r--r-- | CIAO/connectors/dds4ccm/impl/ndds/DataReaderHandler_T.h | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/CIAO/connectors/dds4ccm/impl/ndds/DataReaderHandler_T.h b/CIAO/connectors/dds4ccm/impl/ndds/DataReaderHandler_T.h new file mode 100644 index 00000000000..929f9cea0df --- /dev/null +++ b/CIAO/connectors/dds4ccm/impl/ndds/DataReaderHandler_T.h @@ -0,0 +1,63 @@ +// $Id$ +/** + * @author Marcel Smit <msmit@remedy.nl> + * + * $Id$ + * + * Eventhandler on orb thread, handling the + * received data from DDS. + */ + +#ifndef DDS4CCM_DATAREADERHANDLER_T_H +#define DDS4CCM_DATAREADERHANDLER_T_H + +#include "dds4ccm/idl/dds_rtf2_dcpsC.h" +#include "ace/Event_Handler.h" + +namespace CIAO +{ + namespace DDS4CCM + { + template <typename DDS_TYPE, typename CCM_TYPE> + class DataReaderListener_T; + + template <typename DDS_TYPE, typename CCM_TYPE> + class DataReaderHandler_T : + public ACE_Event_Handler + { + public: + DataReaderHandler_T ( + typename CIAO::DDS4CCM::DataReaderListener_T<DDS_TYPE, CCM_TYPE>* drl, + ::DDS::DataReader_ptr dr); + virtual ~DataReaderHandler_T (); + + virtual int handle_exception (ACE_HANDLE fc = ACE_INVALID_HANDLE); + private: + typename CIAO::DDS4CCM::DataReaderListener_T<DDS_TYPE, CCM_TYPE>* drl_; + ::DDS::DataReader_var dr_; + }; + + template <typename DDS_TYPE, typename CCM_TYPE> + class DataReaderStateListener_T; + + template <typename DDS_TYPE, typename CCM_TYPE> + class DataReaderStateHandler_T : + public ACE_Event_Handler + { + public: + DataReaderStateHandler_T ( + typename CIAO::DDS4CCM::DataReaderStateListener_T<DDS_TYPE, CCM_TYPE>* drl, + ::DDS::DataReader_ptr dr); + virtual ~DataReaderStateHandler_T (); + + virtual int handle_exception (ACE_HANDLE fc = ACE_INVALID_HANDLE); + private: + typename CIAO::DDS4CCM::DataReaderStateListener_T<DDS_TYPE, CCM_TYPE>* drl_; + ::DDS::DataReader_var dr_; + }; + } +} + +#include "dds4ccm/impl/ndds/DataReaderHandler_T.cpp" + +#endif |