TAO_CosNotification  2.1.6
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Types | Private Member Functions | Private Attributes
TAO_Notify::Reconnection_Registry Class Reference

Implementation of ReconnectionRegistry. More...

#include <Reconnection_Registry.h>

Inheritance diagram for TAO_Notify::Reconnection_Registry:
Inheritance graph
Collaboration diagram for TAO_Notify::Reconnection_Registry:
Collaboration graph

List of all members.

Public Member Functions

 Reconnection_Registry (Topology_Parent &parent)
 Constructor.
virtual ~Reconnection_Registry ()
 Destructor.
::NotifyExt::ReconnectionRegistry::ReconnectionID register_callback (::NotifyExt::ReconnectionCallback_ptr callback)
 Add a new callback to the registry.
void unregister_callback (::NotifyExt::ReconnectionRegistry::ReconnectionID id)
CORBA::Boolean is_alive (void)
virtual void save_persistent (Topology_Saver &saver)
virtual Topology_Objectload_child (const ACE_CString &type, CORBA::Long id, const NVPList &attrs)
 Create a child of the appropriate type and return it.
void send_reconnect (CosNotifyChannelAdmin::EventChannelFactory_ptr dest_factory)
- Public Member Functions inherited from TAO_Notify::Topology_Object
 Topology_Object ()
 The constructor.
virtual ~Topology_Object ()
 The destructor.
virtual void initialize (Topology_Parent *topology_parent)
 Init this object with data from <rhs>.
virtual TAO_Notify_Object::ID get_id (void) const
 Find the id associated with topology object.
void get_id_path (IdVec &id_path) const
 Get the path of id's from the root to this object.
bool is_changed (void) const
 Is there an unsaved change for this object or its children?
- Public Member Functions inherited from TAO_Notify_Object
virtual ~TAO_Notify_Object (void)
 Destructor.
ID id (void) const
 This Object's ID.
virtual CORBA::Object_ptr activate (PortableServer::Servant servant)
 Activate.
virtual CORBA::Object_ptr activate (PortableServer::Servant servant, CORBA::Long id)
 Activate with existing id.
void deactivate (void)
 Deactivate.
bool has_shutdown (void)
 Have we been shutdown. returns true if shutdown.
void execute_task (TAO_Notify_Method_Request &method_request)
CORBA::Object_ptr ref (void)
 Get CORBA Ref.
virtual void set_qos (const CosNotification::QoSProperties &qos)
 Set the QoS Properties.
CosNotification::QoSPropertiesget_qos (void)
 Get the QoS Properties.
bool find_qos_property_value (const char *name, CosNotification::PropertyValue &value) const
virtual TAO_Notify_Timertimer (void)
 Obtain the Timer manager associated with this object.
TAO_Notify_Event_Managerevent_manager (void)
 Accessor for the Event Manager.
virtual int shutdown (void)
 Shutdown. Returns 1 if the shutdown was already run once before.
virtual void load_attrs (const TAO_Notify::NVPList &attrs)
TAO_Notify_Worker_Taskget_worker_task (void)
 Allow access to the underlying worker task.
- Public Member Functions inherited from TAO_Notify_Refcountable
 TAO_Notify_Refcountable (void)
 Constructor.
virtual ~TAO_Notify_Refcountable ()
CORBA::ULong _incr_refcnt (void)
CORBA::ULong _decr_refcnt (void)
- Public Member Functions inherited from TAO_Notify::Topology_Savable
virtual ~Topology_Savable (void)
 Destructor.
virtual void reconnect (void)

Private Types

typedef
ACE_Hash_Map_Manager_Ex
< NotifyExt::ReconnectionRegistry::ReconnectionID,
ACE_CString, ACE_Hash
< NotifyExt::ReconnectionRegistry::ReconnectionID >
, ACE_Equal_To
< NotifyExt::ReconnectionRegistry::ReconnectionID >
, ACE_SYNCH_NULL_MUTEX
Reconnection_Registry_Type
 The registry consists of a map from ReconnectionID to stringified IOR.

Private Member Functions

void release (void)
 The release method is called when the refcount reaches 0.

Private Attributes

Reconnection_Registry_Type reconnection_registry_
::NotifyExt::ReconnectionRegistry::ReconnectionID highest_id_

Additional Inherited Members

- Protected Member Functions inherited from TAO_Notify::Topology_Object
virtual bool is_persistent (void) const
 Should this object be saved?
bool self_change (void)
 Method to report change in this object.
Topology_Parenttopology_parent () const
 pointer to our topological parent
bool send_change (void)
 Handle details of propagating change.
bool send_deletion_change ()
 Handle details of propagating change for a deleted object.
- Protected Member Functions inherited from TAO_Notify_Object
 TAO_Notify_Object (void)
 Constructor.
void initialize (TAO_Notify_Object *parent)
 Init this object with data from <rhs>.
void inherit_poas (TAO_Notify_Object &parent)
 Uses the poas from the supplied object.
void adopt_poa (TAO_Notify_POA_Helper *single)
 Adopts the supplied poa as all are poas.
void set_primary_as_proxy_poa ()
 Changes the primary poa to the current proxy poa.
TAO_Notify_POA_Helperproxy_poa (void)
 Accessor for the proxy_poa_.
TAO_Notify_POA_Helperobject_poa (void)
 Accessor for the object_poa_.
TAO_Notify_POA_Helperpoa (void)
 Get the POA assigned to us.
void set_event_manager (TAO_Notify_Event_Manager *event_manager)
void set_admin_properties (TAO_Notify_AdminProperties *admin_properties)
TAO_Notify_AdminPropertiesadmin_properties (void)
 Accessor for the Admin Properties.
virtual void qos_changed (const TAO_Notify_QoSProperties &qos_properties)
virtual void save_attrs (TAO_Notify::NVPList &attrs)
- Protected Attributes inherited from TAO_Notify::Topology_Object
bool self_changed_
 true if this object changed since last save_persistent
bool children_changed_
 true of any of this object's children changed since last save_persistent
Topology_Parenttopology_parent_
 A safely-typed copy of parent_;.
- Protected Attributes inherited from TAO_Notify_Object
TAO_Notify_QoSProperties qos_properties_
 = Protected data members.
TAO_SYNCH_MUTEX lock_
 The mutex to serialize access to state variables.

Detailed Description

Implementation of ReconnectionRegistry.


Member Typedef Documentation

typedef ACE_Hash_Map_Manager_Ex<NotifyExt::ReconnectionRegistry::ReconnectionID, ACE_CString, ACE_Hash<NotifyExt::ReconnectionRegistry::ReconnectionID>, ACE_Equal_To<NotifyExt::ReconnectionRegistry::ReconnectionID>, ACE_SYNCH_NULL_MUTEX> TAO_Notify::Reconnection_Registry::Reconnection_Registry_Type
private

The registry consists of a map from ReconnectionID to stringified IOR.


Constructor & Destructor Documentation

TAO_Notify::Reconnection_Registry::Reconnection_Registry ( Topology_Parent parent)

Constructor.

TAO_Notify::Reconnection_Registry::~Reconnection_Registry ( )
virtual

Destructor.


Member Function Documentation

CORBA::Boolean TAO_Notify::Reconnection_Registry::is_alive ( void  )
Topology_Object * TAO_Notify::Reconnection_Registry::load_child ( const ACE_CString type,
CORBA::Long  id,
const NVPList attrs 
)
virtual

Create a child of the appropriate type and return it.

Use "type" as passed in to determine what kind of child (supporting the Topology_Object interface) to create and return. Inform it of its new ID.

Reimplemented from TAO_Notify::Topology_Object.

NotifyExt::ReconnectionRegistry::ReconnectionID TAO_Notify::Reconnection_Registry::register_callback ( ::NotifyExt::ReconnectionCallback_ptr  callback)

Add a new callback to the registry.

void TAO_Notify::Reconnection_Registry::release ( void  )
privatevirtual

The release method is called when the refcount reaches 0.

Implements TAO_Notify_Refcountable.

void TAO_Notify::Reconnection_Registry::save_persistent ( Topology_Saver saver)
virtual

Save our state to a Topology_Saver.

Use the methods of a Topology_Saver to store all information we want persisted. This function is called by our parent, which gives us a saver to use. In turn, we must call this function on all of our children. The implementation should look like: bool change = this->self_changed_; this->self_changed_ = false; this->children_changed_ = false; if (is_persistent ()) { bool want_all_children = saver.begin_object( this->id(), type, attrs, change); for all children { if (want_all_children || child.is_changed()) { child.save_persistent(saver); } } for all deleted children { saver.delete_child(child_type, child_id); } saver.end_object(this->id(), type); )

Implements TAO_Notify::Topology_Savable.

void TAO_Notify::Reconnection_Registry::send_reconnect ( CosNotifyChannelAdmin::EventChannelFactory_ptr  dest_factory)
void TAO_Notify::Reconnection_Registry::unregister_callback ( ::NotifyExt::ReconnectionRegistry::ReconnectionID  id)

Member Data Documentation

::NotifyExt::ReconnectionRegistry::ReconnectionID TAO_Notify::Reconnection_Registry::highest_id_
private
Reconnection_Registry_Type TAO_Notify::Reconnection_Registry::reconnection_registry_
private

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