---
name: "CosNotification_QoSAdmin"
section: "3erl"
platform: "linux"
package: "erlang-manpages"
version: "1:19.2.1+dfsg-2+deb9u3"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/CosNotification_QoSAdmin"
---

# CosNotification\_QoSAdmin(3erl)

This module implements the OMG CosNotification::QoSAdmin interface.

## NAME

CosNotification\_QoSAdmin - 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 includes 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.
