#include <DomainParticipantImpl.h>
Inheritance diagram for OpenDDS::DCPS::DomainParticipantImpl:


Public Types | |
| typedef Objref_Servant_Pair< SubscriberImpl,::DDS::Subscriber, ::DDS::Subscriber_ptr,::DDS::Subscriber_var > | Subscriber_Pair |
| typedef Objref_Servant_Pair< PublisherImpl,::DDS::Publisher, ::DDS::Publisher_ptr,::DDS::Publisher_var > | Publisher_Pair |
| typedef Objref_Servant_Pair< TopicImpl,::DDS::Topic, ::DDS::Topic_ptr,::DDS::Topic_var > | Topic_Pair |
| typedef std::set< Subscriber_Pair > | SubscriberSet |
| typedef std::set< Publisher_Pair > | PublisherSet |
| typedef std::map< std::string, RefCounted_Topic > | TopicMap |
Public Member Functions | |
| DomainParticipantImpl (const ::DDS::DomainId_t &domain_id, const RepoId &dp_id, const ::DDS::DomainParticipantQos &qos,::DDS::DomainParticipantListener_ptr a_listener, bool federated=false) | |
| Constructor. | |
| virtual | ~DomainParticipantImpl (void) |
| Destructor. | |
| virtual ::DDS::Publisher_ptr | create_publisher (const ::DDS::PublisherQos &qos,::DDS::PublisherListener_ptr a_listener) throw ( CORBA::SystemException ) |
| virtual ::DDS::ReturnCode_t | delete_publisher (::DDS::Publisher_ptr p) throw ( CORBA::SystemException ) |
| virtual ::DDS::Subscriber_ptr | create_subscriber (const ::DDS::SubscriberQos &qos,::DDS::SubscriberListener_ptr a_listener) throw ( CORBA::SystemException ) |
| virtual ::DDS::ReturnCode_t | delete_subscriber (::DDS::Subscriber_ptr s) throw ( CORBA::SystemException ) |
| virtual ::DDS::Subscriber_ptr | get_builtin_subscriber () throw ( CORBA::SystemException ) |
| virtual ::DDS::Topic_ptr | create_topic (const char *topic_name, const char *type_name, const ::DDS::TopicQos &qos,::DDS::TopicListener_ptr a_listener) throw ( CORBA::SystemException ) |
| virtual ::DDS::ReturnCode_t | delete_topic (::DDS::Topic_ptr a_topic) throw ( CORBA::SystemException ) |
| virtual ::DDS::Topic_ptr | find_topic (const char *topic_name, const ::DDS::Duration_t &timeout) throw ( CORBA::SystemException ) |
| virtual ::DDS::TopicDescription_ptr | lookup_topicdescription (const char *name) throw ( CORBA::SystemException ) |
| virtual ::DDS::ReturnCode_t | delete_contained_entities () throw ( CORBA::SystemException ) |
| virtual ::DDS::ReturnCode_t | set_qos (const ::DDS::DomainParticipantQos &qos) throw ( CORBA::SystemException ) |
| virtual void | get_qos (::DDS::DomainParticipantQos &qos) throw ( CORBA::SystemException ) |
| virtual ::DDS::ReturnCode_t | set_listener (::DDS::DomainParticipantListener_ptr a_listener,::DDS::StatusKindMask mask) throw ( CORBA::SystemException ) |
| virtual ::DDS::DomainParticipantListener_ptr | get_listener () throw ( CORBA::SystemException ) |
| virtual ::DDS::ReturnCode_t | ignore_participant (::DDS::InstanceHandle_t handle) throw ( CORBA::SystemException ) |
| virtual ::DDS::ReturnCode_t | ignore_topic (::DDS::InstanceHandle_t handle) throw ( CORBA::SystemException ) |
| virtual ::DDS::ReturnCode_t | ignore_publication (::DDS::InstanceHandle_t handle) throw ( CORBA::SystemException ) |
| virtual ::DDS::ReturnCode_t | ignore_subscription (::DDS::InstanceHandle_t handle) throw ( CORBA::SystemException ) |
| virtual ::DDS::DomainId_t | get_domain_id () throw ( CORBA::SystemException ) |
| virtual void | assert_liveliness () throw ( CORBA::SystemException ) |
| virtual ::DDS::ReturnCode_t | set_default_publisher_qos (const ::DDS::PublisherQos &qos) throw ( CORBA::SystemException ) |
| virtual void | get_default_publisher_qos (::DDS::PublisherQos &qos) throw ( CORBA::SystemException ) |
| virtual ::DDS::ReturnCode_t | set_default_subscriber_qos (const ::DDS::SubscriberQos &qos) throw ( CORBA::SystemException ) |
| virtual void | get_default_subscriber_qos (::DDS::SubscriberQos &qos) throw ( CORBA::SystemException ) |
| virtual ::DDS::ReturnCode_t | set_default_topic_qos (const ::DDS::TopicQos &qos) throw ( CORBA::SystemException ) |
| virtual void | get_default_topic_qos (::DDS::TopicQos &qos) throw ( CORBA::SystemException ) |
| virtual ::DDS::ReturnCode_t | get_current_time (::DDS::Time_t ¤t_time) throw ( ::CORBA::SystemException ) |
| virtual ::DDS::ReturnCode_t | enable () throw ( CORBA::SystemException ) |
| RepoId | get_id () |
| void | set_object_reference (const ::DDS::DomainParticipant_ptr &dp) |
| int | is_clean () const |
| ::DDS::DomainParticipantListener * | listener_for (::DDS::StatusKind kind) |
Private Member Functions | |
| ::DDS::Topic_ptr | create_topic_i (const RepoId topic_id, const char *topic_name, const char *type_name, const ::DDS::TopicQos &qos,::DDS::TopicListener_ptr a_listener) throw ( CORBA::SystemException ) |
| ::DDS::ReturnCode_t | delete_topic_i (::DDS::Topic_ptr a_topic, bool remove_objref) |
| ::DDS::ReturnCode_t | init_bit () |
| Initialize the built in topic. | |
| ::DDS::ReturnCode_t | init_bit_topics () |
| Initialize the built in topic topics. | |
| ::DDS::ReturnCode_t | init_bit_subscriber () |
| Create the built in topic subscriber. | |
| ::DDS::ReturnCode_t | init_bit_datareaders () |
| Initialize the built in topic datareaders. | |
| ::DDS::ReturnCode_t | attach_bit_transport () |
| Attach the subscriber with the transport. | |
Private Attributes | |
| ::DDS::TopicQos | default_topic_qos_ |
| The default topic qos. | |
| ::DDS::PublisherQos | default_publisher_qos_ |
| The default publisher qos. | |
| ::DDS::SubscriberQos | default_subscriber_qos_ |
| The default subscriber qos. | |
| ::DDS::DomainParticipantQos | qos_ |
| The qos of this DomainParticipant. | |
| ::DDS::DomainParticipantListener_var | listener_ |
| Used to notify the entity for relevant events. | |
| ::DDS::DomainParticipantListener * | fast_listener_ |
| The DomainParticipant listener servant. | |
| ::DDS::StatusKindMask | listener_mask_ |
| ::DDS::DomainId_t | domain_id_ |
| The id of the domain that creates this participant. | |
| RepoId | dp_id_ |
| This participant id given by DCPSInfo repository. | |
| bool | federated_ |
| PublisherSet | publishers_ |
| Collection of publishers. | |
| SubscriberSet | subscribers_ |
| Collection of subscribers. | |
| TopicMap | topics_ |
| Collection of topics. | |
| ACE_Recursive_Thread_Mutex | publishers_protector_ |
| Protect the publisher collection. | |
| ACE_Recursive_Thread_Mutex | subscribers_protector_ |
| Protect the subscriber collection. | |
| ACE_Recursive_Thread_Mutex | topics_protector_ |
| Protect the topic collection. | |
| ::DDS::DomainParticipant_var | participant_objref_ |
| The object reference activated from this servant. | |
| ::DDS::Subscriber_var | bit_subscriber_ |
| The built in topic subscriber. | |
| ::DDS::Topic_var | bit_part_topic_ |
| The topic for built in topic participant. | |
| ::DDS::Topic_var | bit_topic_topic_ |
| The topic for built in topic topic. | |
| ::DDS::Topic_var | bit_pub_topic_ |
| The topic for built in topic publication. | |
| ::DDS::Topic_var | bit_sub_topic_ |
| The topic for built in topic subscription. | |
| FailoverListener * | failoverListener_ |
| Listener to initiate failover with. | |
| ::DDS::ParticipantBuiltinTopicDataDataReader_var | bit_part_dr_ |
| The datareader for built in topic participant. | |
| ::DDS::TopicBuiltinTopicDataDataReader_var | bit_topic_dr_ |
| The datareader for built in topic topic. | |
| ::DDS::PublicationBuiltinTopicDataDataReader_var | bit_pub_dr_ |
| The datareader for built in topic publication. | |
| ::DDS::SubscriptionBuiltinTopicDataDataReader_var | bit_sub_dr_ |
| The datareader for built in topic subscription. | |
Classes | |
| struct | RefCounted_Topic |
This class acts as an entrypoint of the service and a factory for publisher, subscriber and topic. It also acts as a container for the publisher, subscriber and topic objects.
See the DDS specification, OMG formal/04-12-02, for a description of the interface this class is implementing.
| typedef Objref_Servant_Pair<PublisherImpl, ::DDS::Publisher, ::DDS::Publisher_ptr, ::DDS::Publisher_var > OpenDDS::DCPS::DomainParticipantImpl::Publisher_Pair |
| typedef std::set<Publisher_Pair> OpenDDS::DCPS::DomainParticipantImpl::PublisherSet |
| typedef Objref_Servant_Pair<SubscriberImpl, ::DDS::Subscriber, ::DDS::Subscriber_ptr, ::DDS::Subscriber_var > OpenDDS::DCPS::DomainParticipantImpl::Subscriber_Pair |
| typedef std::set<Subscriber_Pair> OpenDDS::DCPS::DomainParticipantImpl::SubscriberSet |
| typedef Objref_Servant_Pair<TopicImpl, ::DDS::Topic, ::DDS::Topic_ptr, ::DDS::Topic_var > OpenDDS::DCPS::DomainParticipantImpl::Topic_Pair |
| typedef std::map<std::string, RefCounted_Topic> OpenDDS::DCPS::DomainParticipantImpl::TopicMap |
| OpenDDS::DCPS::DomainParticipantImpl::DomainParticipantImpl | ( | const ::DDS::DomainId_t & | domain_id, | |
| const RepoId & | dp_id, | |||
| const ::DDS::DomainParticipantQos & | qos, | |||
| ::DDS::DomainParticipantListener_ptr | a_listener, | |||
| bool | federated = false | |||
| ) |
Constructor.
| OpenDDS::DCPS::DomainParticipantImpl::~DomainParticipantImpl | ( | void | ) | [virtual] |
Destructor.
| void OpenDDS::DCPS::DomainParticipantImpl::assert_liveliness | ( | ) | throw ( CORBA::SystemException ) [virtual] |
Implements DDS::DomainParticipant.
| DDS::ReturnCode_t OpenDDS::DCPS::DomainParticipantImpl::attach_bit_transport | ( | ) | [private] |
Attach the subscriber with the transport.
| DDS::Publisher_ptr OpenDDS::DCPS::DomainParticipantImpl::create_publisher | ( | const ::DDS::PublisherQos & | qos, | |
| ::DDS::PublisherListener_ptr | a_listener | |||
| ) | throw ( CORBA::SystemException ) |
| DDS::Subscriber_ptr OpenDDS::DCPS::DomainParticipantImpl::create_subscriber | ( | const ::DDS::SubscriberQos & | qos, | |
| ::DDS::SubscriberListener_ptr | a_listener | |||
| ) | throw ( CORBA::SystemException ) |
| DDS::Topic_ptr OpenDDS::DCPS::DomainParticipantImpl::create_topic | ( | const char * | topic_name, | |
| const char * | type_name, | |||
| const ::DDS::TopicQos & | qos, | |||
| ::DDS::TopicListener_ptr | a_listener | |||
| ) | throw ( CORBA::SystemException ) |
| DDS::Topic_ptr OpenDDS::DCPS::DomainParticipantImpl::create_topic_i | ( | const RepoId | topic_id, | |
| const char * | topic_name, | |||
| const char * | type_name, | |||
| const ::DDS::TopicQos & | qos, | |||
| ::DDS::TopicListener_ptr | a_listener | |||
| ) | throw ( CORBA::SystemException ) [private] |
The implementation of create_topic. The TopicMap owns the reference bumped by narrow in the servant_to_reference and the returned topic is a duplicate topic in the TopicMap.
| DDS::ReturnCode_t OpenDDS::DCPS::DomainParticipantImpl::delete_contained_entities | ( | ) | throw ( CORBA::SystemException ) |
Implements DDS::DomainParticipant.
| DDS::ReturnCode_t OpenDDS::DCPS::DomainParticipantImpl::delete_publisher | ( | ::DDS::Publisher_ptr | p | ) | throw ( CORBA::SystemException ) |
| DDS::ReturnCode_t OpenDDS::DCPS::DomainParticipantImpl::delete_subscriber | ( | ::DDS::Subscriber_ptr | s | ) | throw ( CORBA::SystemException ) |
| DDS::ReturnCode_t OpenDDS::DCPS::DomainParticipantImpl::delete_topic | ( | ::DDS::Topic_ptr | a_topic | ) | throw ( CORBA::SystemException ) |
| DDS::ReturnCode_t OpenDDS::DCPS::DomainParticipantImpl::delete_topic_i | ( | ::DDS::Topic_ptr | a_topic, | |
| bool | remove_objref | |||
| ) | [private] |
Delete the topic with option of whether the topic object reference should be removed.
| DDS::ReturnCode_t OpenDDS::DCPS::DomainParticipantImpl::enable | ( | ) | throw ( CORBA::SystemException ) |
Implements DDS::Entity.
| DDS::Topic_ptr OpenDDS::DCPS::DomainParticipantImpl::find_topic | ( | const char * | topic_name, | |
| const ::DDS::Duration_t & | timeout | |||
| ) | throw ( CORBA::SystemException ) |
| DDS::Subscriber_ptr OpenDDS::DCPS::DomainParticipantImpl::get_builtin_subscriber | ( | ) | throw ( CORBA::SystemException ) |
Implements DDS::DomainParticipant.
| DDS::ReturnCode_t OpenDDS::DCPS::DomainParticipantImpl::get_current_time | ( | ::DDS::Time_t & | current_time | ) | throw ( ::CORBA::SystemException ) |
| void OpenDDS::DCPS::DomainParticipantImpl::get_default_publisher_qos | ( | ::DDS::PublisherQos & | qos | ) | throw ( CORBA::SystemException ) [virtual] |
| void OpenDDS::DCPS::DomainParticipantImpl::get_default_subscriber_qos | ( | ::DDS::SubscriberQos & | qos | ) | throw ( CORBA::SystemException ) [virtual] |
| void OpenDDS::DCPS::DomainParticipantImpl::get_default_topic_qos | ( | ::DDS::TopicQos & | qos | ) | throw ( CORBA::SystemException ) [virtual] |
| DDS::DomainId_t OpenDDS::DCPS::DomainParticipantImpl::get_domain_id | ( | ) | throw ( CORBA::SystemException ) |
Implements DDS::DomainParticipant.
| RepoId OpenDDS::DCPS::DomainParticipantImpl::get_id | ( | ) |
Return the id given by the DCPSInfo repositoy.
| DDS::DomainParticipantListener_ptr OpenDDS::DCPS::DomainParticipantImpl::get_listener | ( | ) | throw ( CORBA::SystemException ) |
Implements DDS::DomainParticipant.
| void OpenDDS::DCPS::DomainParticipantImpl::get_qos | ( | ::DDS::DomainParticipantQos & | qos | ) | throw ( CORBA::SystemException ) [virtual] |
| DDS::ReturnCode_t OpenDDS::DCPS::DomainParticipantImpl::ignore_participant | ( | ::DDS::InstanceHandle_t | handle | ) | throw ( CORBA::SystemException ) |
| DDS::ReturnCode_t OpenDDS::DCPS::DomainParticipantImpl::ignore_publication | ( | ::DDS::InstanceHandle_t | handle | ) | throw ( CORBA::SystemException ) |
| DDS::ReturnCode_t OpenDDS::DCPS::DomainParticipantImpl::ignore_subscription | ( | ::DDS::InstanceHandle_t | handle | ) | throw ( CORBA::SystemException ) |
| DDS::ReturnCode_t OpenDDS::DCPS::DomainParticipantImpl::ignore_topic | ( | ::DDS::InstanceHandle_t | handle | ) | throw ( CORBA::SystemException ) |
| DDS::ReturnCode_t OpenDDS::DCPS::DomainParticipantImpl::init_bit | ( | ) | [private] |
Initialize the built in topic.
| DDS::ReturnCode_t OpenDDS::DCPS::DomainParticipantImpl::init_bit_datareaders | ( | ) | [private] |
Initialize the built in topic datareaders.
| DDS::ReturnCode_t OpenDDS::DCPS::DomainParticipantImpl::init_bit_subscriber | ( | ) | [private] |
Create the built in topic subscriber.
| DDS::ReturnCode_t OpenDDS::DCPS::DomainParticipantImpl::init_bit_topics | ( | ) | [private] |
Initialize the built in topic topics.
| int OpenDDS::DCPS::DomainParticipantImpl::is_clean | ( | ) | const |
Check if the topic is used by any datareader or datawriter.
| DDS::DomainParticipantListener * OpenDDS::DCPS::DomainParticipantImpl::listener_for | ( | ::DDS::StatusKind | kind | ) |
This is used to retrieve the listener for a certain status change. If this DomainParticipant has a registered listener and the status kind is in the listener mask then the listener is returned. Otherwise, return nil.
| DDS::TopicDescription_ptr OpenDDS::DCPS::DomainParticipantImpl::lookup_topicdescription | ( | const char * | name | ) | throw ( CORBA::SystemException ) |
| DDS::ReturnCode_t OpenDDS::DCPS::DomainParticipantImpl::set_default_publisher_qos | ( | const ::DDS::PublisherQos & | qos | ) | throw ( CORBA::SystemException ) |
| DDS::ReturnCode_t OpenDDS::DCPS::DomainParticipantImpl::set_default_subscriber_qos | ( | const ::DDS::SubscriberQos & | qos | ) | throw ( CORBA::SystemException ) |
| DDS::ReturnCode_t OpenDDS::DCPS::DomainParticipantImpl::set_default_topic_qos | ( | const ::DDS::TopicQos & | qos | ) | throw ( CORBA::SystemException ) |
| DDS::ReturnCode_t OpenDDS::DCPS::DomainParticipantImpl::set_listener | ( | ::DDS::DomainParticipantListener_ptr | a_listener, | |
| ::DDS::StatusKindMask | mask | |||
| ) | throw ( CORBA::SystemException ) |
| void OpenDDS::DCPS::DomainParticipantImpl::set_object_reference | ( | const ::DDS::DomainParticipant_ptr & | dp | ) |
Associate the servant with the object reference. This is required to pass to the topic servant.
| DDS::ReturnCode_t OpenDDS::DCPS::DomainParticipantImpl::set_qos | ( | const ::DDS::DomainParticipantQos & | qos | ) | throw ( CORBA::SystemException ) |
::DDS::ParticipantBuiltinTopicDataDataReader_var OpenDDS::DCPS::DomainParticipantImpl::bit_part_dr_ [private] |
The datareader for built in topic participant.
::DDS::Topic_var OpenDDS::DCPS::DomainParticipantImpl::bit_part_topic_ [private] |
The topic for built in topic participant.
::DDS::PublicationBuiltinTopicDataDataReader_var OpenDDS::DCPS::DomainParticipantImpl::bit_pub_dr_ [private] |
The datareader for built in topic publication.
::DDS::Topic_var OpenDDS::DCPS::DomainParticipantImpl::bit_pub_topic_ [private] |
The topic for built in topic publication.
::DDS::SubscriptionBuiltinTopicDataDataReader_var OpenDDS::DCPS::DomainParticipantImpl::bit_sub_dr_ [private] |
The datareader for built in topic subscription.
::DDS::Topic_var OpenDDS::DCPS::DomainParticipantImpl::bit_sub_topic_ [private] |
The topic for built in topic subscription.
::DDS::Subscriber_var OpenDDS::DCPS::DomainParticipantImpl::bit_subscriber_ [private] |
The built in topic subscriber.
::DDS::TopicBuiltinTopicDataDataReader_var OpenDDS::DCPS::DomainParticipantImpl::bit_topic_dr_ [private] |
The datareader for built in topic topic.
::DDS::Topic_var OpenDDS::DCPS::DomainParticipantImpl::bit_topic_topic_ [private] |
The topic for built in topic topic.
The default publisher qos.
The default subscriber qos.
The default topic qos.
The id of the domain that creates this participant.
This participant id given by DCPSInfo repository.
Listener to initiate failover with.
The DomainParticipant listener servant.
bool OpenDDS::DCPS::DomainParticipantImpl::federated_ [private] |
Whether this DomainParticipant is attached to a federated repository.
::DDS::DomainParticipantListener_var OpenDDS::DCPS::DomainParticipantImpl::listener_ [private] |
Used to notify the entity for relevant events.
The StatusKind bit mask indicates which status condition change can be notified by the listener of this entity.
::DDS::DomainParticipant_var OpenDDS::DCPS::DomainParticipantImpl::participant_objref_ [private] |
The object reference activated from this servant.
Collection of publishers.
ACE_Recursive_Thread_Mutex OpenDDS::DCPS::DomainParticipantImpl::publishers_protector_ [private] |
Protect the publisher collection.
The qos of this DomainParticipant.
Collection of subscribers.
ACE_Recursive_Thread_Mutex OpenDDS::DCPS::DomainParticipantImpl::subscribers_protector_ [private] |
Protect the subscriber collection.
Collection of topics.
ACE_Recursive_Thread_Mutex OpenDDS::DCPS::DomainParticipantImpl::topics_protector_ [private] |
Protect the topic collection.
1.4.7