Public Types | Public Member Functions | Protected Member Functions | Private Attributes | Friends

TAO_CEC_ProxyPushConsumer Class Reference

ProxyPushConsumer. More...

#include <CEC_ProxyPushConsumer.h>

Collaboration diagram for TAO_CEC_ProxyPushConsumer:
Collaboration graph
[legend]

List of all members.

Public Types

typedef
CosEventChannelAdmin::ProxyPushConsumer_ptr 
_ptr_type
typedef
CosEventChannelAdmin::ProxyPushConsumer_var 
_var_type

Public Member Functions

 TAO_CEC_ProxyPushConsumer (TAO_CEC_EventChannel *event_channel, const ACE_Time_Value &timeout)
 constructor...
virtual ~TAO_CEC_ProxyPushConsumer (void)
 destructor...
virtual void activate (CosEventChannelAdmin::ProxyPushConsumer_ptr &activated_proxy)
 Activate in the POA.
virtual void deactivate (void)
 Deactivate from the POA.
CORBA::Boolean is_connected (void) const
 Return false if no supplier is connected...
CosEventComm::PushSupplier_ptr supplier (void) const
CORBA::Boolean supplier_non_existent (CORBA::Boolean_out disconnected)
virtual void shutdown (void)
 The event channel is shutting down.
CORBA::ULong _incr_refcnt (void)
 Increment and decrement the reference count.
CORBA::ULong _decr_refcnt (void)
virtual void connect_push_supplier (CosEventComm::PushSupplier_ptr push_supplier)
virtual void push (const CORBA::Any &event)
virtual void disconnect_push_consumer (void)
virtual PortableServer::POA_ptr _default_POA (void)
virtual void _add_ref (void)
virtual void _remove_ref (void)

Protected Member Functions

void supplier (CosEventComm::PushSupplier_ptr supplier)
void supplier_i (CosEventComm::PushSupplier_ptr supplier)
CORBA::Boolean is_connected_i (void) const
 The private version (without locking) of is_connected().
void cleanup_i (void)
 Release the supplier.
CosEventComm::PushSupplier_ptr apply_policy (CosEventComm::PushSupplier_ptr s)

Private Attributes

TAO_CEC_EventChannelevent_channel_
 The supplier admin, used for activation and memory managment.
ACE_Time_Value timeout_
ACE_Locklock_
 The locking strategy.
CORBA::ULong refcount_
 The reference count.
CosEventComm::PushSupplier_var supplier_
CosEventComm::PushSupplier_var nopolicy_supplier_
 The supplier without any policies applied.
bool connected_
PortableServer::POA_var default_POA_
 Store the default POA.

Friends

class TAO_CEC_ProxyPushConsumer_Guard

Detailed Description

ProxyPushConsumer.

Implement the CosEventChannelAdmin::ProxyPushConsumer interface, remember that this class is used to communicate with a PushSupplier, so, in effect, this is the ambassador for a supplier inside the event channel. = MEMORY MANAGMENT The object commits suicide when disconnect_push_consumer() is called.


Member Typedef Documentation

typedef CosEventChannelAdmin::ProxyPushConsumer_ptr TAO_CEC_ProxyPushConsumer::_ptr_type
typedef CosEventChannelAdmin::ProxyPushConsumer_var TAO_CEC_ProxyPushConsumer::_var_type

Constructor & Destructor Documentation

TAO_CEC_ProxyPushConsumer::TAO_CEC_ProxyPushConsumer ( TAO_CEC_EventChannel event_channel,
const ACE_Time_Value timeout 
)

constructor...

TAO_CEC_ProxyPushConsumer::~TAO_CEC_ProxyPushConsumer ( void   ) [virtual]

destructor...


Member Function Documentation

void TAO_CEC_ProxyPushConsumer::_add_ref ( void   ) [virtual]
CORBA::ULong TAO_CEC_ProxyPushConsumer::_decr_refcnt ( void   )
PortableServer::POA_ptr TAO_CEC_ProxyPushConsumer::_default_POA ( void   ) [virtual]
CORBA::ULong TAO_CEC_ProxyPushConsumer::_incr_refcnt ( void   )

Increment and decrement the reference count.

void TAO_CEC_ProxyPushConsumer::_remove_ref ( void   ) [virtual]
void TAO_CEC_ProxyPushConsumer::activate ( CosEventChannelAdmin::ProxyPushConsumer_ptr &  activated_proxy ) [virtual]

Activate in the POA.

CosEventComm::PushSupplier_ptr TAO_CEC_ProxyPushConsumer::apply_policy ( CosEventComm::PushSupplier_ptr  s ) [protected]

Assigns the parameter to both supplier_ and nopolicy_supplier_, and applies policies (when appropriate) to supplier_.

void TAO_CEC_ProxyPushConsumer::cleanup_i ( void   ) [protected]

Release the supplier.

void TAO_CEC_ProxyPushConsumer::connect_push_supplier ( CosEventComm::PushSupplier_ptr  push_supplier ) [virtual]
void TAO_CEC_ProxyPushConsumer::deactivate ( void   ) [virtual]

Deactivate from the POA.

void TAO_CEC_ProxyPushConsumer::disconnect_push_consumer ( void   ) [virtual]
CORBA::Boolean TAO_CEC_ProxyPushConsumer::is_connected ( void   ) const

Return false if no supplier is connected...

CORBA::Boolean TAO_CEC_ProxyPushConsumer::is_connected_i ( void   ) const [protected]

The private version (without locking) of is_connected().

void TAO_CEC_ProxyPushConsumer::push ( const CORBA::Any &  event ) [virtual]
void TAO_CEC_ProxyPushConsumer::shutdown ( void   ) [virtual]

The event channel is shutting down.

void TAO_CEC_ProxyPushConsumer::supplier ( CosEventComm::PushSupplier_ptr  supplier ) [protected]

Set the supplier, used by some implementations to change the policies used when invoking operations on the supplier.

CosEventComm::PushSupplier_ptr TAO_CEC_ProxyPushConsumer::supplier ( void   ) const

Return the consumer object reference. It returns nil() if it has not connected yet.

void TAO_CEC_ProxyPushConsumer::supplier_i ( CosEventComm::PushSupplier_ptr  supplier ) [protected]
CORBA::Boolean TAO_CEC_ProxyPushConsumer::supplier_non_existent ( CORBA::Boolean_out  disconnected )

Invoke the _non_existent() pseudo-operation on the supplier. If it is disconnected then it returns true and sets the <disconnected> flag.


Friends And Related Function Documentation

friend class TAO_CEC_ProxyPushConsumer_Guard [friend]

Member Data Documentation

If the flag is true then we are connected, notice that the supplier can be nil.

Store the default POA.

The supplier admin, used for activation and memory managment.

The locking strategy.

CosEventComm::PushSupplier_var TAO_CEC_ProxyPushConsumer::nopolicy_supplier_ [private]

The supplier without any policies applied.

The reference count.

CosEventComm::PushSupplier_var TAO_CEC_ProxyPushConsumer::supplier_ [private]

The supplier -- use apply_policy() instead of assigning directly to supplier_. This will keep supplier_ and nopolicy_supplier_ in sync.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Defines