DDS4CCM  1.1.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
CIAO::NDDS::DDS_TypeSupport_i Class Reference

#include <TypeSupport.h>

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

List of all members.

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.
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: