DCPS_IR_Publication Class Reference

Representative of a Publication. More...

#include <DCPS_IR_Publication.h>

Collaboration diagram for DCPS_IR_Publication:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 DCPS_IR_Publication (OpenDDS::DCPS::RepoId id, DCPS_IR_Participant *participant, DCPS_IR_Topic *topic, OpenDDS::DCPS::DataWriterRemote_ptr writer,::DDS::DataWriterQos qos, OpenDDS::DCPS::TransportInterfaceInfo info,::DDS::PublisherQos publisherQos)
 ~DCPS_IR_Publication ()
int add_associated_subscription (DCPS_IR_Subscription *sub)
int remove_associated_subscription (DCPS_IR_Subscription *sub, 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 subscriptions whose participant has the id.
void disassociate_topic (OpenDDS::DCPS::RepoId id)
 Remove any subscriptions whose topic has the id.
void disassociate_subscription (OpenDDS::DCPS::RepoId id)
 Remove any subscriptions with the id.
void update_incompatible_qos ()
CORBA::Boolean is_subscription_ignored (OpenDDS::DCPS::RepoId partId, OpenDDS::DCPS::RepoId topicId, OpenDDS::DCPS::RepoId subId)
::DDS::DataWriterQosget_datawriter_qos ()
::DDS::PublisherQosget_publisher_qos ()
bool set_qos (const ::DDS::DataWriterQos &qos, const ::DDS::PublisherQos &publisherQos, Update::SpecificQos &specificQos)
void set_qos (const ::DDS::DataWriterQos &qos)
 Update DataWriterQos only.
void set_qos (const ::DDS::PublisherQos &qos)
 Update PublisherQos only.
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_Topicget_topic ()
DCPS_IR_Topic_Descriptionget_topic_description ()
::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::DataWriterRemote_ptr writer ()
void reevaluate_existing_associations ()
void reevaluate_association (DCPS_IR_Subscription *subscription)

Private Member Functions

bool compatibleQosChange (const ::DDS::PublisherQos &qos)
bool compatibleQosChange (const ::DDS::DataWriterQos &qos)

Private Attributes

OpenDDS::DCPS::RepoId id_
DCPS_IR_Participantparticipant_
DCPS_IR_Topictopic_
::DDS::InstanceHandle_t handle_
CORBA::Boolean isBIT_
OpenDDS::DCPS::DataWriterRemote_var writer_
 the corresponding DataWriterRemote object
::DDS::DataWriterQos qos_
OpenDDS::DCPS::TransportInterfaceInfo info_
::DDS::PublisherQos publisherQos_
DCPS_IR_Subscription_Set associations_
OpenDDS::DCPS::IncompatibleQosStatus incompatibleQosStatus_

Detailed Description

Representative of a Publication.


Constructor & Destructor Documentation

DCPS_IR_Publication::DCPS_IR_Publication ( OpenDDS::DCPS::RepoId  id,
DCPS_IR_Participant participant,
DCPS_IR_Topic topic,
OpenDDS::DCPS::DataWriterRemote_ptr  writer,
::DDS::DataWriterQos  qos,
OpenDDS::DCPS::TransportInterfaceInfo  info,
::DDS::PublisherQos  publisherQos 
)

DCPS_IR_Publication::~DCPS_IR_Publication (  ) 


Member Function Documentation

int DCPS_IR_Publication::add_associated_subscription ( DCPS_IR_Subscription sub  ) 

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

bool DCPS_IR_Publication::compatibleQosChange ( const ::DDS::DataWriterQos qos  )  [private]

Check compatibility between provided DataWriter QoS and the QoS of this publication associated DataReaders.

bool DCPS_IR_Publication::compatibleQosChange ( const ::DDS::PublisherQos qos  )  [private]

Check compatibility between provided Publisher QoS and the QoS of this publication associated DataReaders's subscribers.

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

Remove any subscriptions whose participant has the id.

void DCPS_IR_Publication::disassociate_subscription ( OpenDDS::DCPS::RepoId  id  ) 

Remove any subscriptions with the id.

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

Remove any subscriptions whose topic has the id.

DDS::DataWriterQos * DCPS_IR_Publication::get_datawriter_qos (  ) 

Return pointer to the DataWriter qos Publication retains ownership

DDS::InstanceHandle_t DCPS_IR_Publication::get_handle (  ) 

OpenDDS::DCPS::RepoId DCPS_IR_Publication::get_id (  ) 

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

Return pointer to the incompatible qos status Publication retains ownership

OpenDDS::DCPS::RepoId DCPS_IR_Publication::get_participant_id (  ) 

DDS::PublisherQos * DCPS_IR_Publication::get_publisher_qos (  ) 

Return pointer to the Publisher qos Publication retains ownership

DCPS_IR_Topic * DCPS_IR_Publication::get_topic (  ) 

DCPS_IR_Topic_Description * DCPS_IR_Publication::get_topic_description (  ) 

OpenDDS::DCPS::RepoId DCPS_IR_Publication::get_topic_id (  ) 

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

get the transport ID of the transport implementation type.

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

Returns a copy of the TransportInterfaceInfo object.

CORBA::Boolean DCPS_IR_Publication::is_bit (  ) 

CORBA::Boolean DCPS_IR_Publication::is_subscription_ignored ( OpenDDS::DCPS::RepoId  partId,
OpenDDS::DCPS::RepoId  topicId,
OpenDDS::DCPS::RepoId  subId 
)

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

void DCPS_IR_Publication::reevaluate_association ( DCPS_IR_Subscription subscription  ) 

void DCPS_IR_Publication::reevaluate_existing_associations (  ) 

int DCPS_IR_Publication::remove_associated_subscription ( DCPS_IR_Subscription sub,
CORBA::Boolean  sendNotify,
CORBA::Boolean  notify_lost,
bool  notify_both_side = false 
)

Remove the associated subscription Removes the subscription from the list of associated subscriptions if return successful sendNotify indicates whether to tell the datawriter about removing the subscription The notify_lost parameter is passed to the remove_associations() The notify_both_side parameter indicates if it needs call sub to remove association as well. See the comments of remove_associations() in DdsDcpsDataWriterRemote.idl or DdsDcpsDataReaderRemote.idl. This method can mark the participant dead Returns 0 if successful

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

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

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

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

void DCPS_IR_Publication::set_qos ( const ::DDS::PublisherQos qos  ) 

Update PublisherQos only.

void DCPS_IR_Publication::set_qos ( const ::DDS::DataWriterQos qos  ) 

Update DataWriterQos only.

bool DCPS_IR_Publication::set_qos ( const ::DDS::DataWriterQos qos,
const ::DDS::PublisherQos publisherQos,
Update::SpecificQos specificQos 
)

Update the DataWriter or Publisher qos and also publish the qos changes to datawriter BIT.

void DCPS_IR_Publication::update_incompatible_qos (  ) 

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

OpenDDS::DCPS::DataWriterRemote_ptr DCPS_IR_Publication::writer (  ) 


Member Data Documentation

DCPS_IR_Subscription_Set DCPS_IR_Publication::associations_ [private]

::DDS::InstanceHandle_t DCPS_IR_Publication::handle_ [private]

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

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

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

CORBA::Boolean DCPS_IR_Publication::isBIT_ [private]

DCPS_IR_Participant* DCPS_IR_Publication::participant_ [private]

::DDS::PublisherQos DCPS_IR_Publication::publisherQos_ [private]

::DDS::DataWriterQos DCPS_IR_Publication::qos_ [private]

DCPS_IR_Topic* DCPS_IR_Publication::topic_ [private]

OpenDDS::DCPS::DataWriterRemote_var DCPS_IR_Publication::writer_ [private]

the corresponding DataWriterRemote object


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