TAO_RTEvent
2.1.2
|
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...
|
virtual |
destructor...
Increment and decrement the reference count.
|
pure virtual |
Activate in the POA.
Implemented in TAO_EC_Default_ProxyPushConsumer.
|
protected |
Release the filter and the supplier.
|
virtual |
Concrete implementations can use this methods to keep track of the consumers interested in this events.
|
virtual |
Usually implemented as no-ops, but some configurations may require this methods.
|
virtual |
Deactivate from the POA.
|
pure virtual |
Disconnect this from.
Implemented in TAO_EC_Default_ProxyPushConsumer, and TAO_EC_TPC_ProxyPushConsumer.
|
virtual |
|
virtual |
|
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...
|
protected |
The private version (without locking) of is_connected().
|
privatepure 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!
|
virtual |
|
virtual |
|
privatevirtual |
|
virtual |
The event channel is shutting down.
|
privatevirtual |
Template method hooks.
RtecEventComm::PushSupplier_ptr TAO_EC_ProxyPushConsumer::supplier | ( | void | ) | const |
Return the consumer object reference. It returns nil() if it has not connected yet.
|
protected |
Set the supplier, used by some implementations to change the policies used when invoking operations on the supplier.
|
protected |
Invoke the _non_existent() pseudo-operation on the supplier. If it is disconnected then it returns true and sets the <disconnected> flag.
|
friend |
|
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.
The strategy to do filtering close to the supplier.
|
protected |
The locking strategy.
The publication and QoS information...
The reference count.
|
protected |
The supplier....