Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Compound Members File Members

# TAO_CEC_ProxyPullSupplier Class Reference

ProxyPullSupplier. More...

`#include <CEC_ProxyPullSupplier.h>`

Inheritance diagram for TAO_CEC_ProxyPullSupplier

[legend]
Collaboration diagram for TAO_CEC_ProxyPullSupplier:

[legend]
List of all members.

## Public Types
typedef CosEventChannelAdmin::ProxyPullSupplier_ptr | _ptr_type
typedef CosEventChannelAdmin::ProxyPullSupplier_var | _var_type
## Public Methods
| TAO_CEC_ProxyPullSupplier (TAO_CEC_EventChannel* event_channel)
| constructor...
virtual | ~TAO_CEC_ProxyPullSupplier (void)
| destructor...
virtual CosEventChannelAdmin::ProxyPullSupplier_ptr | activate (CORBA::Environment &ACE_TRY_ENV) throw (CORBA::SystemException)
| Activate in the POA.
virtual void | deactivate (CORBA::Environment &ACE_TRY_ENV) throw (CORBA::SystemException)
| Deactivate from the POA.
CORBA::Boolean | is_connected (void) const
| Return 0 if no consumer is connected...
CosEventComm::PullConsumer_ptr | consumer (void) const
virtual void | shutdown (CORBA::Environment &env)
| The event channel is shutting down.
CORBA::Boolean | consumer_non_existent (CORBA::Boolean_out disconnected, CORBA::Environment &ACE_TRY_ENV)
void | push (const CORBA::Any &event, CORBA::Environment &ACE_TRY_ENV)
| Push an event into the queue.
virtual void | connect_pull_consumer ( CosEventComm::PullConsumer_ptr pull_consumer, CORBA::Environment &) throw (CORBA::SystemException, CosEventChannelAdmin::AlreadyConnected)
virtual CORBA::Any* | pull (CORBA::Environment &) throw (CORBA::SystemException,CosEventComm::Disconnected)
virtual CORBA::Any* | try_pull (CORBA::Boolean_out has_event, CORBA::Environment &) throw (CORBA::SystemException,CosEventComm::Disconnected)
virtual void | disconnect_pull_supplier (CORBA::Environment &) throw (CORBA::SystemException)
CORBA::ULong | _incr_refcnt (void)
| Increment and decrement the reference count.
CORBA::ULong | _decr_refcnt (void)
virtual PortableServer::POA_ptr | _default_POA (CORBA::Environment &env)
virtual void | _add_ref (CORBA_Environment &ACE_TRY_ENV)
virtual void | _remove_ref (CORBA_Environment &ACE_TRY_ENV)
## Protected Methods
void | consumer (CosEventComm::PullConsumer_ptr consumer)
| Set the consumer, used by some implementations to change the policies used when invoking operations on the consumer.
void | consumer_i (CosEventComm::PullConsumer_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
TAO_CEC_EventChannel* | event_channel_
| The Event Channel that owns this object.
ACE_Lock* | lock_
| The locking strategy.
CORBA::ULong | refcount_
| The reference count.
CosEventComm::PullConsumer_var | consumer_
| The consumer....
int | connected_
| If the flag is not zero then we are connected, notice that the consumer can be nil.
PortableServer::POA_var | default_POA_
| Store the default POA.
TAO_SYNCH_MUTEX | queue_lock_
| Use a message queue to pass the.
TAO_SYNCH_CONDITION | wait_not_empty_
ACE_Unbounded_Queue<CORBA::Any> | queue_

## Detailed Description

ProxyPullSupplier.

Implement the CosEventChannelAdmin::ProxyPullSupplier interface, remember that this class is used to communicate with a PullConsumer, 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::ProxyPullSupplier_ptr TAO_CEC_ProxyPullSupplier::_ptr_type

typedef CosEventChannelAdmin::ProxyPullSupplier_var TAO_CEC_ProxyPullSupplier::_var_type

## Constructor & Destructor Documentation

TAO_CEC_ProxyPullSupplier::TAO_CEC_ProxyPullSupplier ( | TAO_CEC_EventChannel * event_channel )

| constructor...

TAO_CEC_ProxyPullSupplier::~TAO_CEC_ProxyPullSupplier ( | void )`[virtual]`

| destructor...

## Member Function Documentation

virtual void TAO_CEC_ProxyPullSupplier::_add_ref ( | CORBA_Environment & ACE_TRY_ENV )`[virtual]`

CORBA::ULong TAO_CEC_ProxyPullSupplier::_decr_refcnt ( | void )

PortableServer::POA_ptr TAO_CEC_ProxyPullSupplier::_default_POA ( | CORBA::Environment & env )`[virtual]`

CORBA::ULong TAO_CEC_ProxyPullSupplier::_incr_refcnt ( | void )

| Increment and decrement the reference count.

virtual void TAO_CEC_ProxyPullSupplier::_remove_ref ( | CORBA_Environment & ACE_TRY_ENV )`[virtual]`

CosEventChannelAdmin::ProxyPullSupplier_ptr TAO_CEC_ProxyPullSupplier::activate ( | CORBA::Environment & ACE_TRY_ENV ) throw (CORBA::SystemException)`[virtual]`

| Activate in the POA.

void TAO_CEC_ProxyPullSupplier::cleanup_i ( | void )`[protected]`

| Release the child and the consumer.

void TAO_CEC_ProxyPullSupplier::connect_pull_consumer ( | CosEventComm::PullConsumer_ptr pull_consumer,
| CORBA::Environment & ACE_TRY_ENV ) throw (CORBA::SystemException, CosEventChannelAdmin::AlreadyConnected)`[virtual]`

ACE_INLINE void TAO_CEC_ProxyPullSupplier::consumer ( | CosEventComm::PullConsumer_ptr consumer )`[protected]`

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

ACE_INLINE CosEventComm::PullConsumer_ptr TAO_CEC_ProxyPullSupplier::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_ProxyPullSupplier::consumer_i ( | CosEventComm::PullConsumer_ptr consumer )`[protected]`

CORBA::Boolean TAO_CEC_ProxyPullSupplier::consumer_non_existent ( | CORBA::Boolean_out disconnected,
| CORBA::Environment & ACE_TRY_ENV )

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

void TAO_CEC_ProxyPullSupplier::deactivate ( | CORBA::Environment & ACE_TRY_ENV ) throw (CORBA::SystemException)`[virtual]`

| Deactivate from the POA.

void TAO_CEC_ProxyPullSupplier::disconnect_pull_supplier ( | CORBA::Environment & ACE_TRY_ENV ) throw (CORBA::SystemException)`[virtual]`

ACE_INLINE CORBA::Boolean TAO_CEC_ProxyPullSupplier::is_connected ( | void ) const

| Return 0 if no consumer is connected...

ACE_INLINE CORBA::Boolean TAO_CEC_ProxyPullSupplier::is_connected_i ( | void ) const`[protected]`

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

CORBA::Any * TAO_CEC_ProxyPullSupplier::pull ( | CORBA::Environment & ACE_TRY_ENV ) throw (CORBA::SystemException,CosEventComm::Disconnected)`[virtual]`

void TAO_CEC_ProxyPullSupplier::push ( | const CORBA::Any & event,
| CORBA::Environment & ACE_TRY_ENV )

| Push an event into the queue.

void TAO_CEC_ProxyPullSupplier::shutdown ( | CORBA::Environment & env )`[virtual]`

| The event channel is shutting down.

CORBA::Any * TAO_CEC_ProxyPullSupplier::try_pull ( | CORBA::Boolean_out has_event,
| CORBA::Environment & ACE_TRY_ENV ) throw (CORBA::SystemException,CosEventComm::Disconnected)`[virtual]`

## Member Data Documentation

int TAO_CEC_ProxyPullSupplier::connected_`[private]`

| If the flag is not zero then we are connected, notice that the consumer can be nil.

CosEventComm::PullConsumer_var TAO_CEC_ProxyPullSupplier::consumer_`[private]`

| The consumer....

PortableServer::POA_var TAO_CEC_ProxyPullSupplier::default_POA_`[private]`

| Store the default POA.

TAO_CEC_EventChannel * TAO_CEC_ProxyPullSupplier::event_channel_`[private]`

| The Event Channel that owns this object.

ACE_Lock * TAO_CEC_ProxyPullSupplier::lock_`[private]`

| The locking strategy.

ACE_Unbounded_Queue< CORBA::Any > TAO_CEC_ProxyPullSupplier::queue_`[private]`

TAO_SYNCH_MUTEX TAO_CEC_ProxyPullSupplier::queue_lock_`[private]`

| Use a message queue to pass the.

CORBA::ULong TAO_CEC_ProxyPullSupplier::refcount_`[private]`

| The reference count.

TAO_SYNCH_CONDITION TAO_CEC_ProxyPullSupplier::wait_not_empty_`[private]`

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

- CEC_ProxyPullSupplier.h
- CEC_ProxyPullSupplier.cpp
- CEC_ProxyPullSupplier.i