Erlang logo
User's Guide
Reference Manual
Release Notes
PDF
Top

cosNotification
Reference Manual
Version 1.1.18


Expand All
Contract All

Table of Contents

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 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.