#include <DCPS_IR_Topic.h>
Collaboration diagram for DCPS_IR_Topic:

| DCPS_IR_Topic::DCPS_IR_Topic | ( | OpenDDS::DCPS::RepoId | id, | |
| DDS::TopicQos | qos, | |||
| DCPS_IR_Domain * | domain, | |||
| DCPS_IR_Participant * | creator, | |||
| DCPS_IR_Topic_Description * | description | |||
| ) |
| DCPS_IR_Topic::~DCPS_IR_Topic | ( | ) |
| int DCPS_IR_Topic::add_publication_reference | ( | DCPS_IR_Publication * | publication, | |
| bool | associate = true | |||
| ) |
Adds the publication to the list of publications Calls the topic description's try associate if successfully added 'associate' switch toggles association attempt. Returns 0 if added, 1 if already exists, -1 other failure
| int DCPS_IR_Topic::add_subscription_reference | ( | DCPS_IR_Subscription * | subscription, | |
| bool | associate = true | |||
| ) |
Adds the subscription to the list of subscriptions and let description handle the association. Returns 0 if added, 1 if already exists, -1 other failure
| DDS::InstanceHandle_t DCPS_IR_Topic::get_handle | ( | ) |
| OpenDDS::DCPS::RepoId DCPS_IR_Topic::get_id | ( | ) | const |
| OpenDDS::DCPS::RepoId DCPS_IR_Topic::get_participant_id | ( | ) | const |
| DCPS_IR_Topic_Description * DCPS_IR_Topic::get_topic_description | ( | ) |
Return pointer to the Topic Description Domain retains ownership
| DDS::TopicQos * DCPS_IR_Topic::get_topic_qos | ( | ) |
Return pointer to the Topic qos Topic retains ownership
| CORBA::Boolean DCPS_IR_Topic::is_bit | ( | ) |
| void DCPS_IR_Topic::reassociate_all_publications | ( | ) |
Try to associate all the current publications. This is used to reconnect Built in Topics after a persistent restart.
| void DCPS_IR_Topic::reevaluate_associations | ( | DCPS_IR_Subscription * | subscription | ) |
Called by the DCPS_IR_Topic_Description to re-evaluate the association between the publications of this topic and the provided subscription.
| void DCPS_IR_Topic::release | ( | bool | removing | ) |
Delete the topic object upon last topic associated sub/pub and topic object deletion. It's kind of reference counting. The removing true indicates it's called upon delete_topic, otherwise it's upon remove_publication/remove_subcription.
| int DCPS_IR_Topic::remove_publication_reference | ( | DCPS_IR_Publication * | publication | ) |
Removes the publication from the list of publications Returns 0 if successful
| int DCPS_IR_Topic::remove_subscription_reference | ( | DCPS_IR_Subscription * | subscription | ) |
Removes the subscription from the list of subscriptions Returns 0 if successful
| void DCPS_IR_Topic::set_bit_status | ( | CORBA::Boolean | isBIT | ) |
| void DCPS_IR_Topic::set_handle | ( | DDS::InstanceHandle_t | handle | ) |
| bool DCPS_IR_Topic::set_topic_qos | ( | const DDS::TopicQos & | qos | ) |
Reset topic qos and also propogate the qos change to related BITs that has the qos copy. Return false if the provided QoS makes the DataWriter and DataReader QoS incompatible. Currently supported changeable QoS in TopicQos do not affect.
| void DCPS_IR_Topic::try_associate | ( | DCPS_IR_Subscription * | subscription | ) |
Called by the DCPS_IR_Topic_Description Find any compatible publications and associate them using the DCPS_IR_Topic_Description's associate method. This method does not check the subscription's incompatible qos status.
DCPS_IR_Domain* DCPS_IR_Topic::domain_ [private] |
DDS::InstanceHandle_t DCPS_IR_Topic::handle_ [private] |
OpenDDS::DCPS::RepoId DCPS_IR_Topic::id_ [private] |
CORBA::Boolean DCPS_IR_Topic::isBIT_ [private] |
DCPS_IR_Participant* DCPS_IR_Topic::participant_ [private] |
DDS::TopicQos DCPS_IR_Topic::qos_ [private] |
bool DCPS_IR_Topic::removed_ [private] |
True means release() is called upon delete_topic, but topic object is not deleted because there are still pub/sub associated.
Keep track the subscriptions of this topic so the TopicQos change can be published for those subscriptions.
1.4.7