ProxyPushConsumer. More...
#include <EC_ProxyConsumer.h>
Public Types | |
typedef RtecEventChannelAdmin::ProxyPushConsumer | Interface |
typedef RtecEventChannelAdmin::ProxyPushConsumer_var | _var_type |
typedef RtecEventChannelAdmin::ProxyPushConsumer_ptr | _ptr_type |
Public Member Functions | |
TAO_EC_ProxyPushConsumer (TAO_EC_Event_Channel_Base *event_channel) | |
constructor... | |
virtual | ~TAO_EC_ProxyPushConsumer (void) |
destructor... | |
virtual void | activate (RtecEventChannelAdmin::ProxyPushConsumer_ptr &proxy)=0 |
Activate in the POA. | |
virtual void | deactivate (void) |
Deactivate from the POA. | |
virtual void | disconnect_push_consumer ()=0 |
Disconnect this from. | |
CORBA::Boolean | is_connected (void) const |
Return false if no supplier is connected... | |
RtecEventComm::PushSupplier_ptr | supplier (void) const |
const RtecEventChannelAdmin::SupplierQOS & | publications (void) const |
The QoS (subscription) used to connect to the EC. | |
CORBA::Boolean | supplier_non_existent (CORBA::Boolean_out disconnected) |
virtual void | connected (TAO_EC_ProxyPushSupplier *supplier) |
virtual void | reconnected (TAO_EC_ProxyPushSupplier *supplier) |
virtual void | disconnected (TAO_EC_ProxyPushSupplier *supplier) |
virtual void | connected (TAO_EC_ProxyPushConsumer *consumer) |
virtual void | reconnected (TAO_EC_ProxyPushConsumer *consumer) |
virtual void | disconnected (TAO_EC_ProxyPushConsumer *consumer) |
virtual void | shutdown (void) |
The event channel is shutting down. | |
const RtecEventChannelAdmin::SupplierQOS & | publications_i (void) const |
CORBA::ULong | _incr_refcnt (void) |
Increment and decrement the reference count. | |
CORBA::ULong | _decr_refcnt (void) |
Protected Member Functions | |
void | supplier (RtecEventComm::PushSupplier_ptr supplier) |
void | supplier_i (RtecEventComm::PushSupplier_ptr supplier) |
CORBA::Boolean | is_connected_i (void) const |
The private version (without locking) of is_connected(). | |
TAO_EC_Supplier_Filter * | filter_i (void) const |
Return the current filter, assumes the locks are held. | |
void | cleanup_i (void) |
Release the filter and the supplier. | |
Protected Attributes | |
TAO_EC_Event_Channel_Base * | event_channel_ |
The supplier admin, used for activation and memory managment. | |
ACE_Lock * | lock_ |
The locking strategy. | |
CORBA::ULong | refcount_ |
The reference count. | |
RtecEventComm::PushSupplier_var | supplier_ |
The supplier.... | |
bool | connected_ |
RtecEventChannelAdmin::SupplierQOS | qos_ |
The publication and QoS information... | |
PortableServer::POA_var | default_POA_ |
Store the default POA. | |
TAO_EC_Supplier_Filter * | filter_ |
The strategy to do filtering close to the supplier. | |
Private Member Functions | |
virtual void | shutdown_hook (void) |
Template method hooks. | |
virtual void | refcount_zero_hook (void) |
virtual PortableServer::ObjectId | object_id (void)=0 |
Friends | |
class | TAO_EC_ProxyPushConsumer_Guard |
ProxyPushConsumer.
Implement the RtecEventChannelAdmin::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.
It makes a copy of the SupplierQOS and the supplier object reference. It uses bind/unbind to control the lifetime of the Supplier_Filter object. The object commits suicide when disconnect_push_consumer() is called.
No provisions for locking, access must be serialized externally.
typedef RtecEventChannelAdmin::ProxyPushConsumer_ptr TAO_EC_ProxyPushConsumer::_ptr_type |
typedef RtecEventChannelAdmin::ProxyPushConsumer_var TAO_EC_ProxyPushConsumer::_var_type |
TAO_EC_ProxyPushConsumer::TAO_EC_ProxyPushConsumer | ( | TAO_EC_Event_Channel_Base * | event_channel | ) |
constructor...
TAO_EC_ProxyPushConsumer::~TAO_EC_ProxyPushConsumer | ( | void | ) | [virtual] |
destructor...
CORBA::ULong TAO_EC_ProxyPushConsumer::_decr_refcnt | ( | void | ) |
CORBA::ULong TAO_EC_ProxyPushConsumer::_incr_refcnt | ( | void | ) |
Increment and decrement the reference count.
virtual void TAO_EC_ProxyPushConsumer::activate | ( | RtecEventChannelAdmin::ProxyPushConsumer_ptr & | proxy | ) | [pure virtual] |
Activate in the POA.
Implemented in TAO_EC_Default_ProxyPushConsumer.
void TAO_EC_ProxyPushConsumer::cleanup_i | ( | void | ) | [protected] |
Release the filter and the supplier.
void TAO_EC_ProxyPushConsumer::connected | ( | TAO_EC_ProxyPushConsumer * | consumer | ) | [virtual] |
Usually implemented as no-ops, but some configurations may require this methods.
void TAO_EC_ProxyPushConsumer::connected | ( | TAO_EC_ProxyPushSupplier * | supplier | ) | [virtual] |
Concrete implementations can use this methods to keep track of the consumers interested in this events.
void TAO_EC_ProxyPushConsumer::deactivate | ( | void | ) | [virtual] |
Deactivate from the POA.
virtual void TAO_EC_ProxyPushConsumer::disconnect_push_consumer | ( | ) | [pure virtual] |
Disconnect this from.
Implemented in TAO_EC_Default_ProxyPushConsumer, and TAO_EC_TPC_ProxyPushConsumer.
void TAO_EC_ProxyPushConsumer::disconnected | ( | TAO_EC_ProxyPushConsumer * | consumer | ) | [virtual] |
void TAO_EC_ProxyPushConsumer::disconnected | ( | TAO_EC_ProxyPushSupplier * | supplier | ) | [virtual] |
TAO_EC_Supplier_Filter * TAO_EC_ProxyPushConsumer::filter_i | ( | void | ) | const [protected] |
Return the current filter, assumes the locks are held.
CORBA::Boolean TAO_EC_ProxyPushConsumer::is_connected | ( | void | ) | const |
Return false if no supplier is connected...
CORBA::Boolean TAO_EC_ProxyPushConsumer::is_connected_i | ( | void | ) | const [protected] |
The private version (without locking) of is_connected().
virtual PortableServer::ObjectId TAO_EC_ProxyPushConsumer::object_id | ( | void | ) | [private, pure virtual] |
Implemented in TAO_EC_Default_ProxyPushConsumer.
const RtecEventChannelAdmin::SupplierQOS & TAO_EC_ProxyPushConsumer::publications | ( | void | ) | const |
The QoS (subscription) used to connect to the EC.
const RtecEventChannelAdmin::SupplierQOS & TAO_EC_ProxyPushConsumer::publications_i | ( | void | ) | const |
The QoS (subscription) used to connect to the EC, assumes the locks are held, use with care!
void TAO_EC_ProxyPushConsumer::reconnected | ( | TAO_EC_ProxyPushConsumer * | consumer | ) | [virtual] |
void TAO_EC_ProxyPushConsumer::reconnected | ( | TAO_EC_ProxyPushSupplier * | supplier | ) | [virtual] |
void TAO_EC_ProxyPushConsumer::refcount_zero_hook | ( | void | ) | [private, virtual] |
void TAO_EC_ProxyPushConsumer::shutdown | ( | void | ) | [virtual] |
The event channel is shutting down.
void TAO_EC_ProxyPushConsumer::shutdown_hook | ( | void | ) | [private, virtual] |
Template method hooks.
void TAO_EC_ProxyPushConsumer::supplier | ( | RtecEventComm::PushSupplier_ptr | supplier | ) | [protected] |
Set the supplier, used by some implementations to change the policies used when invoking operations on the supplier.
RtecEventComm::PushSupplier_ptr TAO_EC_ProxyPushConsumer::supplier | ( | void | ) | const |
Return the consumer object reference. It returns nil() if it has not connected yet.
void TAO_EC_ProxyPushConsumer::supplier_i | ( | RtecEventComm::PushSupplier_ptr | supplier | ) | [protected] |
CORBA::Boolean TAO_EC_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.
friend class TAO_EC_ProxyPushConsumer_Guard [friend] |
bool TAO_EC_ProxyPushConsumer::connected_ [protected] |
If the flag is not zero then we are connected, notice that the supplier can be nil.
Store the default POA.
The supplier admin, used for activation and memory managment.
TAO_EC_Supplier_Filter* TAO_EC_ProxyPushConsumer::filter_ [protected] |
The strategy to do filtering close to the supplier.
ACE_Lock* TAO_EC_ProxyPushConsumer::lock_ [protected] |
The locking strategy.
The publication and QoS information...
CORBA::ULong TAO_EC_ProxyPushConsumer::refcount_ [protected] |
The reference count.
RtecEventComm::PushSupplier_var TAO_EC_ProxyPushConsumer::supplier_ [protected] |
The supplier....