# CosEventChannelAdmin_EventChannel

### MODULE

CosEventChannelAdmin_EventChannel

### MODULE SUMMARY

This module implements an Event Channel interface, which plays the role of a mediator between consumers and suppliers.

### DESCRIPTION

An event channel is an object that allows multiple suppliers to communicate with multiple consumers in a highly decoupled, asynchronous manner. The event channel is built up incrementally. When an event channel is created no suppliers or consumers are connected to it. Event Channel can implement group communication by serving as a replicator, broadcaster, or multicaster that forward events from one or more suppliers to multiple consumers.

It is up to the user to decide when an event channel is created and how references to the event channel are obtained. By representing the event channel as an object, it has all of the properties that apply to objects. One way to manage an event channel is to register it in a naming context, or export it through an operation on an object.

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

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

### EXPORTS

`for_consumers(Object) -> Return`

Types:

`Object = #objref`
`Return = #objref`

This operation returns a ConsumerAdmin object reference. If ConsumerAdmin object does not exist already it creates one.

`for_suppliers(Object) -> Return`

Types:

`Object = #objref`
`Return = #objref`

This operation returns a SupplierAdmin object reference. If SupplierAdmin object does not exist already it creates one.

`destroy(Object) -> Return`

Types:

`Object = #objref`
`Return = #objref`

### AUTHORS

support - support@erlang.ericsson.se

cosEvent 2.1.1
Copyright © 1991-2007 Ericsson AB