# CosNotifyChannelAdmin_ProxyConsumer

### MODULE

CosNotifyChannelAdmin_ProxyConsumer

### MODULE SUMMARY

This module implements the OMG CosNotifyChannelAdmin::ProxyConsumer 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
- CosNotifyFilter_FilterAdmin

### EXPORTS

`_get_MyType(ProxyConsumer) -> ProxyType`

Types:

`ProxyConsumer = #objref`
`ProxyType = 'PUSH_ANY' | 'PULL_ANY' | 'PUSH_STRUCTURED' | 'PULL_STRUCTURED' | 'PUSH_SEQUENCE' | 'PULL_SEQUENCE'`

This readonly attribute maintains the enumerant describing the which type the target object is.

`_get_MyAdmin(ProxyConsumer) -> AdminObject`

Types:

`ProxyConsumer = AdminObject = #objref`

This readonly attribute maintains the admin's reference which created the target object.

`obtain_subscription_types(ProxyConsumer, ObtainInfoMode) -> EventTypeSeq`

Types:

`ProxyConsumer = #objref`
`ObtainInfoMode = 'ALL_NOW_UPDATES_OFF' | 'ALL_NOW_UPDATES_ON' | 'NONE_NOW_UPDATES_OFF' | 'NONE_NOW_UPDATES_ON'`
`EventTypeSeq = [EventType]`
`EventType = #'CosNotification_EventType'{domain_name, type_name}`
`domain_name = type_name = string()`

Depending on the input parameter `ObtainInfoMode`, this operation may return a sequence of the `EventTypes` the target object is interested in receiving. If `'ALL_NOW_UPDATES_OFF'` or `'ALL_NOW_UPDATES_ON'` is given a sequence will be returned, otherwise not. If `'ALL_NOW_UPDATES_OFF'` or `'NONE_NOW_UPDATES_OFF'` are issued the target object will not inform the associated `NotifySubscribe` object when an update occurs. `'ALL_NOW_UPDATES_ON'` or `'NONE_NOW_UPDATES_ON'` will result in that update information will be sent.

`validate_event_qos(ProxyConsumer, QoSProperties) -> Reply`

Types:

`ProxyConsumer = #objref`
`QoSProperties = [QoSProperty]`
`QoSProperty = #'CosNotification_Property'{name, value}`
`name = string()`
`value = #any`
`Reply = {ok, NamedPropertyRangeSeq} | {'EXCEPTION', CosNotification_UnsupportedQoS{qos_err}}`
`NamedPropertyRangeSeq = [NamedPropertyRange]`
`NamedPropertyRange = #CosNotification_NamedPropertyRange{name, range}`
`name = string()`
`range = #CosNotification_PropertyRange{low_val, high_val}`
`low_val = #any`
`high_val = #any`
`qos_err = PropertyErrorSeq`
`PropertyErrorSeq = [PropertyError]`
`PropertyError = #'CosNotification_PropertyError'{code, name, available_range}`
`code = 'UNSUPPORTED_PROPERTY' | 'UNAVAILABLE_PROPERTY' | 'UNSUPPORTED_VALUE' | 'UNAVAILABLE_VALUE' | 'BAD_PROPERTY' | 'BAD_TYPE' | 'BAD_VALUE'`
`name = string()`
`available_range = PropertyRange`
`PropertyRange = #CosNotification_PropertyRange{low_val, high_val}`
`low_val = high_val = #any`

To check if certain Quality of Service properties can be added to events in the current context of the target object this operation should be used. If we cannot support the required settings an exception describing why will be raised.

### AUTHORS

support - support@erlang.ericsson.se

cosNotification 1.1
Copyright © 1991-2003 Ericsson Utvecklings AB