OpenDDS::DCPS::TopicDescriptionImpl Class Reference

Implements the DDS::TopicDescription interface. More...

#include <TopicDescriptionImpl.h>

Inheritance diagram for OpenDDS::DCPS::TopicDescriptionImpl:
Inheritance graph
[legend]
Collaboration diagram for OpenDDS::DCPS::TopicDescriptionImpl:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 TopicDescriptionImpl (const char *topic_name, const char *type_name, TypeSupport_ptr type_support, DomainParticipantImpl *participant)
virtual ~TopicDescriptionImpl ()
virtual char * get_type_name ()
virtual char * get_name ()
virtual DDS::DomainParticipant_ptr get_participant ()
OpenDDS::DCPS::TypeSupport_ptr get_type_support ()
bool has_entity_refs () const
void add_entity_ref ()
void remove_entity_ref ()

Protected Attributes

ACE_CString topic_name_
 The name of the topic.
ACE_CString type_name_
 The datatype of the topic.
DomainParticipantImplparticipant_
 The participant that creates this topic.
OpenDDS::DCPS::TypeSupport_var type_support_
 The type_support for this topic.
ACE_Atomic_Op
< ACE_Thread_Mutex, unsigned
long > 
entity_refs_
 The number of entities using this topic.

Detailed Description

Implements the DDS::TopicDescription interface.

See the DDS specification, OMG formal/04-12-02, for a description of the interface this class is implementing.

Definition at line 38 of file TopicDescriptionImpl.h.


Constructor & Destructor Documentation

OpenDDS::DCPS::TopicDescriptionImpl::TopicDescriptionImpl ( const char *  topic_name,
const char *  type_name,
TypeSupport_ptr  type_support,
DomainParticipantImpl participant 
)

Definition at line 19 of file TopicDescriptionImpl.cpp.

References _duplicate().

00023   : topic_name_(topic_name),
00024     type_name_(type_name),
00025     participant_(participant),
00026     type_support_(OpenDDS::DCPS::TypeSupport::_duplicate(type_support)),
00027     entity_refs_(0)
00028 {
00029 }

Here is the call graph for this function:

OpenDDS::DCPS::TopicDescriptionImpl::~TopicDescriptionImpl (  )  [virtual]

Definition at line 31 of file TopicDescriptionImpl.cpp.

00032 {
00033 }


Member Function Documentation

void OpenDDS::DCPS::TopicDescriptionImpl::add_entity_ref (  )  [inline]

Definition at line 64 of file TopicDescriptionImpl.h.

References OpenDDS::DCPS::RcObject::_add_ref().

00064                         {
00065     RcObject::_add_ref();
00066     ++entity_refs_;
00067   }

Here is the call graph for this function:

char * OpenDDS::DCPS::TopicDescriptionImpl::get_name ( void   )  [virtual]
DDS::DomainParticipant_ptr OpenDDS::DCPS::TopicDescriptionImpl::get_participant (  )  [virtual]

Implements DDS::TopicDescription.

Definition at line 48 of file TopicDescriptionImpl.cpp.

References CORBA::LocalObject::_duplicate(), and participant_.

Referenced by OpenDDS::DCPS::DomainParticipantImpl::delete_topic_i(), and OpenDDS::DCPS::TopicMonitorImpl::report().

00049 {
00050   return DDS::DomainParticipant::_duplicate(participant_);
00051 }

Here is the call graph for this function:

Here is the caller graph for this function:

char * OpenDDS::DCPS::TopicDescriptionImpl::get_type_name (  )  [virtual]

Implements DDS::TopicDescription.

Definition at line 36 of file TopicDescriptionImpl.cpp.

References ACE_String_Base< ACE_CHAR_T >::c_str(), FACE::string_dup(), and type_name_.

Referenced by OpenDDS::DCPS::RecorderImpl::init(), and OpenDDS::DCPS::TopicMonitorImpl::report().

00037 {
00038   return CORBA::string_dup(type_name_.c_str());
00039 }

Here is the call graph for this function:

Here is the caller graph for this function:

OpenDDS::DCPS::TypeSupport_ptr OpenDDS::DCPS::TopicDescriptionImpl::get_type_support (  ) 

This method is not defined in the IDL and is defined for internal use. Return the type support of the topic.

Definition at line 54 of file TopicDescriptionImpl.cpp.

References type_support_.

Referenced by OpenDDS::DCPS::SubscriberImpl::create_datareader(), OpenDDS::DCPS::PublisherImpl::create_datawriter(), OpenDDS::DCPS::MultiTopicDataReaderBase::init(), and OpenDDS::DCPS::MultiTopicDataReaderBase::metaStructFor().

00055 {
00056   return type_support_;
00057 }

Here is the caller graph for this function:

bool OpenDDS::DCPS::TopicDescriptionImpl::has_entity_refs (  )  const [inline]
void OpenDDS::DCPS::TopicDescriptionImpl::remove_entity_ref (  )  [inline]

Definition at line 69 of file TopicDescriptionImpl.h.

References OpenDDS::DCPS::RcObject::_remove_ref().

00069                            {
00070     --entity_refs_;
00071     RcObject::_remove_ref();
00072   }

Here is the call graph for this function:


Member Data Documentation

The number of entities using this topic.

Definition at line 87 of file TopicDescriptionImpl.h.

The name of the topic.

Definition at line 76 of file TopicDescriptionImpl.h.

Referenced by OpenDDS::DCPS::TopicImpl::enable(), and get_name().

The datatype of the topic.

Definition at line 78 of file TopicDescriptionImpl.h.

Referenced by OpenDDS::DCPS::TopicImpl::enable(), get_type_name(), and OpenDDS::DCPS::TopicImpl::type_name().

OpenDDS::DCPS::TypeSupport_var OpenDDS::DCPS::TopicDescriptionImpl::type_support_ [protected]

The type_support for this topic.

Definition at line 84 of file TopicDescriptionImpl.h.

Referenced by OpenDDS::DCPS::TopicImpl::enable(), and get_type_support().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 10 Aug 2018 for OpenDDS by  doxygen 1.6.1