DDS4CCM  1.1.8
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Static Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Static Private Attributes | List of all members
CIAO::NDDS::DDS_TypeSupport_i Class Reference

#include <TypeSupport.h>

Collaboration diagram for CIAO::NDDS::DDS_TypeSupport_i:
Collaboration graph

Static Public Member Functions

static void close (void)
static bool register_type (::DDS::DomainParticipant_ptr dp, const char *type, DDS_TypeFactory_i *factory)
static bool unregister_type (::DDS::DomainParticipant_ptr dp, const char *type)
::DDS::DataWriter_ptr create_datawriter (DDSDataWriter *dw,::DDS::DomainParticipant_ptr dp,::DDS::Publisher_ptr pub)
::DDS::DataReader_ptr create_datareader (DDSDataReader *dr,::DDS::DomainParticipant_ptr dp,::DDS::Subscriber_ptr sub)

Private Types

typedef std::map< ACE_CString,
DDS_TypeFactory_i_var * > 
 Store for a specific DDS type a type factory var with its own refcount. More...
typedef std::map
< ::DDS::DomainParticipant_ptr,

Private Member Functions

 DDS_TypeSupport_i (void)
 ~DDS_TypeSupport_i (void)

Static Private Member Functions

static DDS_TypeFactory_iget_factory_i (::DDS::DomainParticipant_ptr dp, const char *type)

Static Private Attributes

static participantfactories participant_factories

Member Typedef Documentation

typedef std::map< ::DDS::DomainParticipant_ptr, typefactories > CIAO::NDDS::DDS_TypeSupport_i::participantfactories

For each domain participant we store a map with type factories for the types that participant has

Store for a specific DDS type a type factory var with its own refcount.

Constructor & Destructor Documentation

CIAO::NDDS::DDS_TypeSupport_i::DDS_TypeSupport_i ( void  )
CIAO::NDDS::DDS_TypeSupport_i::~DDS_TypeSupport_i ( void  )

Member Function Documentation

void CIAO::NDDS::DDS_TypeSupport_i::close ( void  )

Clears all internal maps, freeing the memory.

DDS::DataReader_ptr CIAO::NDDS::DDS_TypeSupport_i::create_datareader ( DDSDataReader *  dr,
::DDS::DomainParticipant_ptr  dp,
::DDS::Subscriber_ptr  sub 

Create a type specific datareader

DDS::DataWriter_ptr CIAO::NDDS::DDS_TypeSupport_i::create_datawriter ( DDSDataWriter *  dw,
::DDS::DomainParticipant_ptr  dp,
::DDS::Publisher_ptr  pub 

Create a type specific datawriter

DDS_TypeFactory_i * CIAO::NDDS::DDS_TypeSupport_i::get_factory_i ( ::DDS::DomainParticipant_ptr  dp,
const char *  type 

Searches for a TypeFactory, based on a type and DomainParticipant

bool CIAO::NDDS::DDS_TypeSupport_i::register_type ( ::DDS::DomainParticipant_ptr  dp,
const char *  type,
DDS_TypeFactory_i factory 

Registering a type-factory combination per DomainParticipant.

Return values
falseInsertions to one of the maps fails or if there's already a factory for the given type registered.
trueInsertions succeeded
bool CIAO::NDDS::DDS_TypeSupport_i::unregister_type ( ::DDS::DomainParticipant_ptr  dp,
const char *  type 

Unregistering a type-factory combination for a specific DomainParticipant. At the moment the type factory isn't used anymore it is automatically destructed.

Return values
falseUnregistering the type factory failed
trueUnregistering the type factory succeeded

Member Data Documentation

std::map<::DDS::DomainParticipant_ptr,::CIAO::NDDS::DDS_TypeSupport_i::typefactories > CIAO::NDDS::DDS_TypeSupport_i::participant_factories

The documentation for this class was generated from the following files: