---
name: "CosEventChannelAdmin_ProxyPushConsumer"
section: "3erl"
platform: "linux"
package: "erlang-manpages"
version: "1:19.2.1+dfsg-2+deb9u3"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/CosEventChannelAdmin_ProxyPushConsumer"
---

# CosEventChannelAdmin\_ProxyPushConsumer(3erl)

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

## NAME

CosEventChannelAdmin\_ProxyPushConsumer - 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.
