DDS4CCM  1.2.6
 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 * > 
typefactories
 Store for a specific DDS type a type factory var with its own refcount. More...
 
typedef std::map
< ::DDS::DomainParticipant_ptr,
typefactories
participantfactories
 

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
private

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  )
private
CIAO::NDDS::DDS_TypeSupport_i::~DDS_TypeSupport_i ( void  )
private

Member Function Documentation

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

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 
)
static

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 
)
static

Create a type specific datawriter

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

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 
)
static

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 
)
static

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
staticprivate

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