#include <CEC_ProxyPushSupplier.h>
Collaboration diagram for TAO_CEC_ProxyPushSupplier:
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) | |
constructor... | |
virtual | ~TAO_CEC_ProxyPushSupplier (void) |
destructor... | |
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 &ACE_ENV_ARG_DECL) ACE_THROW_SPEC((CORBA void deactivate(ACE_ENV_SINGLE_ARG_DECL) ACE_THROW_SPEC((CORBA CORBA::Boolea | 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) ACE_THROW_SPEC((CORBA void disconnect_push_supplier(ACE_ENV_SINGLE_ARG_DECL_NOT_USED) ACE_THROW_SPEC((CORBA CORBA::ULon | _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 | |
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::PushConsumer_var | consumer_ |
The consumer.... | |
PortableServer::POA_var | default_POA_ |
Store the default POA. |
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.
|
|
|
|
|
constructor...
|
|
destructor...
|
|
|
|
|
|
|
|
|
|
Release the child and the consumer.
|
|
Set the consumer, used by some implementations to change the policies used when invoking operations on the consumer. |
|
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. |
|
|
|
Invoke the _non_existent() pseudo-operation on the consumer. If it is disconnected then it returns true and sets the <disconnected> flag. |
|
The private version (without locking) of is_connected().
|
|
Internal methods to push an event to each consumer.
|
|
|
|
Pushes to the consumer, verifies that it is connected.
|
|
|
|
The event channel is shutting down.
|
|
Increment and decrement the reference count.
|
|
The consumer....
|
|
Store the default POA.
|
|
The Event Channel that owns this object.
|
|
Return 0 if no consumer is connected...
|
|
The locking strategy.
|
|
The reference count.
|