org.omg.CosNotifyChannelAdmin
Interface StructuredProxyPullConsumerOperations

All Superinterfaces:
FilterAdminOperations, NotifyPublishOperations, ProxyConsumerOperations, QoSAdminOperations, StructuredPullConsumerOperations
All Known Subinterfaces:
StructuredProxyPullConsumer
All Known Implementing Classes:
_StructuredProxyPullConsumerStub, StructuredProxyPullConsumerImpl, StructuredProxyPullConsumerPOA, StructuredProxyPullConsumerPOATie

public interface StructuredProxyPullConsumerOperations
extends ProxyConsumerOperations, StructuredPullConsumerOperations

The StructuredProxyPullConsumer interface supports connections to the channel by suppliers who will make events available for pulling to the channel as Structured Events. Through inheritance of the ProxyConsumer interface, the StructuredProxyPullConsumer interface supports administration of various QoS properties, administration of a list of associated filter objects, and a readonly attribute containing the reference of the SupplierAdmin object which created it. In addition, this inheritance implies that a StructuredProxyPullConsumer instance supports an operation which will return the list of event types which consumers connected to the same channel are interested in receiving, and an operation which can return information about the instance?s ability to accept a per-event QoS request. The StructuredProxyPullConsumer interface also inherits from the StructuredPullConsumer interface defined in the CosNotifyComm module. This interface supports the operation which can be invoked to close down the connection from the supplier to the StructuredProxyPullConsumer. In addition, since the StructuredPullConsumer interface inherits from the NotifyPublish interface, a supplier can inform the StructuredProxyPullConsumer to which it is connected whenever the list of event types it plans to supply to the channel changes. Lastly, the StructuredProxyPullConsumer interface defines a method that can be invoked by a pull-style supplier of Structured Events in order to establish a connection between the supplier and a notification channel over which the supplier will proceed to send events. The StructuredProxyPullConsumer interface also defines a pair of operations which can suspend and resume the connection between a StructuredProxyPullConsumer instance and its associated StructuredPullSupplier. During the time such a connection is suspended, the StructuredProxyPullConsumer will not attempt to pull events from its associated StructuredPullSupplier.


Method Summary
 void connect_structured_pull_supplier(StructuredPullSupplier pull_supplier)
          The connect_structured_pull_supplier operation accepts as an input parameter the reference to an object supporting the StructuredPullSupplier interface defined within the CosNotifyComm module.
 void resume_connection()
          The resume_connection operation causes the target object supporting the StructuredProxyPullConsumer interface to resume attempting to pull events (using pull or try_pull) from the StructuredPullSupplier instance connected to it.
 void suspend_connection()
          The suspend_connection operation causes the target object supporting the StructuredProxyPullConsumer interface to stop attempting to pull events (using pull or try_pull) from the StructuredPullSupplier instance connected to it.
 
Methods inherited from interface org.omg.CosNotifyChannelAdmin.ProxyConsumerOperations
MyAdmin, MyType, obtain_subscription_types, validate_event_qos
 
Methods inherited from interface org.omg.CosNotification.QoSAdminOperations
get_qos, set_qos, validate_qos
 
Methods inherited from interface org.omg.CosNotifyFilter.FilterAdminOperations
add_filter, get_all_filters, get_filter, remove_all_filters, remove_filter
 
Methods inherited from interface org.omg.CosNotifyComm.StructuredPullConsumerOperations
disconnect_structured_pull_consumer
 
Methods inherited from interface org.omg.CosNotifyComm.NotifyPublishOperations
offer_change
 

Method Detail

connect_structured_pull_supplier

void connect_structured_pull_supplier(StructuredPullSupplier pull_supplier)
                                      throws AlreadyConnected,
                                             TypeError
The connect_structured_pull_supplier operation accepts as an input parameter the reference to an object supporting the StructuredPullSupplier interface defined within the CosNotifyComm module. This reference is that of a supplier which plans to make events available for pulling to the channel with which the target object is associated in the form of Structured Events. This operation is thus invoked in order to establish a connection between a pull-style supplier of events in the form of Structured Events, and the notification channel. Once established, the channel can proceed to receive events from the supplier by invoking the pull_structured_event or try_pull_structured_event operations supported by the supplier (whether the channel will invoke pull_structured_event or try_pull_structured_event, and the frequency with which it will perform such invocations, is a detail which is specific to the implementation of the channel). If the target object of this operation is already connected to a pull supplier object, the AlreadyConnected exception will be raised. An implementation of the StructuredProxyPullConsumer interface may impose additional requirements on the interface supported by a pull supplier (e.g., it may be designed to invoke some operation other than pull_structured_event or try_pull_structured_event in order to receive events). If the pull supplier being connected does not meet those requirements, this operation raises the TypeError exception.

Parameters:
pull_supplier - Push supplier to connect to the proxy
Throws:
CosEventChannelAdmin::AlreadyConnected - The proxy is already connected
CosEventChannelAdmin::TypeError
AlreadyConnected
TypeError

suspend_connection

void suspend_connection()
                        throws ConnectionAlreadyInactive,
                               NotConnected
The suspend_connection operation causes the target object supporting the StructuredProxyPullConsumer interface to stop attempting to pull events (using pull or try_pull) from the StructuredPullSupplier instance connected to it. This operation takes no input parameters and returns no values. If the connection has been previously suspended using this operation and not resumed by invoking resume_connection (described below), the ConnectionAlreadyInactive exception is raised. If no StructuredPullSupplier has been connected to the target object when this operation is invoked, the NotConnected exception is raised. Otherwise, the StructuredProxyPullConsumer will not attempt to pull events from the StructuredPullSupplier connected to it until resume_connection is subsequently invoked.

Throws:
ConnectionAlreadyInactive - Connection is already suspended
NotConnected - Proxy isn't connected

resume_connection

void resume_connection()
                       throws ConnectionAlreadyActive,
                              NotConnected
The resume_connection operation causes the target object supporting the StructuredProxyPullConsumer interface to resume attempting to pull events (using pull or try_pull) from the StructuredPullSupplier instance connected to it. This operation takes no input parameters and returns no values. If the connection has not been previously suspended using this operation by invoking suspend_connection (described above), the ConnectionAlreadyActive exception is raised. If no StructuredPullSupplier has been connected to the target object when this operation is invoked, the NotConnected exception is raised. Otherwise, the StructuredProxyPullConsumer will resume attempting to pull events from the StrucuturedPullSupplier connected to it.

Throws:
ConnectionAlreadyActive - Connection is already active
NotConnected - Proxy isn't connected