User's Guide
Reference Manual
Release Notes
PDF
Top

cosEvent
Reference Manual
Version 2.1.7

Expand All
Contract All

Table of Contents

- cosEventApp
  - Top of manual page
  - install/0
  - uninstall/0
  - start/0
  - stop/0
  - start_channel/0
  - start_channel/1
  - start_channel_link/0
  - start_channel_link/1
  - stop_channel/1
- CosEventChannelAdmin
- CosEventChannelAdmin_ConsumerAdmin
  - Top of manual page
  - obtain_push_supplier/1
  - obtain_pull_supplier/1
- CosEventChannelAdmin_SupplierAdmin
  - Top of manual page
  - obtain_push_consumer/1
  - obtain_pull_consumer/1
- CosEventChannelAdmin_EventChannel
  - Top of manual page
  - for_consumers/1
  - for_suppliers/1
  - destroy/1
- CosEventChannelAdmin_ProxyPullConsumer
  - Top of manual page
  - connect_pull_supplier/2
  - disconnect_pull_consumer/1
- CosEventChannelAdmin_ProxyPushConsumer
  - Top of manual page
  - connect_push_supplier/2
  - disconnect_push_consumer/1
  - push/2
- CosEventChannelAdmin_ProxyPullSupplier
  - Top of manual page
  - connect_pull_consumer/2
  - disconnect_pull_supplier/1
  - pull/1
  - try_pull/1
- CosEventChannelAdmin_ProxyPushSupplier
  - Top of manual page
  - connect_push_consumer/2
  - disconnect_push_supplier/1

# 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.