TAO_CosNotification 4.0.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
TAO_Notify_EventChannel Class Reference

Implementation of CosNotifyChannelAdmin::EventChannel. More...

#include <EventChannel.h>

Inheritance diagram for TAO_Notify_EventChannel:
Inheritance graph
[legend]
Collaboration diagram for TAO_Notify_EventChannel:
Collaboration graph
[legend]

Public Types

typedef TAO_Notify_Refcountable_Guard_T< TAO_Notify_EventChannelPtr
 
typedef CosNotifyChannelAdmin::ChannelIDSeq SEQ
 
typedef CosNotifyChannelAdmin::ChannelIDSeq_var SEQ_VAR
 
- Public Types inherited from TAO_Notify_Object
typedef CORBA::Long ID
 Id for Objects.
 
- Public Types inherited from TAO_Notify_Refcountable
typedef TAO_Notify_Refcountable_Guard_T< TAO_Notify_RefcountablePtr
 

Public Member Functions

 TAO_Notify_EventChannel ()
 Constructor.
 
virtual ~TAO_Notify_EventChannel ()
 Destructor.
 
void init (TAO_Notify_EventChannelFactory *ecf, const CosNotification::QoSProperties &initial_qos, const CosNotification::AdminProperties &initial_admin)
 Init.
 
void init (TAO_Notify::Topology_Parent *parent)
 Init (for reload)
 
void remove (TAO_Notify_ConsumerAdmin *consumer_admin)
 Remove ConsumerAdmin from its container.
 
void remove (TAO_Notify_SupplierAdmin *supplier_admin)
 Remove SupplierAdmin from its container.
 
virtual void _add_ref ()
 ServantBase refcount methods.
 
virtual void _remove_ref ()
 
virtual void save_persistent (TAO_Notify::Topology_Saver &saver)
 
virtual TAO_Notify::Topology_Objectload_child (const ACE_CString &type, CORBA::Long id, const TAO_Notify::NVPList &attrs)
 Create a child of the appropriate type and return it.
 
virtual void reconnect ()
 
virtual void validate ()
 
virtual TAO_Notify_Object::ID get_id () const
 Find the id associated with topology object.
 
TAO_Notify_ProxyConsumerfind_proxy_consumer (TAO_Notify::IdVec &id_path, size_t position)
 
TAO_Notify_ProxySupplierfind_proxy_supplier (TAO_Notify::IdVec &id_path, size_t position)
 
virtual void cleanup_proxy (CosNotifyChannelAdmin::ProxyID id, bool is_supplier, bool experienced_timeout)
 
virtual int shutdown ()
 Shutdown.
 
virtual void load_attrs (const TAO_Notify::NVPList &attrs)
 
virtual void destroy ()
 TAO_Notify_Container_T requires a destroy method.
 
virtual CosNotifyChannelAdmin::ConsumerAdmin_ptr get_consumeradmin (CosNotifyChannelAdmin::AdminID id)
 This is public to allow TAO_MonitorConsumerAdmin access.
 
virtual CosNotifyChannelAdmin::SupplierAdmin_ptr get_supplieradmin (CosNotifyChannelAdmin::AdminID id)
 This is public to allow TAO_MonitorSupplierAdmin access.
 
TAO_Notify_FilterFactorydefault_filter_factory_servant () const
 
- Public Member Functions inherited from TAO_Notify::Topology_Parent
bool child_change ()
 
- 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>.
 
void get_id_path (IdVec &id_path) const
 Get the path of id's from the root to this object.
 
bool is_changed () const
 Is there an unsaved change for this object or its children?
 
- Public Member Functions inherited from TAO_Notify_Object
virtual ~TAO_Notify_Object ()
 Destructor.
 
ID id () 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 ()
 Deactivate.
 
bool has_shutdown ()
 Have we been shutdown. returns true if shutdown.
 
void execute_task (TAO_Notify_Method_Request &method_request)
 
CORBA::Object_ptr ref ()
 Get CORBA Ref.
 
CosNotification::QoSPropertiesget_qos ()
 Get the QoS Properties.
 
bool find_qos_property_value (const char *name, CosNotification::PropertyValue &value) const
 
virtual TAO_Notify_Timertimer ()
 Obtain the Timer manager associated with this object.
 
TAO_Notify_Event_Managerevent_manager ()
 Accessor for the Event Manager.
 
TAO_Notify_Worker_Taskget_worker_task ()
 Allow access to the underlying worker task.
 
- Public Member Functions inherited from TAO_Notify_Refcountable
 TAO_Notify_Refcountable ()
 Constructor.
 
virtual ~TAO_Notify_Refcountable ()
 
CORBA::ULong _incr_refcnt ()
 
CORBA::ULong _decr_refcnt ()
 
- Public Member Functions inherited from TAO_Notify::Topology_Savable
virtual ~Topology_Savable ()
 Destructor.
 

Protected Member Functions

virtual::CosNotifyChannelAdmin::EventChannelFactory_ptr MyFactory ()
 =CosNotifyChannelAdmin::EventChannel methods
 
virtual::CosNotifyChannelAdmin::ConsumerAdmin_ptr default_consumer_admin ()
 
virtual::CosNotifyChannelAdmin::SupplierAdmin_ptr default_supplier_admin ()
 
virtual::CosNotifyFilter::FilterFactory_ptr default_filter_factory ()
 
virtual::CosNotifyChannelAdmin::ConsumerAdmin_ptr new_for_consumers (CosNotifyChannelAdmin::InterFilterGroupOperator op, CosNotifyChannelAdmin::AdminID_out id)
 
virtual::CosNotifyChannelAdmin::SupplierAdmin_ptr new_for_suppliers (CosNotifyChannelAdmin::InterFilterGroupOperator op, CosNotifyChannelAdmin::AdminID_out id)
 
virtual::CosNotifyChannelAdmin::AdminIDSeq * get_all_consumeradmins ()
 
virtual::CosNotifyChannelAdmin::AdminIDSeq * get_all_supplieradmins ()
 
virtual::CosNotification::QoSProperties * get_qos ()
 
virtual void set_qos (const CosNotification::QoSProperties &qos)
 Set the QoS Properties.
 
virtual void validate_qos (const CosNotification::QoSProperties &required_qos, CosNotification::NamedPropertyRangeSeq_out available_qos)
 
virtual::CosNotification::AdminProperties * get_admin ()
 
virtual void set_admin (const CosNotification::AdminProperties &admin)
 
virtual::CosEventChannelAdmin::ConsumerAdmin_ptr for_consumers ()
 
virtual::CosEventChannelAdmin::SupplierAdmin_ptr for_suppliers ()
 
- Protected Member Functions inherited from TAO_Notify::Topology_Object
virtual bool is_persistent () const
 Should this object be saved?
 
bool self_change ()
 Method to report change in this object.
 
Topology_Parenttopology_parent () const
 pointer to our topological parent
 
bool send_change ()
 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 ()
 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 ()
 Accessor for the proxy_poa_.
 
TAO_Notify_POA_Helperobject_poa ()
 Accessor for the object_poa_.
 
TAO_Notify_POA_Helperpoa ()
 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 ()
 Accessor for the Admin Properties.
 
virtual void qos_changed (const TAO_Notify_QoSProperties &qos_properties)
 

Private Types

typedef TAO_Notify_Container_T< TAO_Notify_ConsumerAdminTAO_Notify_ConsumerAdmin_Container
 
typedef TAO_Notify_Container_T< TAO_Notify_SupplierAdminTAO_Notify_SupplierAdmin_Container
 

Private Member Functions

virtual void save_attrs (TAO_Notify::NVPList &attrs)
 
TAO_Notify_ConsumerAdmin_Containerca_container ()
 
TAO_Notify_SupplierAdmin_Containersa_container ()
 
virtual void release ()
 The release method is called when the refcount reaches 0.
 

Private Attributes

TAO_Notify_EventChannelFactory::Ptr ecf_
 
TAO_SYNCH_MUTEX default_admin_mutex_
 
CosNotifyChannelAdmin::ConsumerAdmin_var default_consumer_admin_
 Default Consumer Admin.
 
CosNotifyChannelAdmin::SupplierAdmin_var default_supplier_admin_
 Default Supplier Admin.
 
std::unique_ptr< TAO_Notify_ConsumerAdmin_Containerca_container_
 ConsumerAdmin Container.
 
std::unique_ptr< TAO_Notify_SupplierAdmin_Containersa_container_
 SupplierAdmin Container.
 
CosNotifyFilter::FilterFactory_var default_filter_factory_
 The default filter factory.
 
TAO_Notify_FilterFactorydefault_filter_factory_servant_
 

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
 
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 CosNotifyChannelAdmin::EventChannel.

Member Typedef Documentation

◆ Ptr

◆ SEQ

◆ SEQ_VAR

typedef CosNotifyChannelAdmin::ChannelIDSeq_var TAO_Notify_EventChannel::SEQ_VAR

◆ TAO_Notify_ConsumerAdmin_Container

◆ TAO_Notify_SupplierAdmin_Container

Constructor & Destructor Documentation

◆ TAO_Notify_EventChannel()

TAO_Notify_EventChannel::TAO_Notify_EventChannel ( )

Constructor.

◆ ~TAO_Notify_EventChannel()

TAO_Notify_EventChannel::~TAO_Notify_EventChannel ( )
virtual

Destructor.

Member Function Documentation

◆ _add_ref()

void TAO_Notify_EventChannel::_add_ref ( )
virtual

ServantBase refcount methods.

◆ _remove_ref()

void TAO_Notify_EventChannel::_remove_ref ( )
virtual

◆ ca_container()

TAO_Notify_EventChannel::TAO_Notify_ConsumerAdmin_Container & TAO_Notify_EventChannel::ca_container ( )
private

◆ cleanup_proxy()

void TAO_Notify_EventChannel::cleanup_proxy ( CosNotifyChannelAdmin::ProxyID id,
bool is_supplier,
bool experienced_timeout )
virtual

◆ default_consumer_admin()

CosNotifyChannelAdmin::ConsumerAdmin_ptr TAO_Notify_EventChannel::default_consumer_admin ( )
protected

◆ default_filter_factory()

CosNotifyFilter::FilterFactory_ptr TAO_Notify_EventChannel::default_filter_factory ( )
protected

◆ default_filter_factory_servant()

TAO_Notify_FilterFactory * TAO_Notify_EventChannel::default_filter_factory_servant ( ) const

◆ default_supplier_admin()

CosNotifyChannelAdmin::SupplierAdmin_ptr TAO_Notify_EventChannel::default_supplier_admin ( )
protected

◆ destroy()

void TAO_Notify_EventChannel::destroy ( )
virtual

TAO_Notify_Container_T requires a destroy method.

◆ find_proxy_consumer()

TAO_Notify_ProxyConsumer * TAO_Notify_EventChannel::find_proxy_consumer ( TAO_Notify::IdVec & id_path,
size_t position )

◆ find_proxy_supplier()

TAO_Notify_ProxySupplier * TAO_Notify_EventChannel::find_proxy_supplier ( TAO_Notify::IdVec & id_path,
size_t position )

◆ for_consumers()

CosEventChannelAdmin::ConsumerAdmin_ptr TAO_Notify_EventChannel::for_consumers ( )
protected

◆ for_suppliers()

CosEventChannelAdmin::SupplierAdmin_ptr TAO_Notify_EventChannel::for_suppliers ( )
protected

◆ get_admin()

CosNotification::AdminProperties * TAO_Notify_EventChannel::get_admin ( )
protected

◆ get_all_consumeradmins()

CosNotifyChannelAdmin::AdminIDSeq * TAO_Notify_EventChannel::get_all_consumeradmins ( )
protected

◆ get_all_supplieradmins()

CosNotifyChannelAdmin::AdminIDSeq * TAO_Notify_EventChannel::get_all_supplieradmins ( )
protected

◆ get_consumeradmin()

CosNotifyChannelAdmin::ConsumerAdmin_ptr TAO_Notify_EventChannel::get_consumeradmin ( CosNotifyChannelAdmin::AdminID id)
virtual

This is public to allow TAO_MonitorConsumerAdmin access.

◆ get_id()

virtual TAO_Notify_Object::ID TAO_Notify_EventChannel::get_id ( ) const
inlinevirtual

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.

◆ get_qos()

CosNotification::QoSProperties * TAO_Notify_EventChannel::get_qos ( )
protected

◆ get_supplieradmin()

CosNotifyChannelAdmin::SupplierAdmin_ptr TAO_Notify_EventChannel::get_supplieradmin ( CosNotifyChannelAdmin::AdminID id)
virtual

This is public to allow TAO_MonitorSupplierAdmin access.

◆ init() [1/2]

void TAO_Notify_EventChannel::init ( TAO_Notify::Topology_Parent * parent)

Init (for reload)

◆ init() [2/2]

void TAO_Notify_EventChannel::init ( TAO_Notify_EventChannelFactory * ecf,
const CosNotification::QoSProperties & initial_qos,
const CosNotification::AdminProperties & initial_admin )

Init.

◆ load_attrs()

void TAO_Notify_EventChannel::load_attrs ( const TAO_Notify::NVPList & attrs)
virtual

Load our attributes. Each derived type should call the superclass load first before loading its own attributes.

Reimplemented from TAO_Notify_Object.

◆ load_child()

TAO_Notify::Topology_Object * TAO_Notify_EventChannel::load_child ( const ACE_CString & type,
CORBA::Long id,
const TAO_Notify::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.

◆ MyFactory()

CosNotifyChannelAdmin::EventChannelFactory_ptr TAO_Notify_EventChannel::MyFactory ( )
protected

◆ new_for_consumers()

CosNotifyChannelAdmin::ConsumerAdmin_ptr TAO_Notify_EventChannel::new_for_consumers ( CosNotifyChannelAdmin::InterFilterGroupOperator op,
CosNotifyChannelAdmin::AdminID_out id )
protected

◆ new_for_suppliers()

CosNotifyChannelAdmin::SupplierAdmin_ptr TAO_Notify_EventChannel::new_for_suppliers ( CosNotifyChannelAdmin::InterFilterGroupOperator op,
CosNotifyChannelAdmin::AdminID_out id )
protected

◆ reconnect()

void TAO_Notify_EventChannel::reconnect ( )
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.

◆ release()

void TAO_Notify_EventChannel::release ( )
privatevirtual

The release method is called when the refcount reaches 0.

Implements TAO_Notify_Refcountable.

◆ remove() [1/2]

void TAO_Notify_EventChannel::remove ( TAO_Notify_ConsumerAdmin * consumer_admin)

Remove ConsumerAdmin from its container.

◆ remove() [2/2]

void TAO_Notify_EventChannel::remove ( TAO_Notify_SupplierAdmin * supplier_admin)

Remove SupplierAdmin from its container.

◆ sa_container()

TAO_Notify_EventChannel::TAO_Notify_SupplierAdmin_Container & TAO_Notify_EventChannel::sa_container ( )
private

◆ save_attrs()

void TAO_Notify_EventChannel::save_attrs ( TAO_Notify::NVPList & attrs)
privatevirtual

Called by derived types to save their attributes. Each derived type should call its superclass version before saving its own attrs.

Reimplemented from TAO_Notify_Object.

◆ save_persistent()

void TAO_Notify_EventChannel::save_persistent ( TAO_Notify::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.

◆ set_admin()

void TAO_Notify_EventChannel::set_admin ( const CosNotification::AdminProperties & admin)
protectedvirtual

◆ set_qos()

void TAO_Notify_EventChannel::set_qos ( const CosNotification::QoSProperties & qos)
protectedvirtual

Set the QoS Properties.

Reimplemented from TAO_Notify_Object.

◆ shutdown()

int TAO_Notify_EventChannel::shutdown ( )
virtual

Shutdown.

Reimplemented from TAO_Notify_Object.

◆ validate()

void TAO_Notify_EventChannel::validate ( )
virtual

◆ validate_qos()

void TAO_Notify_EventChannel::validate_qos ( const CosNotification::QoSProperties & required_qos,
CosNotification::NamedPropertyRangeSeq_out available_qos )
protectedvirtual

Friends And Related Symbol Documentation

◆ TAO_Notify_Builder

friend class TAO_Notify_Builder
friend

Member Data Documentation

◆ ca_container_

std::unique_ptr<TAO_Notify_ConsumerAdmin_Container> TAO_Notify_EventChannel::ca_container_
private

ConsumerAdmin Container.

◆ default_admin_mutex_

TAO_SYNCH_MUTEX TAO_Notify_EventChannel::default_admin_mutex_
private

◆ default_consumer_admin_

CosNotifyChannelAdmin::ConsumerAdmin_var TAO_Notify_EventChannel::default_consumer_admin_
private

Default Consumer Admin.

◆ default_filter_factory_

CosNotifyFilter::FilterFactory_var TAO_Notify_EventChannel::default_filter_factory_
private

The default filter factory.

◆ default_filter_factory_servant_

TAO_Notify_FilterFactory* TAO_Notify_EventChannel::default_filter_factory_servant_
private

◆ default_supplier_admin_

CosNotifyChannelAdmin::SupplierAdmin_var TAO_Notify_EventChannel::default_supplier_admin_
private

Default Supplier Admin.

◆ ecf_

TAO_Notify_EventChannelFactory::Ptr TAO_Notify_EventChannel::ecf_
private

= Data Members The parent object.

◆ sa_container_

std::unique_ptr<TAO_Notify_SupplierAdmin_Container> TAO_Notify_EventChannel::sa_container_
private

SupplierAdmin Container.


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