# CosEventChannelAdmin_ProxyPushConsumer

### MODULE

CosEventChannelAdmin_ProxyPushConsumer

### MODULE SUMMARY

This module implements a ProxyPushConsumer interface which acts as a middleman between push supplier and the event channel.

### DESCRIPTION

The ProxyPushConsumer interface defines the second step for connecting push suppliers to the event channel. A proxy consumer is similar to a normal consumer, but includes an additional method for connecting a supplier to the proxy consumer.

To get access to all definitions, e.g., exceptions, include necessary `hrl` files by using:
`-include_lib("cosEvent/include/*.hrl").`

Any object that possesses an object reference that supports the ProxyPushConsumer interface can perform the following operations:

### EXPORTS

`connect_push_supplier(Object, PushSupplier) -> Return`

Types:

`Object = #objref`
`PushSupplier = #objref of PushSupplier type`
`Return = ok | {'EXCEPTION', #'CosEventChannelAdmin_AlreadyConnected'{}}`

This operation connects PushSupplier object to the ProxyPushConsumer object. A nil object reference can be passed to this operation. If so a channel cannot invoke the disconnect_push_supplier operation on the supplier; the supplier may be disconnected from the channel without being informed. If the ProxyPushConsumer is already connected to a PushSupplier, then the `CosEventChannelAdmin_AlreadyConnected` exception is raised.

`disconnect_push_consumer(Object) -> Return`

Types:

`Object = #objref`
`Return = ok`

This operation disconnects proxy push consumer from the event channel. Sends a notification about the loss of the connection to the push supplier attached to it, unless nil object reference was passed at the connection time.

`push(Object, Data) -> Return`

Types:

`Object = #objref`
`Data = any`
`Return = ok | {'EXCEPTION', #'CosEventComm_Disconnected'{}}`

This operation sends event data to all connected consumers via the event channel. If the event communication has already been disconnected, the `CosEventComm_Disconnected` is raised.

### AUTHORS

support - support@erlang.ericsson.se

cosEvent 2.1
Copyright © 1991-2006 Ericsson AB