TAO_CosNotification
2.4.1
|
Implementation of CosNotifyChannelAdmin::EventChannelFactory. More...
#include <EventChannelFactory.h>
Public Types | |
typedef TAO_Notify_Refcountable_Guard_T< TAO_Notify_EventChannelFactory > | Ptr |
Public Types inherited from TAO_Notify_Object | |
typedef CORBA::Long | ID |
Id for Objects. More... | |
Public Types inherited from TAO_Notify_Refcountable | |
typedef TAO_Notify_Refcountable_Guard_T< TAO_Notify_Refcountable > | Ptr |
Public Member Functions | |
TAO_Notify_EventChannelFactory (void) | |
Constructor. More... | |
void | init (PortableServer::POA_ptr poa) |
Init the factory. More... | |
virtual | ~TAO_Notify_EventChannelFactory () |
Destructor. More... | |
virtual void | _add_ref (void) |
= ServantBase Methods More... | |
virtual void | _remove_ref (void) |
virtual void | remove (TAO_Notify_EventChannel *channel) |
Remove channel from the <ec_container_> More... | |
virtual CosNotifyChannelAdmin::EventChannel_ptr | create_named_channel (const CosNotification::QoSProperties &initial_qos, const CosNotification::AdminProperties &initial_admin, CosNotifyChannelAdmin::ChannelID_out id, const char *name) |
void | load_topology (void) |
void | set_topology_factory (TAO_Notify::Topology_Factory *sf) |
virtual bool | is_persistent (void) const |
Should this object be saved? More... | |
virtual void | save_persistent (TAO_Notify::Topology_Saver &saver) |
virtual bool | change_to_parent (void) |
Send change to parent. More... | |
virtual TAO_Notify::Topology_Object * | load_child (const ACE_CString &type, CORBA::Long id, const TAO_Notify::NVPList &attrs) |
Create a child of the appropriate type and return it. More... | |
CosNotifyChannelAdmin::EventChannelFactory_ptr | activate_self (void) |
virtual void | reconnect (void) |
virtual void | validate () |
void | stop_validator (void) |
at shutdown time, this causes the validator thread to exit. More... | |
bool | handle_change (void) |
Handle change notifications. More... | |
void | load_event_persistence (void) |
virtual void | save_topology (void) |
TAO_Notify_ProxyConsumer * | find_proxy_consumer (TAO_Notify::IdVec &id_path, size_t position) |
TAO_Notify_ProxySupplier * | find_proxy_supplier (TAO_Notify::IdVec &id_path, size_t position) |
TAO_Notify_Object * | follow_id_path (TAO_Notify::IdVec &id_path, size_t position) |
virtual TAO_Notify_Object::ID | get_id (void) const |
Find the id associated with topology object. More... | |
Public Member Functions inherited from TAO_Notify::Topology_Parent | |
bool | child_change (void) |
Public Member Functions inherited from TAO_Notify::Topology_Object | |
Topology_Object () | |
The constructor. More... | |
virtual | ~Topology_Object () |
The destructor. More... | |
virtual void | initialize (Topology_Parent *topology_parent) |
Init this object with data from <rhs>. More... | |
void | get_id_path (IdVec &id_path) const |
Get the path of id's from the root to this object. More... | |
bool | is_changed (void) const |
Is there an unsaved change for this object or its children? More... | |
Public Member Functions inherited from TAO_Notify_Object | |
virtual | ~TAO_Notify_Object (void) |
Destructor. More... | |
ID | id (void) const |
This Object's ID. More... | |
virtual CORBA::Object_ptr | activate (PortableServer::Servant servant) |
Activate. More... | |
virtual CORBA::Object_ptr | activate (PortableServer::Servant servant, CORBA::Long id) |
Activate with existing id. More... | |
void | deactivate (void) |
Deactivate. More... | |
bool | has_shutdown (void) |
Have we been shutdown. returns true if shutdown. More... | |
void | execute_task (TAO_Notify_Method_Request &method_request) |
CORBA::Object_ptr | ref (void) |
Get CORBA Ref. More... | |
virtual void | set_qos (const CosNotification::QoSProperties &qos) |
Set the QoS Properties. More... | |
CosNotification::QoSProperties * | get_qos (void) |
Get the QoS Properties. More... | |
bool | find_qos_property_value (const char *name, CosNotification::PropertyValue &value) const |
virtual TAO_Notify_Timer * | timer (void) |
Obtain the Timer manager associated with this object. More... | |
TAO_Notify_Event_Manager & | event_manager (void) |
Accessor for the Event Manager. More... | |
virtual void | load_attrs (const TAO_Notify::NVPList &attrs) |
TAO_Notify_Worker_Task * | get_worker_task (void) |
Allow access to the underlying worker task. More... | |
Public Member Functions inherited from TAO_Notify_Refcountable | |
TAO_Notify_Refcountable (void) | |
Constructor. More... | |
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. More... | |
Protected Member Functions | |
virtual ::CosNotifyChannelAdmin::EventChannel_ptr | create_channel (const CosNotification::QoSProperties &initial_qos, const CosNotification::AdminProperties &initial_admin, CosNotifyChannelAdmin::ChannelID_out id) |
= CosNotifyChannelAdmin Methods More... | |
virtual ::CosNotifyChannelAdmin::ChannelIDSeq * | get_all_channels (void) |
virtual ::CosNotifyChannelAdmin::EventChannel_ptr | get_event_channel (CosNotifyChannelAdmin::ChannelID id) |
Protected Member Functions inherited from TAO_Notify::Topology_Object | |
bool | self_change (void) |
Method to report change in this object. More... | |
Topology_Parent * | topology_parent () const |
pointer to our topological parent More... | |
bool | send_change (void) |
Handle details of propagating change. More... | |
bool | send_deletion_change () |
Handle details of propagating change for a deleted object. More... | |
Protected Member Functions inherited from TAO_Notify_Object | |
TAO_Notify_Object (void) | |
Constructor. More... | |
void | initialize (TAO_Notify_Object *parent) |
Init this object with data from <rhs>. More... | |
void | inherit_poas (TAO_Notify_Object &parent) |
Uses the poas from the supplied object. More... | |
void | adopt_poa (TAO_Notify_POA_Helper *single) |
Adopts the supplied poa as all are poas. More... | |
void | set_primary_as_proxy_poa () |
Changes the primary poa to the current proxy poa. More... | |
TAO_Notify_POA_Helper * | proxy_poa (void) |
Accessor for the proxy_poa_. More... | |
TAO_Notify_POA_Helper * | object_poa (void) |
Accessor for the object_poa_. More... | |
TAO_Notify_POA_Helper * | poa (void) |
Get the POA assigned to us. More... | |
void | set_event_manager (TAO_Notify_Event_Manager *event_manager) |
void | set_admin_properties (TAO_Notify_AdminProperties *admin_properties) |
TAO_Notify_AdminProperties & | admin_properties (void) |
Accessor for the Admin Properties. More... | |
virtual void | qos_changed (const TAO_Notify_QoSProperties &qos_properties) |
virtual void | save_attrs (TAO_Notify::NVPList &attrs) |
Private Types | |
typedef ACE_Unbounded_Set< TAO_Notify::Routing_Slip_Ptr > | Routing_Slip_Set |
typedef TAO_Notify_Container_T< TAO_Notify_EventChannel > | TAO_Notify_EventChannel_Container |
Private Member Functions | |
virtual void | destroy (void) |
= Data Members More... | |
virtual int | shutdown (void) |
shutdown More... | |
virtual NotifyExt::ReconnectionRegistry::ReconnectionID | register_callback (NotifyExt::ReconnectionCallback_ptr reconnection) |
virtual void | unregister_callback (NotifyExt::ReconnectionRegistry::ReconnectionID id) |
virtual CORBA::Boolean | is_alive (void) |
TAO_Notify_EventChannel_Container & | ec_container () |
virtual void | release (void) |
Release this object. More... | |
Private Attributes | |
ACE_Auto_Ptr< TAO_Notify_EventChannel_Container > | ec_container_ |
Container for Event Channels. More... | |
TAO_SYNCH_MUTEX | topology_save_lock_ |
CosNotifyChannelAdmin::EventChannelFactory_var | channel_factory_ |
short | topology_save_seq_ |
Change-in-progress detector to avoid duplicates. More... | |
TAO_Notify::Topology_Factory * | topology_factory_ |
TAO_Notify::Reconnection_Registry | reconnect_registry_ |
bool | loading_topology_ |
Routing_Slip_Set | routing_slip_restart_set_ |
ACE_Auto_Ptr< TAO_Notify_validate_client_Task > | validate_client_task_ |
PortableServer::POA_var | poa_ |
Friends | |
class | TAO_Notify_Builder |
Additional Inherited Members | |
Protected Attributes inherited from TAO_Notify::Topology_Object | |
bool | self_changed_ |
true if this object changed since last save_persistent More... | |
bool | children_changed_ |
true of any of this object's children changed since last save_persistent More... | |
Topology_Parent * | topology_parent_ |
A safely-typed copy of parent_;. More... | |
Protected Attributes inherited from TAO_Notify_Object | |
TAO_Notify_QoSProperties | qos_properties_ |
= Protected data members. More... | |
TAO_SYNCH_MUTEX | lock_ |
The mutex to serialize access to state variables. More... | |
Implementation of CosNotifyChannelAdmin::EventChannelFactory.
typedef TAO_Notify_Refcountable_Guard_T< TAO_Notify_EventChannelFactory > TAO_Notify_EventChannelFactory::Ptr |
|
private |
|
private |
TAO_Notify_EventChannelFactory::TAO_Notify_EventChannelFactory | ( | void | ) |
Constructor.
|
virtual |
Destructor.
|
virtual |
= ServantBase Methods
|
virtual |
CosNotifyChannelAdmin::EventChannelFactory_ptr TAO_Notify_EventChannelFactory::activate_self | ( | void | ) |
|
virtual |
Send change to parent.
Override this if you don't expect to have a parent (top level of tree) private virtual because this should only be called from send_change()
Reimplemented from TAO_Notify::Topology_Object.
|
protected |
= CosNotifyChannelAdmin Methods
|
virtual |
This method is called by the Notify_Service when the event channel is automatically created and bound in the name service.
|
privatevirtual |
= Data Members
= NotifyExt methods
|
private |
TAO_Notify_ProxyConsumer * TAO_Notify_EventChannelFactory::find_proxy_consumer | ( | TAO_Notify::IdVec & | id_path, |
size_t | position | ||
) |
TAO_Notify_ProxySupplier * TAO_Notify_EventChannelFactory::find_proxy_supplier | ( | TAO_Notify::IdVec & | id_path, |
size_t | position | ||
) |
TAO_Notify_Object* TAO_Notify_EventChannelFactory::follow_id_path | ( | TAO_Notify::IdVec & | id_path, |
size_t | position | ||
) |
|
protected |
|
protected |
|
virtual |
Find the id associated with topology object.
A bit of a hack because id is unknown to Topology_Object the get_id returns the same thing as id – we just need someone to find it for us.
Reimplemented from TAO_Notify::Topology_Object.
bool TAO_Notify_EventChannelFactory::handle_change | ( | void | ) |
Handle change notifications.
void TAO_Notify_EventChannelFactory::init | ( | PortableServer::POA_ptr | poa | ) |
Init the factory.
|
privatevirtual |
|
virtual |
Should this object be saved?
This is a way for send_change() and save_persistent() to find out if this object has a persistent QoS connection property.
Reimplemented from TAO_Notify::Topology_Object.
|
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.
void TAO_Notify_EventChannelFactory::load_event_persistence | ( | void | ) |
void TAO_Notify_EventChannelFactory::load_topology | ( | void | ) |
Use the registered Topology_Factory to create a loader, and load the topology. If no Topology_Factory is registered then nothing will be loaded.
|
virtual |
Re-establish connections that we had before a shutdown.
After a topology restore, this method is called so we can reconnect to any external objects with whom we were interacting. We should call the reconnect() method on all of our children to give them the chance to do the same.
Reimplemented from TAO_Notify::Topology_Savable.
|
privatevirtual |
|
privatevirtual |
Release this object.
Implements TAO_Notify_Refcountable.
|
virtual |
Remove channel from the <ec_container_>
|
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.
|
virtual |
void TAO_Notify_EventChannelFactory::set_topology_factory | ( | TAO_Notify::Topology_Factory * | sf | ) |
Use the passed in saver factory to generate topology saver objects. Does not take ownership.
|
privatevirtual |
shutdown
Reimplemented from TAO_Notify_Object.
void TAO_Notify_EventChannelFactory::stop_validator | ( | void | ) |
at shutdown time, this causes the validator thread to exit.
|
privatevirtual |
|
virtual |
|
friend |
|
private |
|
private |
Container for Event Channels.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Change-in-progress detector to avoid duplicates.
|
private |