TAO_RTEvent  2.0.8
Public Member Functions
RtecEventChannelAdmin::ProxyPushSupplier Interface Reference

Interface used to implement the Abstract Session pattern for the consumers. More...

import "RtecEventChannelAdmin.idl";

Inheritance diagram for RtecEventChannelAdmin::ProxyPushSupplier:
Inheritance graph
[legend]
Collaboration diagram for RtecEventChannelAdmin::ProxyPushSupplier:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void connect_push_consumer (in RtecEventComm::PushConsumer push_consumer, in ConsumerQOS qos) raises (AlreadyConnected, TypeError)
 Connect a consumer with the Event Channel.
void suspend_connection ()
void resume_connection ()
 Resume the reception of events.

Detailed Description

Interface used to implement the Abstract Session pattern for the consumers.

Each consumer converse with the Event Channel via a different object that implements the ProxyPushSupplier interface. This is a common idiom in CORBA, as it allows the identification of the remove consumer efficiently.


Member Function Documentation

void RtecEventChannelAdmin::ProxyPushSupplier::connect_push_consumer ( in RtecEventComm::PushConsumer  push_consumer,
in ConsumerQOS  qos 
) raises (AlreadyConnected, TypeError)

Connect a consumer with the Event Channel.

The ConsumerQOS argument is used to setup the filtering and QoS properties of the consumer.

Parameters:
push_consumerThe consumer that will receive the events.
qosThe QoS properties for this consumer
Exceptions:
CORBA::BAD_PARAMif push_consumer is nil
AlreadyConnectedif this operation is invoked multiple times
Todo:
The TypeError exception is not used and should be removed.
void RtecEventChannelAdmin::ProxyPushSupplier::resume_connection ( )

Resume the reception of events.

void RtecEventChannelAdmin::ProxyPushSupplier::suspend_connection ( )

Temporarily suspend reception of events from the Event Channel. Calling this method is more efficient than dropping the events when received by the consumer, and less expensive than disconnecting and connecting again (but it is not free!!)


The documentation for this interface was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines