OpenDDS::Federator::ManagerImpl Class Reference

#include <FederatorManagerImpl.h>

Inheritance diagram for OpenDDS::Federator::ManagerImpl:

Inheritance graph
[legend]
Collaboration diagram for OpenDDS::Federator::ManagerImpl:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ManagerImpl (Config &config)
 Default constructor.
virtual ~ManagerImpl ()
 Virtual destructor.
virtual ::CORBA::Boolean discover_federation (const char *ior) throw ( ::CORBA::SystemException, Incomplete )
virtual Manager_ptr join_federation (Manager_ptr peer, FederationDomain federation) throw ( ::CORBA::SystemException, Incomplete )
virtual void leave_federation (RepoKey id) throw ( ::CORBA::SystemException, Incomplete )
virtual RepoKey federation_id (void) throw ( ::CORBA::SystemException )
virtual ::OpenDDS::DCPS::DCPSInfo_ptr repository (void) throw ( ::CORBA::SystemException )
virtual void initializeOwner (const ::OpenDDS::Federator::OwnerUpdate &data) throw ( ::CORBA::SystemException, ::OpenDDS::Federator::Incomplete )
virtual void initializeTopic (const ::OpenDDS::Federator::TopicUpdate &data) throw ( ::CORBA::SystemException, ::OpenDDS::Federator::Incomplete )
virtual void initializeParticipant (const ::OpenDDS::Federator::ParticipantUpdate &data) throw ( ::CORBA::SystemException, ::OpenDDS::Federator::Incomplete )
virtual void initializePublication (const ::OpenDDS::Federator::PublicationUpdate &data) throw ( ::CORBA::SystemException, ::OpenDDS::Federator::Incomplete )
virtual void initializeSubscription (const ::OpenDDS::Federator::SubscriptionUpdate &data) throw ( ::CORBA::SystemException, ::OpenDDS::Federator::Incomplete )
virtual void leave_and_shutdown (void) throw ( ::CORBA::SystemException, Incomplete )
virtual void shutdown (void) throw ( ::CORBA::SystemException, Incomplete )
void initialize ()
 Establish the update publications and subscriptions.
void finalize ()
 Release resources gracefully.
TAO_DDS_DCPSInfo_i *& info ()
 Accessors for the DCPSInfo reference.
TAO_DDS_DCPSInfo_iinfo () const
void localRepo (::OpenDDS::DCPS::DCPSInfo_ptr repo)
 Capture a remote callable reference to the DCPSInfo.
RepoKeyid ()
 Accessors for the federation Id value.
RepoKey id () const
CORBA::ORB_ptr orb ()
 Accessors for the ORB.
void orb (CORBA::ORB_ptr value)
void pushState (Manager_ptr peer)
 Push our current state to a remote repository.
void processDeferred ()
 Handle any deferred updates that might have become processable.
virtual void unregisterCallback ()
virtual void requestImage ()
virtual void create (const Update::UTopic &topic)
virtual void create (const Update::UParticipant &participant)
virtual void create (const Update::URActor &reader)
virtual void create (const Update::UWActor &writer)
virtual void create (const Update::OwnershipData &data)
virtual void update (const Update::IdPath &id, const ::DDS::DomainParticipantQos &qos)
virtual void update (const Update::IdPath &id, const ::DDS::TopicQos &qos)
virtual void update (const Update::IdPath &id, const ::DDS::DataWriterQos &qos)
virtual void update (const Update::IdPath &id, const ::DDS::PublisherQos &qos)
virtual void update (const Update::IdPath &id, const ::DDS::DataReaderQos &qos)
virtual void update (const Update::IdPath &id, const ::DDS::SubscriberQos &qos)
virtual void destroy (const Update::IdPath &id, Update::ItemType type, Update::ActorType actor)
void processCreate (const OwnerUpdate *sample, const ::DDS::SampleInfo *info)
 Null implementation for OwnerUpdate samples.
void processCreate (const PublicationUpdate *sample, const ::DDS::SampleInfo *info)
 Create a proxy for a new publication.
void processCreate (const SubscriptionUpdate *sample, const ::DDS::SampleInfo *info)
 Create a proxy for a new subscription.
void processCreate (const ParticipantUpdate *sample, const ::DDS::SampleInfo *info)
 Create a proxy for a new participant.
void processCreate (const TopicUpdate *sample, const ::DDS::SampleInfo *info)
 Create a proxy for a new topic.
void processUpdateQos1 (const OwnerUpdate *sample, const ::DDS::SampleInfo *info)
 Process ownership changes.
void processUpdateQos1 (const PublicationUpdate *sample, const ::DDS::SampleInfo *info)
 Update the proxy DataWriterQos for a publication.
void processUpdateQos2 (const PublicationUpdate *sample, const ::DDS::SampleInfo *info)
 Update the proxy PublisherQos for a publication.
void processUpdateQos1 (const SubscriptionUpdate *sample, const ::DDS::SampleInfo *info)
 Update the proxy DataReaderQos for a subscription.
void processUpdateQos2 (const SubscriptionUpdate *sample, const ::DDS::SampleInfo *info)
 Update the proxy SubscriberQos for a subscription.
void processUpdateQos1 (const ParticipantUpdate *sample, const ::DDS::SampleInfo *info)
 Update the proxy ParticipantQos for a participant.
void processUpdateQos1 (const TopicUpdate *sample, const ::DDS::SampleInfo *info)
 Update the proxy TopicQos for a topic.
void processDelete (const OwnerUpdate *sample, const ::DDS::SampleInfo *info)
 Null implementation for OwnerUpdate samples.
void processDelete (const PublicationUpdate *sample, const ::DDS::SampleInfo *info)
 Delete a proxy for a publication.
void processDelete (const SubscriptionUpdate *sample, const ::DDS::SampleInfo *info)
 Delete a proxy for a subscription.
void processDelete (const ParticipantUpdate *sample, const ::DDS::SampleInfo *info)
 Delete a proxy for a participant.
void processDelete (const TopicUpdate *sample, const ::DDS::SampleInfo *info)
 Delete a proxy for a topic.

Private Types

typedef std::map< RepoKey,
Manager_var > 
IdToManagerMap
 Map type to hold references to federated repository Managers.

Private Attributes

ACE_SYNCH_MUTEX lock_
 Critical section MUTEX.
ACE_Condition< ACE_SYNCH_MUTEX > joining_
 Condition used to gate joining activities.
RepoKey joiner_
 Simple recursion avoidance during the join operations.
RepoKey joinRepo_
 Repository to which we joined.
bool federated_
IdToManagerMap peers_
 The peer with which we have federated.
::OpenDDS::DCPS::SequenceNumber sequence_
 The packet sequence number for data that we publish.
Configconfig_
 The configuration information for this manager.
TAO_DDS_DCPSInfo_iinfo_
 The Info object reference to update.
::OpenDDS::DCPS::DCPSInfo_var localRepo_
 Remotely callable reference to the local repository.
CORBA::ORB_var orb_
 The ORB in which we are activated.
InfoRepoMulticastResponder multicastResponder_
 Multicast responder.
::DDS::DomainParticipant_var federationParticipant_
 local DomainParticipant
UpdateListener< OwnerUpdate,
OwnerUpdateDataReader > 
ownerListener_
 TopicUpdate listener.
UpdateListener< TopicUpdate,
TopicUpdateDataReader > 
topicListener_
 TopicUpdate listener.
UpdateListener< ParticipantUpdate,
ParticipantUpdateDataReader > 
participantListener_
 ParticipantUpdate listener.
UpdateListener< PublicationUpdate,
PublicationUpdateDataReader > 
publicationListener_
 PublicationUpdate listener.
UpdateListener< SubscriptionUpdate,
SubscriptionUpdateDataReader > 
subscriptionListener_
 SubscriptionUpdate listener.
OwnerUpdateDataWriter_var ownerWriter_
 TopicUpdate writer.
TopicUpdateDataWriter_var topicWriter_
 TopicUpdate writer.
ParticipantUpdateDataWriter_var participantWriter_
 ParticipantUpdate writer.
PublicationUpdateDataWriter_var publicationWriter_
 PublicationUpdate writer.
SubscriptionUpdateDataWriter_var subscriptionWriter_
 SubscriptionUpdate writer.
std::list< OwnerUpdatedeferredOwnerships_
 Deferred ownership updates.
std::list< TopicUpdatedeferredTopics_
 Deferred topic updates.
std::list< PublicationUpdatedeferredPublications_
 Deferred publication updates.
std::list< SubscriptionUpdatedeferredSubscriptions_
 Deferred subscription updates.
bool multicastEnabled_
 Is multicast enabled?
ACE_Thread_Mutex deferred_lock_
 Protect deferred updates.

Member Typedef Documentation

typedef std::map< RepoKey, Manager_var> OpenDDS::Federator::ManagerImpl::IdToManagerMap [private]

Map type to hold references to federated repository Managers.


Constructor & Destructor Documentation

OpenDDS::Federator::ManagerImpl::ManagerImpl ( Config config  ) 

Default constructor.

OpenDDS::Federator::ManagerImpl::~ManagerImpl (  )  [virtual]

Virtual destructor.


Member Function Documentation

void OpenDDS::Federator::ManagerImpl::create ( const Update::OwnershipData data  )  [virtual]

Implements Update::Updater.

virtual void OpenDDS::Federator::ManagerImpl::create ( const Update::UWActor writer  )  [virtual]

Implements Update::Updater.

void OpenDDS::Federator::ManagerImpl::create ( const Update::URActor reader  )  [virtual]

Implements Update::Updater.

void OpenDDS::Federator::ManagerImpl::create ( const Update::UParticipant participant  )  [virtual]

Implements Update::Updater.

void OpenDDS::Federator::ManagerImpl::create ( const Update::UTopic topic  )  [virtual]

Implements Update::Updater.

void OpenDDS::Federator::ManagerImpl::destroy ( const Update::IdPath id,
Update::ItemType  type,
Update::ActorType  actor 
) [virtual]

Implements Update::Updater.

CORBA::Boolean OpenDDS::Federator::ManagerImpl::discover_federation ( const char *  ior  )  throw ( ::CORBA::SystemException, Incomplete )

RepoKey OpenDDS::Federator::ManagerImpl::federation_id ( void   )  throw ( ::CORBA::SystemException ) [virtual]

void OpenDDS::Federator::ManagerImpl::finalize (  ) 

Release resources gracefully.

ACE_INLINE OpenDDS::Federator::RepoKey OpenDDS::Federator::ManagerImpl::id (  )  const

ACE_INLINE OpenDDS::Federator::RepoKey & OpenDDS::Federator::ManagerImpl::id (  ) 

Accessors for the federation Id value.

ACE_INLINE TAO_DDS_DCPSInfo_i * OpenDDS::Federator::ManagerImpl::info (  )  const

ACE_INLINE TAO_DDS_DCPSInfo_i *& OpenDDS::Federator::ManagerImpl::info (  ) 

Accessors for the DCPSInfo reference.

void OpenDDS::Federator::ManagerImpl::initialize (  ) 

Establish the update publications and subscriptions.

void OpenDDS::Federator::ManagerImpl::initializeOwner ( const ::OpenDDS::Federator::OwnerUpdate data  )  throw ( ::CORBA::SystemException, ::OpenDDS::Federator::Incomplete ) [virtual]

void OpenDDS::Federator::ManagerImpl::initializeParticipant ( const ::OpenDDS::Federator::ParticipantUpdate data  )  throw ( ::CORBA::SystemException, ::OpenDDS::Federator::Incomplete ) [virtual]

void OpenDDS::Federator::ManagerImpl::initializePublication ( const ::OpenDDS::Federator::PublicationUpdate data  )  throw ( ::CORBA::SystemException, ::OpenDDS::Federator::Incomplete ) [virtual]

void OpenDDS::Federator::ManagerImpl::initializeSubscription ( const ::OpenDDS::Federator::SubscriptionUpdate data  )  throw ( ::CORBA::SystemException, ::OpenDDS::Federator::Incomplete ) [virtual]

void OpenDDS::Federator::ManagerImpl::initializeTopic ( const ::OpenDDS::Federator::TopicUpdate data  )  throw ( ::CORBA::SystemException, ::OpenDDS::Federator::Incomplete ) [virtual]

Manager_ptr OpenDDS::Federator::ManagerImpl::join_federation ( Manager_ptr  peer,
FederationDomain  federation 
) throw ( ::CORBA::SystemException, Incomplete ) [virtual]

void OpenDDS::Federator::ManagerImpl::leave_and_shutdown ( void   )  throw ( ::CORBA::SystemException, Incomplete ) [virtual]

void OpenDDS::Federator::ManagerImpl::leave_federation ( RepoKey  id  )  throw ( ::CORBA::SystemException, Incomplete ) [virtual]

ACE_INLINE void OpenDDS::Federator::ManagerImpl::localRepo ( ::OpenDDS::DCPS::DCPSInfo_ptr  repo  ) 

Capture a remote callable reference to the DCPSInfo.

ACE_INLINE void OpenDDS::Federator::ManagerImpl::orb ( CORBA::ORB_ptr  value  ) 

ACE_INLINE CORBA::ORB_ptr OpenDDS::Federator::ManagerImpl::orb (  ) 

Accessors for the ORB.

void OpenDDS::Federator::ManagerImpl::processCreate ( const TopicUpdate sample,
const ::DDS::SampleInfo info 
)

Create a proxy for a new topic.

void OpenDDS::Federator::ManagerImpl::processCreate ( const ParticipantUpdate sample,
const ::DDS::SampleInfo info 
)

Create a proxy for a new participant.

void OpenDDS::Federator::ManagerImpl::processCreate ( const SubscriptionUpdate sample,
const ::DDS::SampleInfo info 
)

Create a proxy for a new subscription.

void OpenDDS::Federator::ManagerImpl::processCreate ( const PublicationUpdate sample,
const ::DDS::SampleInfo info 
)

Create a proxy for a new publication.

void OpenDDS::Federator::ManagerImpl::processCreate ( const OwnerUpdate sample,
const ::DDS::SampleInfo info 
)

Null implementation for OwnerUpdate samples.

void OpenDDS::Federator::ManagerImpl::processDeferred (  ) 

Handle any deferred updates that might have become processable.

void OpenDDS::Federator::ManagerImpl::processDelete ( const TopicUpdate sample,
const ::DDS::SampleInfo info 
)

Delete a proxy for a topic.

void OpenDDS::Federator::ManagerImpl::processDelete ( const ParticipantUpdate sample,
const ::DDS::SampleInfo info 
)

Delete a proxy for a participant.

void OpenDDS::Federator::ManagerImpl::processDelete ( const SubscriptionUpdate sample,
const ::DDS::SampleInfo info 
)

Delete a proxy for a subscription.

void OpenDDS::Federator::ManagerImpl::processDelete ( const PublicationUpdate sample,
const ::DDS::SampleInfo info 
)

Delete a proxy for a publication.

void OpenDDS::Federator::ManagerImpl::processDelete ( const OwnerUpdate sample,
const ::DDS::SampleInfo info 
)

Null implementation for OwnerUpdate samples.

void OpenDDS::Federator::ManagerImpl::processUpdateQos1 ( const TopicUpdate sample,
const ::DDS::SampleInfo info 
)

Update the proxy TopicQos for a topic.

void OpenDDS::Federator::ManagerImpl::processUpdateQos1 ( const ParticipantUpdate sample,
const ::DDS::SampleInfo info 
)

Update the proxy ParticipantQos for a participant.

void OpenDDS::Federator::ManagerImpl::processUpdateQos1 ( const SubscriptionUpdate sample,
const ::DDS::SampleInfo info 
)

Update the proxy DataReaderQos for a subscription.

void OpenDDS::Federator::ManagerImpl::processUpdateQos1 ( const PublicationUpdate sample,
const ::DDS::SampleInfo info 
)

Update the proxy DataWriterQos for a publication.

void OpenDDS::Federator::ManagerImpl::processUpdateQos1 ( const OwnerUpdate sample,
const ::DDS::SampleInfo info 
)

Process ownership changes.

void OpenDDS::Federator::ManagerImpl::processUpdateQos2 ( const SubscriptionUpdate sample,
const ::DDS::SampleInfo info 
)

Update the proxy SubscriberQos for a subscription.

void OpenDDS::Federator::ManagerImpl::processUpdateQos2 ( const PublicationUpdate sample,
const ::DDS::SampleInfo info 
)

Update the proxy PublisherQos for a publication.

void OpenDDS::Federator::ManagerImpl::pushState ( Manager_ptr  peer  ) 

Push our current state to a remote repository.

OpenDDS::DCPS::DCPSInfo_ptr OpenDDS::Federator::ManagerImpl::repository ( void   )  throw ( ::CORBA::SystemException )

void OpenDDS::Federator::ManagerImpl::requestImage (  )  [virtual]

Implements Update::Updater.

void OpenDDS::Federator::ManagerImpl::shutdown ( void   )  throw ( ::CORBA::SystemException, Incomplete ) [virtual]

void OpenDDS::Federator::ManagerImpl::unregisterCallback (  )  [virtual]

void OpenDDS::Federator::ManagerImpl::update ( const Update::IdPath id,
const ::DDS::SubscriberQos qos 
) [virtual]

Implements Update::Updater.

void OpenDDS::Federator::ManagerImpl::update ( const Update::IdPath id,
const ::DDS::DataReaderQos qos 
) [virtual]

Implements Update::Updater.

void OpenDDS::Federator::ManagerImpl::update ( const Update::IdPath id,
const ::DDS::PublisherQos qos 
) [virtual]

Implements Update::Updater.

void OpenDDS::Federator::ManagerImpl::update ( const Update::IdPath id,
const ::DDS::DataWriterQos qos 
) [virtual]

Implements Update::Updater.

void OpenDDS::Federator::ManagerImpl::update ( const Update::IdPath id,
const ::DDS::TopicQos qos 
) [virtual]

Implements Update::Updater.

void OpenDDS::Federator::ManagerImpl::update ( const Update::IdPath id,
const ::DDS::DomainParticipantQos qos 
) [virtual]

Implements Update::Updater.


Member Data Documentation

Config& OpenDDS::Federator::ManagerImpl::config_ [private]

The configuration information for this manager.

ACE_Thread_Mutex OpenDDS::Federator::ManagerImpl::deferred_lock_ [private]

Protect deferred updates.

std::list< OwnerUpdate> OpenDDS::Federator::ManagerImpl::deferredOwnerships_ [private]

Deferred ownership updates.

std::list< PublicationUpdate> OpenDDS::Federator::ManagerImpl::deferredPublications_ [private]

Deferred publication updates.

std::list< SubscriptionUpdate> OpenDDS::Federator::ManagerImpl::deferredSubscriptions_ [private]

Deferred subscription updates.

std::list< TopicUpdate> OpenDDS::Federator::ManagerImpl::deferredTopics_ [private]

Deferred topic updates.

bool OpenDDS::Federator::ManagerImpl::federated_ [private]

Flag indicating that we are actively participating in a federation of repositories.

::DDS::DomainParticipant_var OpenDDS::Federator::ManagerImpl::federationParticipant_ [private]

local DomainParticipant

TAO_DDS_DCPSInfo_i* OpenDDS::Federator::ManagerImpl::info_ [private]

The Info object reference to update.

RepoKey OpenDDS::Federator::ManagerImpl::joiner_ [private]

Simple recursion avoidance during the join operations.

ACE_Condition<ACE_SYNCH_MUTEX> OpenDDS::Federator::ManagerImpl::joining_ [private]

Condition used to gate joining activities.

RepoKey OpenDDS::Federator::ManagerImpl::joinRepo_ [private]

Repository to which we joined.

::OpenDDS::DCPS::DCPSInfo_var OpenDDS::Federator::ManagerImpl::localRepo_ [private]

Remotely callable reference to the local repository.

ACE_SYNCH_MUTEX OpenDDS::Federator::ManagerImpl::lock_ [private]

Critical section MUTEX.

bool OpenDDS::Federator::ManagerImpl::multicastEnabled_ [private]

Is multicast enabled?

InfoRepoMulticastResponder OpenDDS::Federator::ManagerImpl::multicastResponder_ [private]

Multicast responder.

CORBA::ORB_var OpenDDS::Federator::ManagerImpl::orb_ [private]

The ORB in which we are activated.

UpdateListener< OwnerUpdate, OwnerUpdateDataReader> OpenDDS::Federator::ManagerImpl::ownerListener_ [private]

TopicUpdate listener.

OwnerUpdateDataWriter_var OpenDDS::Federator::ManagerImpl::ownerWriter_ [private]

TopicUpdate writer.

UpdateListener< ParticipantUpdate, ParticipantUpdateDataReader> OpenDDS::Federator::ManagerImpl::participantListener_ [private]

ParticipantUpdate listener.

ParticipantUpdateDataWriter_var OpenDDS::Federator::ManagerImpl::participantWriter_ [private]

ParticipantUpdate writer.

IdToManagerMap OpenDDS::Federator::ManagerImpl::peers_ [private]

The peer with which we have federated.

UpdateListener< PublicationUpdate, PublicationUpdateDataReader> OpenDDS::Federator::ManagerImpl::publicationListener_ [private]

PublicationUpdate listener.

PublicationUpdateDataWriter_var OpenDDS::Federator::ManagerImpl::publicationWriter_ [private]

PublicationUpdate writer.

::OpenDDS::DCPS::SequenceNumber OpenDDS::Federator::ManagerImpl::sequence_ [private]

The packet sequence number for data that we publish.

UpdateListener< SubscriptionUpdate, SubscriptionUpdateDataReader> OpenDDS::Federator::ManagerImpl::subscriptionListener_ [private]

SubscriptionUpdate listener.

SubscriptionUpdateDataWriter_var OpenDDS::Federator::ManagerImpl::subscriptionWriter_ [private]

SubscriptionUpdate writer.

UpdateListener< TopicUpdate, TopicUpdateDataReader> OpenDDS::Federator::ManagerImpl::topicListener_ [private]

TopicUpdate listener.

TopicUpdateDataWriter_var OpenDDS::Federator::ManagerImpl::topicWriter_ [private]

TopicUpdate writer.


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