DDS4CCM  1.2.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Private Member Functions | List of all members
DDS_Base_Connector_T< CCM_TYPE > Class Template Referenceabstract

#include <DDS_Base_Connector_T.h>

Inheritance diagram for DDS_Base_Connector_T< CCM_TYPE >:
Inheritance graph
Collaboration diagram for DDS_Base_Connector_T< CCM_TYPE >:
Collaboration graph

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. More...
 
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 *type_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 Member Functions inherited from CORBA::LocalObject
 Object (int dummy=0)
 
TAO::Object_Proxy_Brokerproxy_broker () const
 

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_
 
::DDS::DomainParticipantFactory_var participant_factory_
 
DDS_XML_QOS_PARSER_TYPE * qos_xml_
 

Private Member Functions

void create_dds_participant_factory (void)
 

Additional Inherited Members

- Public Types inherited from CORBA::LocalObject
typedef Object_ptr _ptr_type
 
typedef Object_var _var_type
 
typedef Object_out _out_type
 
- Static Public Member Functions inherited from CORBA::LocalObject
static CORBA::Boolean marshal (const Object_ptr x, TAO_OutputCDR &cdr)
 
static void _tao_any_destructor (void *)
 
static CORBA::Boolean is_nil_i (CORBA::Object_ptr obj)
 
static void tao_object_initialize (Object *)
 
static CORBA::Object_ptr _duplicate (CORBA::Object_ptr obj)
 
static CORBA::Object_ptr _nil (void)
 
static CORBA::Object_ptr _narrow (CORBA::Object_ptr obj)
 

Detailed Description

template<typename CCM_TYPE>
class DDS_Base_Connector_T< CCM_TYPE >

Author
Johnny Willemsen jwill.nosp@m.emse.nosp@m.n@rem.nosp@m.edy..nosp@m.nl
Id:
DDS_Base_Connector_T.h 96867 2013-02-27 08:21:02Z johnnyw

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
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 >::create_dds_participant_factory ( void  )
private

Initialization of the domain participant factory.

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 >::domain_id ( ::DDS::DomainId_t  domain_id)
virtual
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 *  type_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 >
char * DDS_Base_Connector_T< CCM_TYPE >::qos_profile ( void  )
virtual
template<typename CCM_TYPE >
void DDS_Base_Connector_T< CCM_TYPE >::qos_profile ( const char *  qos_profile)
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 
)
protectedpure 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 
)
protectedpure 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 >
::DDS::DomainParticipantFactory_var 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

template<typename CCM_TYPE >
DDS_XML_QOS_PARSER_TYPE* DDS_Base_Connector_T< CCM_TYPE >::qos_xml_
protected

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


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