Public Member Functions | Protected Member Functions | Protected Attributes | Private Types

DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE > Class Template Reference

#include <DDS_Base_Connector_T.h>

Inheritance diagram for DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >:
Inheritance graph
[legend]
Collaboration diagram for DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 DDS_Base_Connector_T (void)
virtual ~DDS_Base_Connector_T (void)
virtual void set_session_context (::Components::SessionContext_ptr ctx)
domain_id

Accessors for domain_id

virtual ::DDS::DomainId_t domain_id (void)
virtual void domain_id (::DDS::DomainId_t domain_id)
qos_profile

Accessors for qos_profile

virtual char * qos_profile (void)
virtual void qos_profile (const char *qos_profile)
virtual void configuration_complete (void)
virtual void ccm_remove (void)
virtual void ccm_activate (void)
virtual void ccm_passivate (void)

Protected Member Functions

ACE_Reactorreactor (void)
 Get the reactor associated with this component.
void init_domain (::DDS::DomainParticipant_ptr &participant)
void register_type (::DDS::DomainParticipant_ptr participant, const char *typesupport_name)
void init_topic (::DDS::DomainParticipant_ptr participant,::DDS::Topic_ptr &topic, const char *topic_name, const char *typesupport_name)
void init_publisher (::DDS::DomainParticipant_ptr participant,::DDS::Publisher_ptr &publisher)
void init_subscriber (::DDS::DomainParticipant_ptr participant,::DDS::Subscriber_ptr &subscriber)
void activate_topic (ACE_Reactor *reactor,::DDS::Topic_ptr topic,::DDS::TopicListener_ptr &listener)
void activate_publisher (ACE_Reactor *reactor,::DDS::Publisher_ptr publisher,::DDS::PublisherListener_ptr &publisher_listener)
void activate_subscriber (ACE_Reactor *reactor,::DDS::Subscriber_ptr subscriber,::DDS::SubscriberListener_ptr &subscriber_listener)
void passivate_topic (::DDS::Topic_ptr topic,::DDS::TopicListener_ptr topic_listener)
void passivate_publisher (::DDS::Publisher_ptr publisher,::DDS::PublisherListener_ptr publisher_listener)
void passivate_subscriber (::DDS::Subscriber_ptr subscriber,::DDS::SubscriberListener_ptr subscriber_listener)
void remove_topic (::DDS::DomainParticipant_ptr participant,::DDS::Topic_ptr topic)
void remove_publisher (::DDS::DomainParticipant_ptr participant,::DDS::Publisher_ptr publisher)
void remove_subscriber (::DDS::DomainParticipant_ptr participant,::DDS::Subscriber_ptr subscriber)
void remove_domain (::DDS::DomainParticipant_ptr participant)
void unregister_type (::DDS::DomainParticipant_ptr participant, const char *typesupport_name)

Protected Attributes

::CIAO::DDS4CCM::Logger_Servicedlf_
::DDS::DomainParticipant_var domain_participant_
CCM_TYPE::context_type::_var_type context_
DomainParticipantFactory participant_factory_
::DDS::DomainId_t domain_id_
::CORBA::String_var qos_profile_
configuration_complete_

Indicates whether configuration_complete has been invoked. Once invoked, changing a connectors attribute is not allowed anymore. If the user still wants to set an attribute, a NonChangeable exception is thrown.

bool configuration_complete_
char * library_name_
char * profile_name_

Private Types

typedef
::CIAO::NDDS::DDS_DomainParticipantFactory_i 
DomainParticipantFactory

Detailed Description

template<typename CCM_TYPE, typename DDS_TYPE, typename SEQ_TYPE>
class DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >

Author:
Johnny Willemsen <[email protected]>
Id:
DDS_Base_Connector_T.h 92776 2010-12-03 06:18:09Z msmit

Member Typedef Documentation

template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
typedef ::CIAO::NDDS::DDS_DomainParticipantFactory_i DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::DomainParticipantFactory [private]

Constructor & Destructor Documentation

template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::DDS_Base_Connector_T ( void   )
template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::~DDS_Base_Connector_T ( void   ) [virtual]

Member Function Documentation

template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
void DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::activate_publisher ( ACE_Reactor reactor,
::DDS::Publisher_ptr  publisher,
::DDS::PublisherListener_ptr &  publisher_listener 
) [protected]

Activation of a connector.

Helper methods to create the DDS listeners and attach them to the DDS Entities. This'll will activate the DDS Entities.

Activation

template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
void DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::activate_subscriber ( ACE_Reactor reactor,
::DDS::Subscriber_ptr  subscriber,
::DDS::SubscriberListener_ptr &  subscriber_listener 
) [protected]

Activation of a connector.

Helper methods to create the DDS listeners and attach them to the DDS Entities. This'll will activate the DDS Entities.

Activation

template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
void DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::activate_topic ( ACE_Reactor reactor,
::DDS::Topic_ptr  topic,
::DDS::TopicListener_ptr &  listener 
) [protected]

Activation of a connector.

Helper methods to create the DDS listeners and attach them to the DDS Entities. This'll will activate the DDS Entities.

Activation

template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
void DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::ccm_activate ( void   ) [virtual]
template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
void DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::ccm_passivate ( void   ) [virtual]
template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
void DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::ccm_remove ( void   ) [virtual]
template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
void DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::configuration_complete ( void   ) [virtual]
template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
void DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::domain_id ( ::DDS::DomainId_t  domain_id ) [virtual]
template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
DDS::DomainId_t DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::domain_id ( void   )
template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
void DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::init_domain ( ::DDS::DomainParticipant_ptr &  participant ) [protected]

Initialization of a connector.

When one wants to use his own DDS::DomainParticipant, DDS::Topic, DDS::Subscriber and/or DDS::Publisher, these helper methods allows to create these, independant of the DDS vendor.

See $CIAO_ROOT/connectors/dds4ccm/tests/MultiTopic/Connector/MultiTopic_Connector_T.cpp on how to use these methods.

These methods will create the DDS4CCM Entities (and therefor the DDS entities in DDS itself), like DomainParticipant, Topic, Subscriber and Publisher

template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
void DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::init_publisher ( ::DDS::DomainParticipant_ptr  participant,
::DDS::Publisher_ptr &  publisher 
) [protected]

Initialization of a connector.

When one wants to use his own DDS::DomainParticipant, DDS::Topic, DDS::Subscriber and/or DDS::Publisher, these helper methods allows to create these, independant of the DDS vendor.

See $CIAO_ROOT/connectors/dds4ccm/tests/MultiTopic/Connector/MultiTopic_Connector_T.cpp on how to use these methods.

These methods will create the DDS4CCM Entities (and therefor the DDS entities in DDS itself), like DomainParticipant, Topic, Subscriber and Publisher

template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
void DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::init_subscriber ( ::DDS::DomainParticipant_ptr  participant,
::DDS::Subscriber_ptr &  subscriber 
) [protected]

Initialization of a connector.

When one wants to use his own DDS::DomainParticipant, DDS::Topic, DDS::Subscriber and/or DDS::Publisher, these helper methods allows to create these, independant of the DDS vendor.

See $CIAO_ROOT/connectors/dds4ccm/tests/MultiTopic/Connector/MultiTopic_Connector_T.cpp on how to use these methods.

These methods will create the DDS4CCM Entities (and therefor the DDS entities in DDS itself), like DomainParticipant, Topic, Subscriber and Publisher

template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
void DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::init_topic ( ::DDS::DomainParticipant_ptr  participant,
::DDS::Topic_ptr &  topic,
const char *  topic_name,
const char *  typesupport_name 
) [protected]

Initialization

template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
void DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::passivate_publisher ( ::DDS::Publisher_ptr  publisher,
::DDS::PublisherListener_ptr  publisher_listener 
) [protected]

Passivation of a connector.

Helper methods to detach the DDS listeners from the DDS Entities. This'll passivate the DDS Entities.

In order to allow a thread safe and memory leak free passivation, one should use a temporary _var variable and assign this by using _retn () in the calling methods.

For example:

DDS::TopicListener_var tmp = this->topic_listener_._retn (); if (!CORBA::is_nil (tmp.in ())) this->passivate_topi (this->topic_.in (), tmp.in ());

Where topic_listener_ and topic_ are _var class members of a derived, user defined class.

Again, see $CIAO_ROOT/connectors/dds4ccm/tests/MultiTopic/Connector/MultiTopic_Connector_T.cpp on how to passivate a connector.

Passivation

template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
void DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::passivate_subscriber ( ::DDS::Subscriber_ptr  subscriber,
::DDS::SubscriberListener_ptr  subscriber_listener 
) [protected]

Passivation of a connector.

Helper methods to detach the DDS listeners from the DDS Entities. This'll passivate the DDS Entities.

In order to allow a thread safe and memory leak free passivation, one should use a temporary _var variable and assign this by using _retn () in the calling methods.

For example:

DDS::TopicListener_var tmp = this->topic_listener_._retn (); if (!CORBA::is_nil (tmp.in ())) this->passivate_topi (this->topic_.in (), tmp.in ());

Where topic_listener_ and topic_ are _var class members of a derived, user defined class.

Again, see $CIAO_ROOT/connectors/dds4ccm/tests/MultiTopic/Connector/MultiTopic_Connector_T.cpp on how to passivate a connector.

Passivation

template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
void DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::passivate_topic ( ::DDS::Topic_ptr  topic,
::DDS::TopicListener_ptr  topic_listener 
) [protected]

Passivation of a connector.

Helper methods to detach the DDS listeners from the DDS Entities. This'll passivate the DDS Entities.

In order to allow a thread safe and memory leak free passivation, one should use a temporary _var variable and assign this by using _retn () in the calling methods.

For example:

DDS::TopicListener_var tmp = this->topic_listener_._retn (); if (!CORBA::is_nil (tmp.in ())) this->passivate_topi (this->topic_.in (), tmp.in ());

Where topic_listener_ and topic_ are _var class members of a derived, user defined class.

Again, see $CIAO_ROOT/connectors/dds4ccm/tests/MultiTopic/Connector/MultiTopic_Connector_T.cpp on how to passivate a connector.

Passivation

template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
void DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::qos_profile ( const char *  qos_profile ) [virtual]
template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
char * DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::qos_profile ( void   ) [virtual]
template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
ACE_Reactor * DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::reactor ( void   ) [protected]

Get the reactor associated with this component.

template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
void DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::register_type ( ::DDS::DomainParticipant_ptr  participant,
const char *  typesupport_name 
) [protected]

Type registration

template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
void DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::remove_domain ( ::DDS::DomainParticipant_ptr  participant ) [protected]

Removal of a connector.

Helper methods to remove the DDS Entities from memory.

Again, one should use a temporary _var variable and _retn () in order to remove the DDS Entities in a thread safe and memory leak free manner. See 'Passivation of a connector' in this file.

Removal

template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
void DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::remove_publisher ( ::DDS::DomainParticipant_ptr  participant,
::DDS::Publisher_ptr  publisher 
) [protected]

Removal of a connector.

Helper methods to remove the DDS Entities from memory.

Again, one should use a temporary _var variable and _retn () in order to remove the DDS Entities in a thread safe and memory leak free manner. See 'Passivation of a connector' in this file.

Removal

template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
void DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::remove_subscriber ( ::DDS::DomainParticipant_ptr  participant,
::DDS::Subscriber_ptr  subscriber 
) [protected]

Removal of a connector.

Helper methods to remove the DDS Entities from memory.

Again, one should use a temporary _var variable and _retn () in order to remove the DDS Entities in a thread safe and memory leak free manner. See 'Passivation of a connector' in this file.

Removal

template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
void DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::remove_topic ( ::DDS::DomainParticipant_ptr  participant,
::DDS::Topic_ptr  topic 
) [protected]

Removal of a connector.

Helper methods to remove the DDS Entities from memory.

Again, one should use a temporary _var variable and _retn () in order to remove the DDS Entities in a thread safe and memory leak free manner. See 'Passivation of a connector' in this file.

Removal

template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
void DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::set_session_context ( ::Components::SessionContext_ptr  ctx ) [virtual]
template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
void DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::unregister_type ( ::DDS::DomainParticipant_ptr  participant,
const char *  typesupport_name 
) [protected]

Unregister type


Member Data Documentation

template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
bool DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::configuration_complete_ [protected]

Result of splitting qos_profile into to different names.

template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
CCM_TYPE::context_type::_var_type DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::context_ [protected]

Context of the connector. Used to make connection to the user component like the interface to the data listeners.

template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
::CIAO::DDS4CCM::Logger_Service* DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::dlf_ [protected]
template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
::DDS::DomainId_t DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::domain_id_ [protected]

Attribute of DDS4CCM Base

template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
::DDS::DomainParticipant_var DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::domain_participant_ [protected]
template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
char* DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::library_name_ [protected]

Result of splitting qos_profile into to different names.

template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
DomainParticipantFactory DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::participant_factory_ [protected]

DomainParticipantFactory. Administration of Domain Participants

template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
char* DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::profile_name_ [protected]

Result of splitting qos_profile into to different names.

template<typename CCM_TYPE , typename DDS_TYPE , typename SEQ_TYPE >
::CORBA::String_var DDS_Base_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >::qos_profile_ [protected]

Attribute of DDS4CCM Base


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