DDS4CCM  1.1.8
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
CIAO::NDDS::DDS_WaitSet_i Class Reference

Representative (proxy) class for the RTI waitset. More...

#include <WaitSet.h>

Inheritance diagram for CIAO::NDDS::DDS_WaitSet_i:
Inheritance graph
Collaboration diagram for CIAO::NDDS::DDS_WaitSet_i:
Collaboration graph

Public Member Functions

 DDS_WaitSet_i ()
 Constructor. More...
 
virtual ~DDS_WaitSet_i (void)
 Destructor. More...
 
virtual ::DDS::ReturnCode_t wait (::DDS::ConditionSeq &active_conditions, const ::DDS::Duration_t &timeout)
 
virtual ::DDS::ReturnCode_t attach_condition (::DDS::Condition_ptr cond)
 
virtual ::DDS::ReturnCode_t detach_condition (::DDS::Condition_ptr cond)
 
virtual ::DDS::ReturnCode_t get_conditions (::DDS::ConditionSeq &attached_conditions)
 
DDSWaitSet * get_rti_entity (void)
 
::DDS::InstanceHandle_t check_handle (const ::DDS::InstanceHandle_t &instance_handle, const ::DDS::InstanceHandle_t &lookup_handle, bool &error, bool &non_existent)
 
void init (void)
 
- Public Member Functions inherited from DDS::WaitSet
ReturnCode_t wait (inout ConditionSeq active_conditions, in Duration_t timeout)
 
ReturnCode_t attach_condition (in Condition cond)
 
ReturnCode_t detach_condition (in Condition cond)
 
ReturnCode_t get_conditions (inout ConditionSeq attached_conditions)
 

Private Member Functions

DDSWaitSet * rti_entity ()
 
void convert_conditions (const DDSConditionSeq &dds_conditions,::DDS::ConditionSeq &conditions)
 

Private Attributes

DDSWaitSet * rti_entity_
 

Additional Inherited Members

- Public Types inherited from CORBA::LocalObject
typedef Object_ptr _ptr_type
 
typedef Object_var _var_type
 
typedef Object_out _out_type
 
- Static Public Member Functions inherited from CORBA::LocalObject
static CORBA::Boolean marshal (const Object_ptr x, TAO_OutputCDR &cdr)
 
static void _tao_any_destructor (void *)
 
static CORBA::Boolean is_nil_i (CORBA::Object_ptr obj)
 
static void tao_object_initialize (Object *)
 
static CORBA::Object_ptr _duplicate (CORBA::Object_ptr obj)
 
static CORBA::Object_ptr _nil (void)
 
static CORBA::Object_ptr _narrow (CORBA::Object_ptr obj)
 
- Protected Member Functions inherited from CORBA::LocalObject
 Object (int dummy=0)
 
TAO::Object_Proxy_Brokerproxy_broker () const
 

Detailed Description

Representative (proxy) class for the RTI waitset.

Implementation of the RTI waitset functionality.

Constructor & Destructor Documentation

CIAO::NDDS::DDS_WaitSet_i::DDS_WaitSet_i ( )

Constructor.

CIAO::NDDS::DDS_WaitSet_i::~DDS_WaitSet_i ( void  )
virtual

Destructor.

Member Function Documentation

DDS::ReturnCode_t CIAO::NDDS::DDS_WaitSet_i::attach_condition ( ::DDS::Condition_ptr  cond)

Attaches a condition to the waitset. 'wait' will be waiting for this condition.

DDS::InstanceHandle_t CIAO::NDDS::DDS_WaitSet_i::check_handle ( const ::DDS::InstanceHandle_t instance_handle,
const ::DDS::InstanceHandle_t lookup_handle,
bool &  error,
bool &  non_existent 
)

Used in the Reader in order to check whether whether the user has supplied the correct handle with the type specific instance. See Reader_T::read_one_last and the DDS4CCM spec for more info.

Checks whether two DDS-handles are equal. If no error occurs and the lookup_handle exists, this method will return the lookup_handle.

Todo:
We actually want this method to be in the DDS4CCM connector but since we're not allowed to use RTI specific code there it's located here.

'error' will be true if instance_handle != DDS_HANDLE_NIL and when instance_handle != lookup_handle.

non_existent will be true is lookup_hnd is DDS_HANDLE_NIL

void CIAO::NDDS::DDS_WaitSet_i::convert_conditions ( const DDSConditionSeq &  dds_conditions,
::DDS::ConditionSeq conditions 
)
private

Converts the RTI condition(s) to the DDS4CCM condition(s)

DDS::ReturnCode_t CIAO::NDDS::DDS_WaitSet_i::detach_condition ( ::DDS::Condition_ptr  cond)

Detaches a condition from the waitset. 'wait' won't be waiting for this condition anymore.

DDS::ReturnCode_t CIAO::NDDS::DDS_WaitSet_i::get_conditions ( ::DDS::ConditionSeq attached_conditions)

Retrieves a list of attached conditions.

DDSWaitSet * CIAO::NDDS::DDS_WaitSet_i::get_rti_entity ( void  )

Returns the RTI waitset

void CIAO::NDDS::DDS_WaitSet_i::init ( void  )

Creates the RTI waitset.

DDSWaitSet * CIAO::NDDS::DDS_WaitSet_i::rti_entity ( void  )
private
DDS::ReturnCode_t CIAO::NDDS::DDS_WaitSet_i::wait ( ::DDS::ConditionSeq active_conditions,
const ::DDS::Duration_t timeout 
)

Waits for DDS until the attached read/query conditions are met or when a timeout occurs.

active_conditions will contain conditions DDS has found.

Member Data Documentation

DDSWaitSet* CIAO::NDDS::DDS_WaitSet_i::rti_entity_
private

The documentation for this class was generated from the following files: