# CosNotifyChannelAdmin_ConsumerAdmin

### MODULE

CosNotifyChannelAdmin_ConsumerAdmin

### MODULE SUMMARY

This module implements the OMG CosNotifyChannelAdmin::ConsumerAdmin interface.

### DESCRIPTION

To get access to the record definitions for the structures use:
`-include_lib("cosNotification/include/*.hrl").`

This module also exports the functions described in:

- CosNotification_QoSAdmin
- CosNotifyComm_NotifySubscribe
- CosNotifyFilter_FilterAdmin

### EXPORTS

`_get_MyID(ConsumerAdmin) -> AdminID`

Types:

`ConsumerAdmin = #objref`
`AdminID = long()`

The ID returned by the creating channel is equal to the value encapsulated by this readonly attribute.

`_get_MyChannel(ConsumerAdmin) -> Channel`

Types:

`ConsumerAdmin = #objref`
`Channel = #objref`

The creating channel's reference is maintained by this readonly attribute.

`_get_MyOperator(ConsumerAdmin) -> OpType`

Types:

`ConsumerAdmin = #objref`
`OpType = 'AND_OP' | 'OR_OP'`

When `ConsumerAdmin's` are created an operation type, i.e., `'AND_OP'` or `'OR_OP'`, is supplied, which determines the semantics used by the target object concerning evaluation against any associated `Filter` objects.

`_get_priority_filter(ConsumerAdmin) -> MappingFilter`

Types:

`ConsumerAdmin = MappingFilter = #objref`

If set, this operation returns the associated priority `MappingFilter`, otherwise a `NIL` object reference is returned.

`_set_priority_filter(ConsumerAdmin, MappingFilter) -> ok`

Types:

`ConsumerAdmin = MappingFilter = #objref`

To associate a priority `MappingFilter` with the target object this operation must be used.

`_get_lifetime_filter(ConsumerAdmin) -> MappingFilter`

Types:

`ConsumerAdmin = MappingFilter = #objref`

Unless a lifetime `MappingFilter` have been associated with the target object a `NIL` object reference is returned by this operation.

`_set_lifetime_filter(ConsumerAdmin, MappingFilter) -> ok`

Types:

`ConsumerAdmin = MappingFilter = #objref`

This operation associate a lifetime `MappingFilter` with the target object.

`_get_pull_suppliers(ConsumerAdmin) -> ProxyIDSeq`

Types:

`ConsumerAdmin = #objref`
`ProxyIDSeq = [ProxyID]`
`ProxyID = long()`

This readonly attribute maintains the Id's for all `PullProxies` created by the target object and still alive.

`_get_push_suppliers(ConsumerAdmin) -> ProxyIDSeq`

Types:

`ConsumerAdmin = #objref`
`ProxyIDSeq = [ProxyID]`
`ProxyID = long()`

This attribute is similar to the `_get_pull_suppliers` attribute but maintains the Id's for all `PushProxies` created by the target object and still alive.

`get_proxy_supplier(ConsumerAdmin, ProxyID) -> Reply`

Types:

`ConsumerAdmin = #objref`
`ProxyID = long()`
`Reply = Proxy | {'EXCEPTION', #'CosNotifyChannelAdmin_ProxyNotFound'{}}`
`Proxy = #objref`

If a proxy with the given Id exists the reference to the object is returned, but if the object have terminated, or an incorrect Id is supplied, an exception is raised.

`obtain_notification_pull_supplier(ConsumerAdmin, ConsumerType) -> Reply`

Types:

`ConsumerAdmin = #objref`
`ConsumerType = 'ANY_EVENT' | 'STRUCTURED_EVENT' | 'SEQUENCE_EVENT'`
`Reply = {Proxy, ProxyID}`
`Proxy = #objref`
`ProxyID = long()`

Determined by the parameter `ConsumerType`, a proxy which will accept events of the defined type is created. Along with the object reference an Id is returned.

`obtain_pull_supplier(ConsumerAdmin) -> Proxy`

Types:

`ConsumerAdmin = #objref`
`Proxy = #objref`

This operation creates a new proxy which accepts `#any{}` events.

`obtain_notification_push_supplier(ConsumerAdmin, ConsumerType) -> Reply`

Types:

`ConsumerAdmin = #objref`
`ConsumerType = 'ANY_EVENT' | 'STRUCTURED_EVENT' | 'SEQUENCE_EVENT'`
`Reply = {Proxy, ProxyID}`
`Proxy = #objref`
`ProxyID = long()`

A proxy which accepts events of the type described by the parameter `ConsumerType` is created by this operation. A unique Id is returned as an out parameter.

`obtain_push_supplier(ConsumerAdmin) -> Proxy`

Types:

`ConsumerAdmin = #objref`
`Proxy = #objref`

The object created by this function is a proxy which accepts `#any{}` events.

`destroy(ConsumerAdmin) -> ok`

Types:

`ConsumerAdmin = #objref`

To terminate the target object this operation should be used. The associated `Channel` will be notified.

### AUTHORS

support - support@erlang.ericsson.se

cosNotification 1.1
Copyright © 1991-2003 Ericsson Utvecklings AB