DCPS_IR_Participant Class Reference

Representative of the Domain Participant. More...

#include <DCPS_IR_Participant.h>

Collaboration diagram for DCPS_IR_Participant:

Collaboration graph
[legend]
List of all members.

Public Types

 OWNER_NONE
enum  { OWNER_NONE }
 Special owner to enforce no callbacks. More...

Public Member Functions

 DCPS_IR_Participant (long federationId, OpenDDS::DCPS::RepoId id, DCPS_IR_Domain *domain,::DDS::DomainParticipantQos qos, Update::Manager *um)
virtual ~DCPS_IR_Participant ()
void takeOwnership ()
 Take local ownership of this participant and publish an update.
void changeOwner (long sender, long owner)
 Process an incoming update that changes ownership.
long owner () const
 Value of the owner for this participant.
bool isOwner () const
 Indication of whether the current repository is the owner of this participant.
bool & isBitPublisher ()
 Flag to discriminate the built-in topic publishing participant within a domain.
bool isBitPublisher () const
int add_publication (DCPS_IR_Publication *pub)
int find_publication_reference (OpenDDS::DCPS::RepoId pubId, DCPS_IR_Publication *&pub)
 Return the publication object.
int remove_publication (OpenDDS::DCPS::RepoId pubId)
int add_subscription (DCPS_IR_Subscription *sub)
int find_subscription_reference (OpenDDS::DCPS::RepoId subId, DCPS_IR_Subscription *&sub)
 Return the subscription object.
int remove_subscription (OpenDDS::DCPS::RepoId subId)
int add_topic_reference (DCPS_IR_Topic *topic)
int remove_topic_reference (OpenDDS::DCPS::RepoId topicId, DCPS_IR_Topic *&topic)
int find_topic_reference (OpenDDS::DCPS::RepoId topicId, DCPS_IR_Topic *&topic)
void remove_all_dependents (CORBA::Boolean notify_lost)
 Removes all topics, publications and.
void mark_dead ()
OpenDDS::DCPS::RepoId get_id ()
CORBA::Boolean is_alive ()
void set_alive (CORBA::Boolean alive)
void ignore_participant (OpenDDS::DCPS::RepoId id)
 Ignore the participant with the id.
void ignore_topic (OpenDDS::DCPS::RepoId id)
 Ignore the topic with the id.
void ignore_publication (OpenDDS::DCPS::RepoId id)
 Ignore the publication with the id.
void ignore_subscription (OpenDDS::DCPS::RepoId id)
 Ignore the subscription with the id.
const ::DDS::DomainParticipantQosget_qos ()
bool set_qos (const ::DDS::DomainParticipantQos &qos)
CORBA::Boolean is_participant_ignored (OpenDDS::DCPS::RepoId id)
CORBA::Boolean is_topic_ignored (OpenDDS::DCPS::RepoId id)
CORBA::Boolean is_publication_ignored (OpenDDS::DCPS::RepoId id)
CORBA::Boolean is_subscription_ignored (OpenDDS::DCPS::RepoId id)
::DDS::InstanceHandle_t get_handle ()
void set_handle (::DDS::InstanceHandle_t handle)
CORBA::Boolean is_bit ()
void set_bit_status (CORBA::Boolean isBIT)
DCPS_IR_Domainget_domain_reference () const
OpenDDS::DCPS::RepoId get_next_topic_id ()
OpenDDS::DCPS::RepoId get_next_publication_id ()
OpenDDS::DCPS::RepoId get_next_subscription_id ()
void last_topic_key (long key)
void last_publication_key (long key)
void last_subscription_key (long key)
const DCPS_IR_Publication_Mappublications () const
 Expose a readable reference to the publication map.
const DCPS_IR_Subscription_Mapsubscriptions () const
 Expose a readable reference to the subscription map.
const DCPS_IR_Topic_Maptopics () const
 Expose a readable reference to the topic map.

Private Attributes

OpenDDS::DCPS::RepoId id_
DCPS_IR_Domaindomain_
::DDS::DomainParticipantQos qos_
CORBA::Boolean aliveStatus_
::DDS::InstanceHandle_t handle_
CORBA::Boolean isBIT_
long federationId_
long owner_
ACE_SYNCH_MUTEX ownerLock_
 Lock portions ownership processing.
GuidGenerator topicIdGenerator_
GuidGenerator publicationIdGenerator_
GuidGenerator subscriptionIdGenerator_
DCPS_IR_Subscription_Map subscriptions_
DCPS_IR_Publication_Map publications_
DCPS_IR_Topic_Map topicRefs_
TAO_DDS_RepoId_Set ignoredParticipants_
TAO_DDS_RepoId_Set ignoredTopics_
TAO_DDS_RepoId_Set ignoredPublications_
TAO_DDS_RepoId_Set ignoredSubscriptions_
Update::Managerum_
bool isBitPublisher_
 Flag indicating this participant publishes built-in topics.

Detailed Description

Representative of the Domain Participant.


Member Enumeration Documentation

anonymous enum

Special owner to enforce no callbacks.

Enumerator:
OWNER_NONE 


Constructor & Destructor Documentation

DCPS_IR_Participant::DCPS_IR_Participant ( long  federationId,
OpenDDS::DCPS::RepoId  id,
DCPS_IR_Domain domain,
::DDS::DomainParticipantQos  qos,
Update::Manager um 
)

DCPS_IR_Participant::~DCPS_IR_Participant (  )  [virtual]


Member Function Documentation

int DCPS_IR_Participant::add_publication ( DCPS_IR_Publication pub  ) 

Add a publication This takes ownership of the memory pointed to by pub Returns 0 if added, 1 if already exists, -1 other failure

int DCPS_IR_Participant::add_subscription ( DCPS_IR_Subscription sub  ) 

Add a subscription This takes ownership of the memory pointed to by aub Returns 0 if added, 1 if already exists, -1 other failure

int DCPS_IR_Participant::add_topic_reference ( DCPS_IR_Topic topic  ) 

Add a topic Returns 0 if added, 1 if already exists, -1 other failure

void DCPS_IR_Participant::changeOwner ( long  sender,
long  owner 
)

Process an incoming update that changes ownership.

: Ensure that any stalled callbacks are made.

int DCPS_IR_Participant::find_publication_reference ( OpenDDS::DCPS::RepoId  pubId,
DCPS_IR_Publication *&  pub 
)

Return the publication object.

int DCPS_IR_Participant::find_subscription_reference ( OpenDDS::DCPS::RepoId  subId,
DCPS_IR_Subscription *&  sub 
)

Return the subscription object.

int DCPS_IR_Participant::find_topic_reference ( OpenDDS::DCPS::RepoId  topicId,
DCPS_IR_Topic *&  topic 
)

Find topic reference with id Does NOT give ownership of memory Returns 0 if successful

DCPS_IR_Domain * DCPS_IR_Participant::get_domain_reference (  )  const

DDS::InstanceHandle_t DCPS_IR_Participant::get_handle (  ) 

OpenDDS::DCPS::RepoId DCPS_IR_Participant::get_id (  ) 

OpenDDS::DCPS::RepoId DCPS_IR_Participant::get_next_publication_id (  ) 

OpenDDS::DCPS::RepoId DCPS_IR_Participant::get_next_subscription_id (  ) 

OpenDDS::DCPS::RepoId DCPS_IR_Participant::get_next_topic_id (  ) 

const ::DDS::DomainParticipantQos * DCPS_IR_Participant::get_qos (  ) 

Return pointer to the participant qos Participant retains ownership

void DCPS_IR_Participant::ignore_participant ( OpenDDS::DCPS::RepoId  id  ) 

Ignore the participant with the id.

void DCPS_IR_Participant::ignore_publication ( OpenDDS::DCPS::RepoId  id  ) 

Ignore the publication with the id.

void DCPS_IR_Participant::ignore_subscription ( OpenDDS::DCPS::RepoId  id  ) 

Ignore the subscription with the id.

void DCPS_IR_Participant::ignore_topic ( OpenDDS::DCPS::RepoId  id  ) 

Ignore the topic with the id.

CORBA::Boolean DCPS_IR_Participant::is_alive (  ) 

CORBA::Boolean DCPS_IR_Participant::is_bit (  ) 

CORBA::Boolean DCPS_IR_Participant::is_participant_ignored ( OpenDDS::DCPS::RepoId  id  ) 

CORBA::Boolean DCPS_IR_Participant::is_publication_ignored ( OpenDDS::DCPS::RepoId  id  ) 

CORBA::Boolean DCPS_IR_Participant::is_subscription_ignored ( OpenDDS::DCPS::RepoId  id  ) 

CORBA::Boolean DCPS_IR_Participant::is_topic_ignored ( OpenDDS::DCPS::RepoId  id  ) 

bool DCPS_IR_Participant::isBitPublisher (  )  const

bool & DCPS_IR_Participant::isBitPublisher (  ) 

Flag to discriminate the built-in topic publishing participant within a domain.

bool DCPS_IR_Participant::isOwner (  )  const

Indication of whether the current repository is the owner of this participant.

void DCPS_IR_Participant::last_publication_key ( long  key  ) 

void DCPS_IR_Participant::last_subscription_key ( long  key  ) 

void DCPS_IR_Participant::last_topic_key ( long  key  ) 

void DCPS_IR_Participant::mark_dead (  ) 

Changes aliveStatus to false then adds itself to the domain's list of dead participants for removal

long DCPS_IR_Participant::owner (  )  const

Value of the owner for this participant.

const DCPS_IR_Publication_Map & DCPS_IR_Participant::publications (  )  const

Expose a readable reference to the publication map.

void DCPS_IR_Participant::remove_all_dependents ( CORBA::Boolean  notify_lost  ) 

Removes all topics, publications and.

int DCPS_IR_Participant::remove_publication ( OpenDDS::DCPS::RepoId  pubId  ) 

Removes the publication with the id Deletes the publication object if returns successful Returns 0 if successful

int DCPS_IR_Participant::remove_subscription ( OpenDDS::DCPS::RepoId  subId  ) 

Removes the subscription with the id Deletes the subscription object if returns successful Returns 0 if successful

int DCPS_IR_Participant::remove_topic_reference ( OpenDDS::DCPS::RepoId  topicId,
DCPS_IR_Topic *&  topic 
)

Remove a topic reference Does not change or take ownership of topic Returns 0 if successful

void DCPS_IR_Participant::set_alive ( CORBA::Boolean  alive  ) 

void DCPS_IR_Participant::set_bit_status ( CORBA::Boolean  isBIT  ) 

void DCPS_IR_Participant::set_handle ( ::DDS::InstanceHandle_t  handle  ) 

bool DCPS_IR_Participant::set_qos ( const ::DDS::DomainParticipantQos qos  ) 

Update qos and also propogate the qos change to related BITs that has the qos copy. Return false if the provided QoS makes the DataWriter and DataReader QoS incompatible. Currently supported changeable QoS in DomainParticipantQos do not affect.

const DCPS_IR_Subscription_Map & DCPS_IR_Participant::subscriptions (  )  const

Expose a readable reference to the subscription map.

void DCPS_IR_Participant::takeOwnership (  ) 

Take local ownership of this participant and publish an update.

Publish an update with our ownership.

const DCPS_IR_Topic_Map & DCPS_IR_Participant::topics (  )  const

Expose a readable reference to the topic map.


Member Data Documentation

CORBA::Boolean DCPS_IR_Participant::aliveStatus_ [private]

DCPS_IR_Domain* DCPS_IR_Participant::domain_ [private]

long DCPS_IR_Participant::federationId_ [private]

::DDS::InstanceHandle_t DCPS_IR_Participant::handle_ [private]

OpenDDS::DCPS::RepoId DCPS_IR_Participant::id_ [private]

TAO_DDS_RepoId_Set DCPS_IR_Participant::ignoredParticipants_ [private]

TAO_DDS_RepoId_Set DCPS_IR_Participant::ignoredPublications_ [private]

TAO_DDS_RepoId_Set DCPS_IR_Participant::ignoredSubscriptions_ [private]

TAO_DDS_RepoId_Set DCPS_IR_Participant::ignoredTopics_ [private]

CORBA::Boolean DCPS_IR_Participant::isBIT_ [private]

bool DCPS_IR_Participant::isBitPublisher_ [private]

Flag indicating this participant publishes built-in topics.

long DCPS_IR_Participant::owner_ [private]

ACE_SYNCH_MUTEX DCPS_IR_Participant::ownerLock_ [private]

Lock portions ownership processing.

GuidGenerator DCPS_IR_Participant::publicationIdGenerator_ [private]

DCPS_IR_Publication_Map DCPS_IR_Participant::publications_ [private]

::DDS::DomainParticipantQos DCPS_IR_Participant::qos_ [private]

GuidGenerator DCPS_IR_Participant::subscriptionIdGenerator_ [private]

DCPS_IR_Subscription_Map DCPS_IR_Participant::subscriptions_ [private]

GuidGenerator DCPS_IR_Participant::topicIdGenerator_ [private]

DCPS_IR_Topic_Map DCPS_IR_Participant::topicRefs_ [private]

Update::Manager* DCPS_IR_Participant::um_ [private]


The documentation for this class was generated from the following files:
Generated on Fri Nov 7 09:37:22 2008 for OpenDDS by  doxygen 1.4.7