# CosNotification_QoSAdmin

### MODULE

CosNotification_QoSAdmin

### MODULE SUMMARY

This module implements the OMG CosNotification::QoSAdmin interface.

### DESCRIPTION

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

All objects, which inherit this interface, export functions described in this module.

### EXPORTS

`get_qos(Object) -> Reply`

Types:

`Object = #objref`
`Reply = [QoSProperty]`
`QoSProperty = #'CosNotification_Property'{name, value}`
`name = string()`
`value = #any`

This operation returns a list of name-value pairs which encapsulates the current QoS settings for the target object.

`set_qos(Object, QoS) -> Reply`

Types:

`Object = #objref`
`QoS = [QoSProperty]`
`QoSProperty = #'CosNotification_Property'{name, value}`
`name = string()`
`value = #any`
`Reply = ok | {'EXCEPTION', #'CosNotification_UnsupportedQoS'{qos_err}}`
`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 alter the current QoS settings for the target object this function must be used. If it is not possible to set the requested QoS the `UnsupportedQoS` exception is raised, which inlcudes a sequence of `PropertyError`'s describing which QoS, possible range and why is not allowed.

`validate_qos(Object, QoS) -> Reply`

Types:

`Object = #objref`
`QoS = [QoSProperty]`
`QoSProperty = #'Property'{name, value}`
`name = string()`
`value = #any`
`Reply = {ok, NamedPropertyRangeSeq} | {'EXCEPTION', CosNotification_UnsupportedQoS{}}`
`NamedPropertyRangeSeq = [NamedPropertyRange]`
`NamedPropertyRange = #CosNotification_NamedPropertyRange{name, range}`
`name = string()`
`range = #CosNotification_PropertyRange{low_val, high_val}`
`low_val = #any`
`high_val = #any`

The purpose of this operations is to check if a QoS setting is supported by the target object and if so, the operation returns additional properties which could be optionally added as well.

### AUTHORS

support - support@erlang.ericsson.se

cosNotification 1.1
Copyright © 1991-2003 Ericsson Utvecklings AB