DCPS_IR_Subscription Class Reference

Representative of a Subscription. More...

#include <DCPS_IR_Subscription.h>

Collaboration diagram for DCPS_IR_Subscription:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 DCPS_IR_Subscription (OpenDDS::DCPS::RepoId id, DCPS_IR_Participant *participant, DCPS_IR_Topic *topic, OpenDDS::DCPS::DataReaderRemote_ptr reader,::DDS::DataReaderQos qos, OpenDDS::DCPS::TransportInterfaceInfo info,::DDS::SubscriberQos subscriberQos)
 ~DCPS_IR_Subscription ()
int add_associated_publication (DCPS_IR_Publication *pub)
int remove_associated_publication (DCPS_IR_Publication *pub, CORBA::Boolean sendNotify, CORBA::Boolean notify_lost, bool notify_both_side=false)
int remove_associations (CORBA::Boolean notify_lost)
void disassociate_participant (OpenDDS::DCPS::RepoId id)
 Remove any publications whose participant has the id.
void disassociate_topic (OpenDDS::DCPS::RepoId id)
 Remove any publications whose topic has the id.
void disassociate_publication (OpenDDS::DCPS::RepoId id)
 Remove any publications with id.
void update_incompatible_qos ()
CORBA::Boolean is_publication_ignored (OpenDDS::DCPS::RepoId partId, OpenDDS::DCPS::RepoId topicId, OpenDDS::DCPS::RepoId pubId)
const ::DDS::DataReaderQosget_datareader_qos ()
const ::DDS::SubscriberQosget_subscriber_qos ()
bool set_qos (const ::DDS::DataReaderQos &qos, const ::DDS::SubscriberQos &subscriberQos, Update::SpecificQos &specificQos)
void set_qos (const ::DDS::DataReaderQos &qos)
 Update DataReaderQos only.
void set_qos (const ::DDS::SubscriberQos &qos)
 Update SubscriberQos only.
void reevaluate_existing_associations ()
void reevaluate_association (DCPS_IR_Publication *publication)
OpenDDS::DCPS::TransportInterfaceId get_transport_id () const
 get the transport ID of the transport implementation type.
OpenDDS::DCPS::TransportInterfaceInfo get_transportInterfaceInfo () const
 Returns a copy of the TransportInterfaceInfo object.
OpenDDS::DCPS::IncompatibleQosStatusget_incompatibleQosStatus ()
OpenDDS::DCPS::RepoId get_id ()
OpenDDS::DCPS::RepoId get_topic_id ()
OpenDDS::DCPS::RepoId get_participant_id ()
DCPS_IR_Topic_Descriptionget_topic_description ()
DCPS_IR_Topicget_topic ()
::DDS::InstanceHandle_t get_handle ()
void set_handle (::DDS::InstanceHandle_t handle)
CORBA::Boolean is_bit ()
void set_bit_status (CORBA::Boolean isBIT)
OpenDDS::DCPS::DataReaderRemote_ptr reader ()

Private Member Functions

bool compatibleQosChange (const ::DDS::DataReaderQos &qos)
bool compatibleQosChange (const ::DDS::SubscriberQos &qos)

Private Attributes

OpenDDS::DCPS::RepoId id_
DCPS_IR_Participantparticipant_
DCPS_IR_Topictopic_
::DDS::InstanceHandle_t handle_
CORBA::Boolean isBIT_
OpenDDS::DCPS::DataReaderRemote_var reader_
 the corresponding DataReaderRemote object
::DDS::DataReaderQos qos_
OpenDDS::DCPS::TransportInterfaceInfo info_
::DDS::SubscriberQos subscriberQos_
DCPS_IR_Publication_Set associations_
OpenDDS::DCPS::IncompatibleQosStatus incompatibleQosStatus_

Detailed Description

Representative of a Subscription.


Constructor & Destructor Documentation

DCPS_IR_Subscription::DCPS_IR_Subscription ( OpenDDS::DCPS::RepoId  id,
DCPS_IR_Participant participant,
DCPS_IR_Topic topic,
OpenDDS::DCPS::DataReaderRemote_ptr  reader,
::DDS::DataReaderQos  qos,
OpenDDS::DCPS::TransportInterfaceInfo  info,
::DDS::SubscriberQos  subscriberQos 
)

DCPS_IR_Subscription::~DCPS_IR_Subscription (  ) 


Member Function Documentation

int DCPS_IR_Subscription::add_associated_publication ( DCPS_IR_Publication pub  ) 

Associate with the publication Adds the publication to the list of associated publications and notifies datareader if successfully added This method can mark the participant dead Returns 0 if added, 1 if already exists, -1 other failure

bool DCPS_IR_Subscription::compatibleQosChange ( const ::DDS::SubscriberQos qos  )  [private]

Check compatibility between provided Subscriber QoS and the QoS of this subscription associated DataWriters's Publishers.

bool DCPS_IR_Subscription::compatibleQosChange ( const ::DDS::DataReaderQos qos  )  [private]

Check compatibility between provided DataReader QoS and the QoS of this subscription associated DataWriters.

void DCPS_IR_Subscription::disassociate_participant ( OpenDDS::DCPS::RepoId  id  ) 

Remove any publications whose participant has the id.

void DCPS_IR_Subscription::disassociate_publication ( OpenDDS::DCPS::RepoId  id  ) 

Remove any publications with id.

void DCPS_IR_Subscription::disassociate_topic ( OpenDDS::DCPS::RepoId  id  ) 

Remove any publications whose topic has the id.

const ::DDS::DataReaderQos * DCPS_IR_Subscription::get_datareader_qos (  ) 

Return pointer to the DataReader qos Subscription retains ownership

DDS::InstanceHandle_t DCPS_IR_Subscription::get_handle (  ) 

OpenDDS::DCPS::RepoId DCPS_IR_Subscription::get_id (  ) 

OpenDDS::DCPS::IncompatibleQosStatus * DCPS_IR_Subscription::get_incompatibleQosStatus (  ) 

Return pointer to the incompatible qos status Subscription retains ownership

OpenDDS::DCPS::RepoId DCPS_IR_Subscription::get_participant_id (  ) 

const ::DDS::SubscriberQos * DCPS_IR_Subscription::get_subscriber_qos (  ) 

Return pointer to the Subscriber qos Subscription retains ownership

DCPS_IR_Topic * DCPS_IR_Subscription::get_topic (  ) 

DCPS_IR_Topic_Description * DCPS_IR_Subscription::get_topic_description (  ) 

OpenDDS::DCPS::RepoId DCPS_IR_Subscription::get_topic_id (  ) 

OpenDDS::DCPS::TransportInterfaceId DCPS_IR_Subscription::get_transport_id (  )  const

get the transport ID of the transport implementation type.

OpenDDS::DCPS::TransportInterfaceInfo DCPS_IR_Subscription::get_transportInterfaceInfo (  )  const

Returns a copy of the TransportInterfaceInfo object.

CORBA::Boolean DCPS_IR_Subscription::is_bit (  ) 

CORBA::Boolean DCPS_IR_Subscription::is_publication_ignored ( OpenDDS::DCPS::RepoId  partId,
OpenDDS::DCPS::RepoId  topicId,
OpenDDS::DCPS::RepoId  pubId 
)

Check that none of the ids given are ones that this subscription should ignore. returns 1 if one of these ids is an ignored id

OpenDDS::DCPS::DataReaderRemote_ptr DCPS_IR_Subscription::reader (  ) 

void DCPS_IR_Subscription::reevaluate_association ( DCPS_IR_Publication publication  ) 

void DCPS_IR_Subscription::reevaluate_existing_associations (  ) 

int DCPS_IR_Subscription::remove_associated_publication ( DCPS_IR_Publication pub,
CORBA::Boolean  sendNotify,
CORBA::Boolean  notify_lost,
bool  notify_both_side = false 
)

Remove the associated publication Removes the publication from the list of associated publications if return successful sendNotify indicates whether to tell the datareader about removing the publication The notify_lost flag true indicates this remove_associations is called when the InfoRepo detects this subscription is lost because of the failure of invocation on this subscription. The notify_both_side parameter indicates if it needs call pub to remove association as well. This method can mark the participant dead Returns 0 if successful

int DCPS_IR_Subscription::remove_associations ( CORBA::Boolean  notify_lost  ) 

Removes all the associated publications This method can mark the participant dead The notify_lost flag true indicates this remove_associations is called when the InfoRepo detects this subscription is lost because of the failure of invocation on this subscription. Returns 0 if successful

void DCPS_IR_Subscription::set_bit_status ( CORBA::Boolean  isBIT  ) 

void DCPS_IR_Subscription::set_handle ( ::DDS::InstanceHandle_t  handle  ) 

void DCPS_IR_Subscription::set_qos ( const ::DDS::SubscriberQos qos  ) 

Update SubscriberQos only.

void DCPS_IR_Subscription::set_qos ( const ::DDS::DataReaderQos qos  ) 

Update DataReaderQos only.

bool DCPS_IR_Subscription::set_qos ( const ::DDS::DataReaderQos qos,
const ::DDS::SubscriberQos subscriberQos,
Update::SpecificQos specificQos 
)

Update the DataReader or Subscriber qos and also publish the qos changes to datereader BIT.

void DCPS_IR_Subscription::update_incompatible_qos (  ) 

Notify the reader of incompatible qos status and reset the status' count_since_last_send to 0


Member Data Documentation

DCPS_IR_Publication_Set DCPS_IR_Subscription::associations_ [private]

::DDS::InstanceHandle_t DCPS_IR_Subscription::handle_ [private]

OpenDDS::DCPS::RepoId DCPS_IR_Subscription::id_ [private]

OpenDDS::DCPS::IncompatibleQosStatus DCPS_IR_Subscription::incompatibleQosStatus_ [private]

OpenDDS::DCPS::TransportInterfaceInfo DCPS_IR_Subscription::info_ [private]

CORBA::Boolean DCPS_IR_Subscription::isBIT_ [private]

DCPS_IR_Participant* DCPS_IR_Subscription::participant_ [private]

::DDS::DataReaderQos DCPS_IR_Subscription::qos_ [private]

OpenDDS::DCPS::DataReaderRemote_var DCPS_IR_Subscription::reader_ [private]

the corresponding DataReaderRemote object

::DDS::SubscriberQos DCPS_IR_Subscription::subscriberQos_ [private]

DCPS_IR_Topic* DCPS_IR_Subscription::topic_ [private]


The documentation for this class was generated from the following files:
Generated on Fri Nov 7 09:37:22 2008 for OpenDDS by  doxygen 1.4.7