OpenDDS
Snapshot(2023/04/28-20:55)
|
Representative of a Topic Description. More...
#include <DCPS_IR_Topic_Description.h>
Private Attributes | |
ACE_CString | name_ |
ACE_CString | dataTypeName_ |
DCPS_IR_Domain * | domain_ |
DCPS_IR_Subscription_Set | subscriptionRefs_ |
DCPS_IR_Topic_Set | topics_ |
Additional Inherited Members | |
![]() | |
EnableContainerSupportedUniquePtr () | |
void | _add_ref () |
void | _remove_ref () |
long | ref_count () const |
Representative of a Topic Description.
Definition at line 43 of file DCPS_IR_Topic_Description.h.
OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL DCPS_IR_Topic_Description::DCPS_IR_Topic_Description | ( | DCPS_IR_Domain * | domain, |
const char * | name, | ||
const char * | dataTypeName | ||
) |
Definition at line 25 of file DCPS_IR_Topic_Description.cpp.
DCPS_IR_Topic_Description::~DCPS_IR_Topic_Description | ( | ) |
Definition at line 34 of file DCPS_IR_Topic_Description.cpp.
int DCPS_IR_Topic_Description::add_subscription_reference | ( | DCPS_IR_Subscription * | subscription, |
bool | associate = true |
||
) |
Adds the subscription to the list of subscriptions Tries to associate with existing publications if successfully added 'associate' switch toggles association attempt. Returns 0 if added, 1 if already exists, -1 other failure
Definition at line 38 of file DCPS_IR_Topic_Description.cpp.
References ACE_DEBUG, ACE_ERROR, ACE_TEXT(), ACE_String_Base< char >::c_str(), OpenDDS::DCPS::DCPS_debug_level, domain_, DCPS_IR_Subscription::get_id(), ACE_Unbounded_Set_Ex< T, ACE_Unbounded_Set_Default_Comparator< T > >::insert(), LM_DEBUG, LM_ERROR, name_, DCPS_IR_Domain::publish_subscription_bit(), subscriptionRefs_, and try_associate_subscription().
Referenced by DCPS_IR_Topic::add_subscription_reference().
int DCPS_IR_Topic_Description::add_topic | ( | DCPS_IR_Topic * | topic | ) |
Add a topic Takes ownership of memory pointed to by topic Returns 0 if added, 1 if already exists, -1 other failure
Definition at line 116 of file DCPS_IR_Topic_Description.cpp.
References ACE_DEBUG, ACE_ERROR, ACE_TEXT(), ACE_String_Base< char >::c_str(), OpenDDS::DCPS::DCPS_debug_level, DCPS_IR_Topic::get_id(), ACE_Unbounded_Set_Ex< T, ACE_Unbounded_Set_Default_Comparator< T > >::insert(), LM_DEBUG, LM_ERROR, LM_WARNING, name_, and topics_.
Referenced by DCPS_IR_Domain::add_topic_i().
void DCPS_IR_Topic_Description::associate | ( | DCPS_IR_Publication * | publication, |
DCPS_IR_Subscription * | subscription | ||
) |
Associate the publication and subscription.
Definition at line 339 of file DCPS_IR_Topic_Description.cpp.
References ACE_DEBUG, ACE_TEXT(), DCPS_IR_Subscription::add_associated_publication(), DCPS_IR_Publication::add_associated_subscription(), ACE_String_Base< char >::c_str(), OpenDDS::DCPS::DCPS_debug_level, DCPS_IR_Publication::get_id(), DCPS_IR_Subscription::get_id(), LM_DEBUG, LM_INFO, and name_.
Referenced by try_associate().
std::string DCPS_IR_Topic_Description::dump_to_string | ( | const std::string & | prefix, |
int | depth | ||
) | const |
Definition at line 419 of file DCPS_IR_Topic_Description.cpp.
References ACE_Unbounded_Set_Ex< T, ACE_Unbounded_Set_Default_Comparator< T > >::begin(), ACE_String_Base< char >::c_str(), dataTypeName_, ACE_Unbounded_Set_Ex< T, ACE_Unbounded_Set_Default_Comparator< T > >::end(), name_, OPENDDS_END_VERSIONED_NAMESPACE_DECL, subscriptionRefs_, and topics_.
const char * DCPS_IR_Topic_Description::get_dataTypeName | ( | ) | const |
Definition at line 408 of file DCPS_IR_Topic_Description.cpp.
References ACE_String_Base< char >::c_str(), and dataTypeName_.
Referenced by DCPS_IR_Domain::add_topic_description(), TAO_DDS_DCPSInfo_i::find_topic(), DCPS_IR_Domain::publish_publication_bit(), DCPS_IR_Domain::publish_subscription_bit(), DCPS_IR_Domain::publish_topic_bit(), and DCPS_IR_Domain::remove_topic().
DCPS_IR_Topic * DCPS_IR_Topic_Description::get_first_topic | ( | ) |
Gets the first topic in the topic list.
Definition at line 186 of file DCPS_IR_Topic_Description.cpp.
References ACE_DEBUG, ACE_TEXT(), ACE_Unbounded_Set_Ex< T, ACE_Unbounded_Set_Default_Comparator< T > >::begin(), ACE_String_Base< char >::c_str(), OpenDDS::DCPS::DCPS_debug_level, DCPS_IR_Topic::get_id(), LM_DEBUG, name_, ACE_Unbounded_Set_Ex< T, ACE_Unbounded_Set_Default_Comparator< T > >::size(), and topics_.
const char * DCPS_IR_Topic_Description::get_name | ( | void | ) | const |
Definition at line 403 of file DCPS_IR_Topic_Description.cpp.
References ACE_String_Base< char >::c_str(), and name_.
Referenced by DCPS_IR_Domain::add_topic_description(), DCPS_IR_Domain::publish_publication_bit(), DCPS_IR_Domain::publish_subscription_bit(), DCPS_IR_Domain::publish_topic_bit(), DCPS_IR_Domain::remove_topic(), and DCPS_IR_Domain::remove_topic_description().
CORBA::ULong DCPS_IR_Topic_Description::get_number_topics | ( | ) | const |
Returns the number of topics.
Definition at line 413 of file DCPS_IR_Topic_Description.cpp.
References ACE_Unbounded_Set_Ex< T, ACE_Unbounded_Set_Default_Comparator< T > >::size(), and topics_.
Referenced by DCPS_IR_Domain::remove_topic().
void DCPS_IR_Topic_Description::reevaluate_associations | ( | DCPS_IR_Publication * | publication | ) |
Re-evaluate the association between the provided publication and the subscriptions it maintains.
Definition at line 389 of file DCPS_IR_Topic_Description.cpp.
References ACE_Unbounded_Set_Ex< T, ACE_Unbounded_Set_Default_Comparator< T > >::begin(), ACE_Unbounded_Set_Ex< T, ACE_Unbounded_Set_Default_Comparator< T > >::end(), DCPS_IR_Subscription::reevaluate_association(), DCPS_IR_Publication::reevaluate_association(), and subscriptionRefs_.
Referenced by DCPS_IR_Publication::set_qos(), and DCPS_IR_Subscription::set_qos().
void DCPS_IR_Topic_Description::reevaluate_associations | ( | DCPS_IR_Subscription * | subscription | ) |
Re-evaluate the association between the provided subscription and the publications in all its maintained topics.
Definition at line 374 of file DCPS_IR_Topic_Description.cpp.
References ACE_Unbounded_Set_Ex< T, ACE_Unbounded_Set_Default_Comparator< T > >::begin(), ACE_Unbounded_Set_Ex< T, ACE_Unbounded_Set_Default_Comparator< T > >::end(), DCPS_IR_Topic::reevaluate_associations(), and topics_.
int DCPS_IR_Topic_Description::remove_subscription_reference | ( | DCPS_IR_Subscription * | subscription | ) |
Removes the subscription from the list of subscriptions Returns 0 if successful
Definition at line 90 of file DCPS_IR_Topic_Description.cpp.
References ACE_DEBUG, ACE_ERROR, ACE_TEXT(), ACE_String_Base< char >::c_str(), OpenDDS::DCPS::DCPS_debug_level, DCPS_IR_Subscription::get_id(), LM_DEBUG, LM_ERROR, name_, ACE_Unbounded_Set_Ex< T, ACE_Unbounded_Set_Default_Comparator< T > >::remove(), and subscriptionRefs_.
Referenced by DCPS_IR_Topic::remove_subscription_reference().
int DCPS_IR_Topic_Description::remove_topic | ( | DCPS_IR_Topic * | topic | ) |
Removes the topic from the list of topics Gives ownership of the memory pointed to by topic to the caller Returns 0 if successful
Definition at line 160 of file DCPS_IR_Topic_Description.cpp.
References ACE_DEBUG, ACE_ERROR, ACE_TEXT(), ACE_String_Base< char >::c_str(), OpenDDS::DCPS::DCPS_debug_level, DCPS_IR_Topic::get_id(), LM_DEBUG, LM_ERROR, name_, ACE_Unbounded_Set_Ex< T, ACE_Unbounded_Set_Default_Comparator< T > >::remove(), and topics_.
Referenced by DCPS_IR_Domain::add_topic_i(), and DCPS_IR_Domain::remove_topic().
bool DCPS_IR_Topic_Description::try_associate | ( | DCPS_IR_Publication * | publication, |
DCPS_IR_Subscription * | subscription | ||
) |
Checks to see if the publication and subscription can be associated.
Definition at line 274 of file DCPS_IR_Topic_Description.cpp.
References ACE_DEBUG, ACE_TEXT(), associate(), ACE_String_Base< char >::c_str(), OpenDDS::DCPS::compatibleQOS(), OpenDDS::DCPS::DCPS_debug_level, DCPS_IR_Subscription::get_datareader_qos(), DCPS_IR_Publication::get_datawriter_qos(), DCPS_IR_Publication::get_id(), DCPS_IR_Subscription::get_id(), DCPS_IR_Publication::get_incompatibleQosStatus(), DCPS_IR_Subscription::get_incompatibleQosStatus(), DCPS_IR_Publication::get_participant_id(), DCPS_IR_Subscription::get_participant_id(), DCPS_IR_Publication::get_publisher_qos(), DCPS_IR_Subscription::get_subscriber_qos(), DCPS_IR_Publication::get_topic_id(), DCPS_IR_Subscription::get_topic_id(), DCPS_IR_Publication::get_transportLocatorSeq(), DCPS_IR_Subscription::get_transportLocatorSeq(), DCPS_IR_Subscription::is_publication_ignored(), DCPS_IR_Publication::is_subscription_ignored(), LM_DEBUG, and name_.
Referenced by DCPS_IR_Subscription::reevaluate_association(), DCPS_IR_Publication::reevaluate_association(), DCPS_IR_Topic::try_associate(), and try_associate_publication().
void DCPS_IR_Topic_Description::try_associate_publication | ( | DCPS_IR_Publication * | publication | ) |
Tries to associate the publication will each of the subscriptions in the subscription list
Definition at line 207 of file DCPS_IR_Topic_Description.cpp.
References ACE_Unbounded_Set_Ex< T, ACE_Unbounded_Set_Default_Comparator< T > >::begin(), OpenDDS::DCPS::IncompatibleQosStatus::count_since_last_send, ACE_Unbounded_Set_Ex< T, ACE_Unbounded_Set_Default_Comparator< T > >::end(), DCPS_IR_Publication::get_incompatibleQosStatus(), DCPS_IR_Subscription::get_incompatibleQosStatus(), subscriptionRefs_, try_associate(), DCPS_IR_Publication::update_incompatible_qos(), and DCPS_IR_Subscription::update_incompatible_qos().
Referenced by DCPS_IR_Topic::add_publication_reference(), and DCPS_IR_Topic::reassociate_all_publications().
void DCPS_IR_Topic_Description::try_associate_subscription | ( | DCPS_IR_Subscription * | subscription | ) |
Tries to associate the subscription will each of the publications in each topic in the topic list
Definition at line 237 of file DCPS_IR_Topic_Description.cpp.
References ACE_DEBUG, ACE_TEXT(), ACE_Unbounded_Set_Ex< T, ACE_Unbounded_Set_Default_Comparator< T > >::begin(), ACE_String_Base< char >::c_str(), OpenDDS::DCPS::DCPS_debug_level, ACE_Unbounded_Set_Ex< T, ACE_Unbounded_Set_Default_Comparator< T > >::end(), DCPS_IR_Subscription::get_id(), DCPS_IR_Subscription::get_incompatibleQosStatus(), LM_DEBUG, name_, topics_, OpenDDS::DCPS::IncompatibleQosStatus::total_count, DCPS_IR_Topic::try_associate(), and DCPS_IR_Subscription::update_incompatible_qos().
Referenced by add_subscription_reference().
|
private |
Definition at line 113 of file DCPS_IR_Topic_Description.h.
Referenced by dump_to_string(), and get_dataTypeName().
|
private |
Definition at line 114 of file DCPS_IR_Topic_Description.h.
Referenced by add_subscription_reference().
|
private |
Definition at line 112 of file DCPS_IR_Topic_Description.h.
Referenced by add_subscription_reference(), add_topic(), associate(), dump_to_string(), get_first_topic(), get_name(), remove_subscription_reference(), remove_topic(), try_associate(), and try_associate_subscription().
|
private |
Definition at line 116 of file DCPS_IR_Topic_Description.h.
Referenced by add_subscription_reference(), dump_to_string(), reevaluate_associations(), remove_subscription_reference(), and try_associate_publication().
|
private |
Definition at line 117 of file DCPS_IR_Topic_Description.h.
Referenced by add_topic(), dump_to_string(), get_first_topic(), get_number_topics(), reevaluate_associations(), remove_topic(), and try_associate_subscription().