#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, const ACE_Time_Value &timeout) | |
| constructor... | |
| virtual | ~TAO_CEC_ProxyPushSupplier (void) |
| destructor... | |
| CosEventComm::PushConsumer_ptr | consumer (void) const |
| virtual void | shutdown (void) |
| The event channel is shutting down. | |
| virtual void | push (const CORBA::Any &event) |
| Internal methods to push an event to each consumer. | |
| virtual void | push_nocopy (CORBA::Any &event) |
| void | push_to_consumer (const CORBA::Any &event) |
| Pushes to the consumer, verifies that it is connected. | |
| void | reactive_push_to_consumer (const CORBA::Any &event) |
| CORBA::Boolean | consumer_non_existent (CORBA::Boolean_out disconnected) |
| CORBA::ULong | _decr_refcnt (void) |
| virtual PortableServer::POA_ptr | _default_POA (void) |
| virtual void | _add_ref (void) |
| virtual void | _remove_ref (void) |
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. | |
| CosEventComm::PushConsumer_ptr | apply_policy (CosEventComm::PushConsumer_ptr c) |
| CORBA::Object_ptr | apply_policy_obj (CORBA::Object_ptr c) |
Private Attributes | |
| TAO_CEC_EventChannel * | event_channel_ |
| The Event Channel that owns this object. | |
| ACE_Time_Value | timeout_ |
| ACE_Lock * | lock_ |
| The locking strategy. | |
| CORBA::ULong | refcount_ |
| The reference count. | |
| CosEventComm::PushConsumer_var | consumer_ |
| CosEventComm::PushConsumer_var | nopolicy_consumer_ |
| The consumer without any policies applied. | |
| 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.
| typedef CosEventChannelAdmin::ProxyPushSupplier_ptr TAO_CEC_ProxyPushSupplier::_ptr_type |
| typedef CosEventChannelAdmin::ProxyPushSupplier_var TAO_CEC_ProxyPushSupplier::_var_type |
| TAO_CEC_ProxyPushSupplier::TAO_CEC_ProxyPushSupplier | ( | TAO_CEC_EventChannel * | event_channel, | |
| const ACE_Time_Value & | timeout | |||
| ) |
constructor...
| TAO_CEC_ProxyPushSupplier::~TAO_CEC_ProxyPushSupplier | ( | void | ) | [virtual] |
destructor...
| void TAO_CEC_ProxyPushSupplier::_add_ref | ( | void | ) | [virtual] |
| CORBA::ULong TAO_CEC_ProxyPushSupplier::_decr_refcnt | ( | void | ) |
| PortableServer::POA_ptr TAO_CEC_ProxyPushSupplier::_default_POA | ( | void | ) | [virtual] |
| void TAO_CEC_ProxyPushSupplier::_remove_ref | ( | void | ) | [virtual] |
| CosEventComm::PushConsumer_ptr TAO_CEC_ProxyPushSupplier::apply_policy | ( | CosEventComm::PushConsumer_ptr | c | ) | [protected] |
Assigns the parameter to both consumer_ and nopolicy_consumer_, and applies policies (when appropriate) to consumer_.
| CORBA::Object_ptr TAO_CEC_ProxyPushSupplier::apply_policy_obj | ( | CORBA::Object_ptr | c | ) | [protected] |
| 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 | ) |
Invoke the _non_existent() pseudo-operation on the consumer. If it is disconnected then it returns true and sets the <disconnected> flag.
| TAO_BEGIN_VERSIONED_NAMESPACE_DECL 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 | ) | [virtual] |
Internal methods to push an event to each consumer.
| void TAO_CEC_ProxyPushSupplier::push_nocopy | ( | CORBA::Any & | event | ) | [virtual] |
| void TAO_CEC_ProxyPushSupplier::push_to_consumer | ( | const CORBA::Any & | event | ) |
Pushes to the consumer, verifies that it is connected.
| void TAO_CEC_ProxyPushSupplier::reactive_push_to_consumer | ( | const CORBA::Any & | event | ) |
| void TAO_CEC_ProxyPushSupplier::shutdown | ( | void | ) | [virtual] |
The event channel is shutting down.
CosEventComm::PushConsumer_var TAO_CEC_ProxyPushSupplier::consumer_ [private] |
The consumer -- use apply_policy() instead of assigning directly to consumer_. This will keep consumer_ and nopolicy_consumer_ in sync.
Store the default POA.
The Event Channel that owns this object.
ACE_Lock* TAO_CEC_ProxyPushSupplier::lock_ [private] |
The locking strategy.
CosEventComm::PushConsumer_var TAO_CEC_ProxyPushSupplier::nopolicy_consumer_ [private] |
The consumer without any policies applied.
The reference count.
1.4.7-1