DDS4CCM 1.0.1
Public Member Functions | Protected Member Functions | Private Types

DDS_Base_Connector_T< CCM_TYPE > Class Template Reference

#include <DDS_Base_Connector_T.h>

Inheritance diagram for DDS_Base_Connector_T< CCM_TYPE >:
Inheritance graph
[legend]
Collaboration diagram for DDS_Base_Connector_T< CCM_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)
virtual void register_type (::DDS::DomainParticipant_ptr participant, const char *typesupport_name)=0
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)
virtual void unregister_type (::DDS::DomainParticipant_ptr participant, const char *typesupport_name)=0

Protected Attributes

::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_
::CIAO::DDS4CCM::Logger_Servicedlf_
::DDS::DomainParticipant_var domain_participant_
CCM_TYPE::context_type::_var_type context_
DomainParticipantFactory participant_factory_

Private Types

typedef
::CIAO::NDDS::DDS_DomainParticipantFactory_i 
DomainParticipantFactory

Detailed Description

template<typename CCM_TYPE>
class DDS_Base_Connector_T< CCM_TYPE >

Author:
Johnny Willemsen <jwillemsen@remedy.nl>
Id:
DDS_Base_Connector_T.h 93117 2011-01-20 12:11:28Z mcorino

Member Typedef Documentation

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

Constructor & Destructor Documentation

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

Member Function Documentation

template<typename CCM_TYPE >
void DDS_Base_Connector_T< CCM_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 will activate the DDS Entities.

Activation

template<typename CCM_TYPE >
void DDS_Base_Connector_T< CCM_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 will activate the DDS Entities.

Activation

template<typename CCM_TYPE >
void DDS_Base_Connector_T< CCM_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 will activate the DDS Entities.

Activation

template<typename CCM_TYPE >
void DDS_Base_Connector_T< CCM_TYPE >::ccm_activate ( void  ) [virtual]

Interface methods for the Deployment and Configuration Framework

Reimplemented in DDS_Event_Connector_T< CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE >, and DDS_State_Connector_T< CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE >.

template<typename CCM_TYPE >
void DDS_Base_Connector_T< CCM_TYPE >::ccm_passivate ( void  ) [virtual]
template<typename CCM_TYPE >
void DDS_Base_Connector_T< CCM_TYPE >::ccm_remove ( void  ) [virtual]
template<typename CCM_TYPE >
void DDS_Base_Connector_T< CCM_TYPE >::configuration_complete ( void  ) [virtual]
template<typename CCM_TYPE >
void DDS_Base_Connector_T< CCM_TYPE >::domain_id ( ::DDS::DomainId_t  domain_id) [virtual]
template<typename CCM_TYPE >
DDS::DomainId_t DDS_Base_Connector_T< CCM_TYPE >::domain_id ( void  )
template<typename CCM_TYPE >
void DDS_Base_Connector_T< CCM_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, independent 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 >
void DDS_Base_Connector_T< CCM_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, independent 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 >
void DDS_Base_Connector_T< CCM_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, independent 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 >
void DDS_Base_Connector_T< CCM_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 >
void DDS_Base_Connector_T< CCM_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 >
void DDS_Base_Connector_T< CCM_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 >
void DDS_Base_Connector_T< CCM_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 >
void DDS_Base_Connector_T< CCM_TYPE >::qos_profile ( const char *  qos_profile) [virtual]
template<typename CCM_TYPE >
char * DDS_Base_Connector_T< CCM_TYPE >::qos_profile ( void  ) [virtual]
template<typename CCM_TYPE >
ACE_Reactor * DDS_Base_Connector_T< CCM_TYPE >::reactor ( void  ) [protected]

Get the reactor associated with this component.

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

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, independent 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

Implemented in DDS_TopicBase_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >.

template<typename CCM_TYPE >
void DDS_Base_Connector_T< CCM_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 >
void DDS_Base_Connector_T< CCM_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 >
void DDS_Base_Connector_T< CCM_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 >
void DDS_Base_Connector_T< CCM_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 >
void DDS_Base_Connector_T< CCM_TYPE >::set_session_context ( ::Components::SessionContext_ptr  ctx) [virtual]
template<typename CCM_TYPE >
virtual void DDS_Base_Connector_T< CCM_TYPE >::unregister_type ( ::DDS::DomainParticipant_ptr  participant,
const char *  typesupport_name 
) [protected, pure virtual]

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

Implemented in DDS_TopicBase_Connector_T< CCM_TYPE, DDS_TYPE, SEQ_TYPE >.


Member Data Documentation

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

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

template<typename CCM_TYPE >
CCM_TYPE::context_type::_var_type DDS_Base_Connector_T< CCM_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 >
::CIAO::DDS4CCM::Logger_Service* DDS_Base_Connector_T< CCM_TYPE >::dlf_ [protected]

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

template<typename CCM_TYPE >
::DDS::DomainId_t DDS_Base_Connector_T< CCM_TYPE >::domain_id_ [protected]

Attribute of DDS4CCM Base

template<typename CCM_TYPE >
::DDS::DomainParticipant_var DDS_Base_Connector_T< CCM_TYPE >::domain_participant_ [protected]

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

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

DomainParticipantFactory. Administration of Domain Participants

template<typename CCM_TYPE >
::CORBA::String_var DDS_Base_Connector_T< CCM_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