Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

TAO_CEC_ProxyPushSupplier Class Reference

ProxyPushSupplier. More...

#include <CEC_ProxyPushSupplier.h>

Collaboration diagram for TAO_CEC_ProxyPushSupplier:

Collaboration graph
List of all members.

Public Types

typedef CosEventChannelAdmin::ProxyPushSupplier_ptr _ptr_type
typedef CosEventChannelAdmin::ProxyPushSupplier_var _var_type

Public Member Functions

 TAO_CEC_ProxyPushSupplier (TAO_CEC_EventChannel *event_channel)
virtual ~TAO_CEC_ProxyPushSupplier (void)
CosEventComm::PushConsumer_ptr consumer (void) const
virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL)
 The event channel is shutting down.
virtual void push (const CORBA::Any &event ACE_ENV_ARG_DECL)
 Internal methods to push an event to each consumer.
virtual void push_nocopy (CORBA::Any &event ACE_ENV_ARG_DECL)
void push_to_consumer (const CORBA::Any &event ACE_ENV_ARG_DECL)
 Pushes to the consumer, verifies that it is connected.
void reactive_push_to_consumer (const CORBA::Any &event ACE_ENV_ARG_DECL)
CORBA::Boolean consumer_non_existent (CORBA::Boolean_out disconnected ACE_ENV_ARG_DECL)
CORBA::ULong _decr_refcnt (void)
virtual PortableServer::POA_ptr _default_POA (ACE_ENV_SINGLE_ARG_DECL)
virtual void _add_ref (ACE_ENV_SINGLE_ARG_DECL)
virtual void _remove_ref (ACE_ENV_SINGLE_ARG_DECL)

Public Attributes

virtual void virtual activate(CosEventChannelAdmin::ProxyPushSupplier_ptr
is_connected )(void) const
 Return 0 if no consumer is connected...
virtual void virtual connect_push_consumer(CosEventComm::PushConsumer_ptr
push_consumer ACE_ENV_ARG_DECL_NOT_USED)
_incr_refcnt )(void)
 Increment and decrement the reference count.

Protected Member Functions

void consumer (CosEventComm::PushConsumer_ptr consumer)
void consumer_i (CosEventComm::PushConsumer_ptr consumer)
CORBA::Boolean is_connected_i (void) const
 The private version (without locking) of is_connected().
void cleanup_i (void)
 Release the child and the consumer.

Private Attributes

 The Event Channel that owns this object.
 The locking strategy.
CORBA::ULong refcount_
 The reference count.
CosEventComm::PushConsumer_var consumer_
 The consumer....
PortableServer::POA_var default_POA_
 Store the default POA.

Detailed Description


Implement the CosEventChannelAdmin::ProxyPushSupplier interface, remember that this class is used to communicate with a PushConsumer, so, in effect, this is the ambassador for a consumer inside the event channel. = MEMORY MANAGMENT It does not assume ownership of the TAO_CEC_Dispatching object. It makes a copy of the ConsumerQOS and the consumer object reference. = LOCKING Locking is strategized, the event channel acts as a factory for the locking strategies.

Member Typedef Documentation

typedef CosEventChannelAdmin::ProxyPushSupplier_ptr TAO_CEC_ProxyPushSupplier::_ptr_type

typedef CosEventChannelAdmin::ProxyPushSupplier_var TAO_CEC_ProxyPushSupplier::_var_type

Constructor & Destructor Documentation

TAO_CEC_ProxyPushSupplier::TAO_CEC_ProxyPushSupplier TAO_CEC_EventChannel event_channel  ) 


TAO_CEC_ProxyPushSupplier::~TAO_CEC_ProxyPushSupplier void   )  [virtual]


Member Function Documentation

void TAO_CEC_ProxyPushSupplier::_add_ref ACE_ENV_SINGLE_ARG_DECL   )  [virtual]

CORBA::ULong TAO_CEC_ProxyPushSupplier::_decr_refcnt void   ) 

PortableServer::POA_ptr TAO_CEC_ProxyPushSupplier::_default_POA ACE_ENV_SINGLE_ARG_DECL   )  [virtual]

void TAO_CEC_ProxyPushSupplier::_remove_ref ACE_ENV_SINGLE_ARG_DECL   )  [virtual]

void TAO_CEC_ProxyPushSupplier::cleanup_i void   )  [protected]

Release the child and the consumer.

ACE_INLINE void TAO_CEC_ProxyPushSupplier::consumer CosEventComm::PushConsumer_ptr  consumer  )  [protected]

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

ACE_INLINE CosEventComm::PushConsumer_ptr TAO_CEC_ProxyPushSupplier::consumer void   )  const

Return the consumer object reference. It returns nil() if it has not connected yet. NOTE: This method does not return a new reference!!! Doing so will increase the locking overhead on the critical path.

ACE_INLINE void TAO_CEC_ProxyPushSupplier::consumer_i CosEventComm::PushConsumer_ptr  consumer  )  [protected]

CORBA::Boolean TAO_CEC_ProxyPushSupplier::consumer_non_existent CORBA::Boolean_out disconnected  ACE_ENV_ARG_DECL  ) 

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

ACE_INLINE CORBA::Boolean TAO_CEC_ProxyPushSupplier::is_connected_i void   )  const [protected]

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

void TAO_CEC_ProxyPushSupplier::push const CORBA::Any &event  ACE_ENV_ARG_DECL  )  [virtual]

Internal methods to push an event to each consumer.

void TAO_CEC_ProxyPushSupplier::push_nocopy CORBA::Any &event  ACE_ENV_ARG_DECL  )  [virtual]

void TAO_CEC_ProxyPushSupplier::push_to_consumer const CORBA::Any &event  ACE_ENV_ARG_DECL  ) 

Pushes to the consumer, verifies that it is connected.

void TAO_CEC_ProxyPushSupplier::reactive_push_to_consumer const CORBA::Any &event  ACE_ENV_ARG_DECL  ) 

void TAO_CEC_ProxyPushSupplier::shutdown ACE_ENV_SINGLE_ARG_DECL   )  [virtual]

The event channel is shutting down.

Member Data Documentation

CORBA::ULong TAO_CEC_ProxyPushSupplier::_incr_refcnt

Increment and decrement the reference count.

CosEventComm::PushConsumer_var TAO_CEC_ProxyPushSupplier::consumer_ [private]

The consumer....

PortableServer::POA_var TAO_CEC_ProxyPushSupplier::default_POA_ [private]

Store the default POA.

TAO_CEC_EventChannel* TAO_CEC_ProxyPushSupplier::event_channel_ [private]

The Event Channel that owns this object.

ACE_INLINE CORBA::Boolean TAO_CEC_ProxyPushSupplier::is_connected

Return 0 if no consumer is connected...

ACE_Lock* TAO_CEC_ProxyPushSupplier::lock_ [private]

The locking strategy.

CORBA::ULong TAO_CEC_ProxyPushSupplier::refcount_ [private]

The reference count.

The documentation for this class was generated from the following files:
Generated on Fri Dec 31 16:03:55 2004 for TAO_CosEvent by  doxygen