# CosPropertyService_PropertySetDefFactory

### MODULE

CosPropertyService_PropertySetDefFactory

### MODULE SUMMARY

This module implements the OMG CosPropertyService::PropertySetDefFactory interface.

### DESCRIPTION

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

### EXPORTS

`create_propertysetdef(Factory) ->`

Types:

`Factory = PropertySetDef = #objref`

This operation creates a new `PropertySetDef` with no predefined settings.

`create_constrained_propertysetdef(Factory, PropertyTypes, PropertyDefs) -> Reply`

Types:

`Factory = PropertySetDef = #objref`
`PropertyTypes = [CORBA::TypeCode]`
`PropertyDefs = [#'CosPropertyService_PropertyDef'{property_name = Name, property_value = Value, property_mode = Mode}]`
`Name = string()`
`Value = #any`
`Mode = normal | read_only | fixed_normal | fixed_readonly | undefined`
`Reply = {'EXCEPTION', #CosPropertyService_ConstraintNotSupported{}} | PropertySetDef`
`PropertySetDef = #objref`

This operation creates a new `PropertySetDef` with specific constraints. PropertyTypes states allowed TypeCode's and PropertyDefs valid `CosPropertyService::PropertyDef` data.

`create_initial_propertysetdef(Factory, PropertyDefs) -> Reply`

Types:

`Factory = PropertySetDef = #objref`
`PropertyDefs = [#'CosPropertyService_PropertyDef'{property_name = Name, property_value = Value, property_mode = Mode}]`
`Name = string()`
`Value = #any`
`Mode = normal | read_only | fixed_normal | fixed_readonly | undefined`
`Reply = {'EXCEPTION', #CosPropertyService_MultipleExceptions{exceptions = Excs}} | PropertySetDef`
`Excs = [#'CosPropertyService_PropertyException{reason = Reason, failing_property_name = Name}]`
`Reason = invalid_property_name | conflicting_property | property_not_found | unsupported_type_code | unsupported_property | unsupported_mode | fixed_property | read_only_property`
`PropertySetDef = #objref`

This operation creates a new `PropertySetDef` with specific initial properties.

### AUTHORS

Niclas Eklund - support@erlang.ericsson.se

cosProperty 1.1
Copyright © 1991-2003 Ericsson Utvecklings AB