📄 cospropertyservice.idl
字号:
// -*-c++-*-
// CosPropertyService.idl,v 1.20 1999/05/28 00:15:17 parsons Exp
// ================================================================
//
// = LIBRARY
// cos
//
// = FILENAME
// CosPropertyService.idl
//
// = DESCRITION
// The property service, downloaded from
// ftp://ftp.omg.org/pub/docs/1995/95-06-01.ps
//
// = AUTHOR
// Alexander Babu Arulanthu <alex@cs.wustl.edu>
//
// ================================================================
#ifndef TAO_PROPERTY_IDL
#define TAO_PROPERTY_IDL
#include <orb.idl>
#pragma prefix "omg.org"
module CosPropertyService
{
// = TITLE
// CosPropertyService : To support properties (that are typed
// named values dynamically associated with an object, outside
// of the type system.
//
// = DESCRIPTION
// The data types and interfaces to deal with property names,
// property values, property modes etc.
// = Data Types.
typedef string PropertyName;
struct Property
{
PropertyName property_name;
any property_value;
};
enum PropertyModeType
{
normal,
read_only,
fixed_normal,
fixed_readonly,
undefined
};
struct PropertyDef
{
PropertyName property_name;
any property_value;
PropertyModeType property_mode;
};
struct PropertyMode
{
PropertyName property_name;
PropertyModeType property_mode;
};
typedef sequence<PropertyName> PropertyNames;
typedef sequence<Property> Properties;
typedef sequence<PropertyDef> PropertyDefs;
typedef sequence<PropertyMode> PropertyModes;
typedef sequence<CORBA::TypeCode> PropertyTypes;
interface PropertyNamesIterator;
interface PropertiesIterator;
interface PropertySetFactory;
interface PropertySetDef;
interface PropertySet;
// = Exceptions
exception ConstraintNotSupported {};
exception InvalidPropertyName {};
exception ConflictingProperty {};
exception PropertyNotFound {};
exception UnsupportedTypeCode {};
exception UnsupportedProperty {};
exception UnsupportedMode {};
exception FixedProperty {};
exception ReadOnlyProperty {};
enum ExceptionReason
{
invalid_property_name,
conflicting_property,
property_not_found,
unsupported_type_code,
unsupported_property,
unsupported_mode,
fixed_property,
read_only_property
};
struct PropertyException
{
ExceptionReason reason;
PropertyName failing_property_name;
};
typedef sequence<PropertyException> PropertyExceptions;
exception MultipleExceptions
{
PropertyExceptions exceptions;
};
// = Interface Definitions.
interface PropertySetFactory
{
// = TITLE
// Factory class for PropertySet interface.
// = DESCRIPTION
// Support for creating PropertySets with initial
// constraints and properties.
PropertySet create_propertyset ();
// The create_propertyset operation returns a new
// PropertySet. It is considered an implementation issue as to
// whether the PropertySet contains any initial properties or
// has constraints.
PropertySet create_constrained_propertyset (in PropertyTypes allowed_property_types,
in Properties allowed_properties)
raises (ConstraintNotSupported);
// The create_constrained_propertyset operation allows a client
// to create a new PropertySet with specific constraints.
PropertySet create_initial_propertyset (in Properties initial_properties)
raises (MultipleExceptions);
// The create_initial_propertyset operation allows a client to
// create a new PropertySet with specific initial properties.
};
interface PropertySetDefFactory
{
// = TITLE
// Factory class for PropertySetDef interface.
// = DESCRIPTION
// Support for creating Propsetdefs with initial constraints
// and properties.
PropertySetDef create_propertysetdef ();
// The create_propertysetdef operation returns a new
// PropertySetDef.
PropertySetDef create_constrained_propertysetdef (in PropertyTypes allowed_property_types,
in PropertyDefs allowed_property_defs)
raises (ConstraintNotSupported);
// The create_constrained_propertysetdef operation allows a
// client to create a new PropertySetDef with specific
// constraints, including property modes.
PropertySetDef create_initial_propertysetdef (in PropertyDefs initial_property_defs)
raises (MultipleExceptions);
// The create_initial_propertysetdef operation allows a client
// to create a new PropertySetDef with specific initial
// properties, including property modes.
};
interface PropertySet
{
// = TITLE
// The PropertySet interface provides operations to define
// and modify properties, list and get properties, and
// delete properties.
//
// = DESCRIPTION
// Provides support for defining and modifying properties,
// getting properties and their names and deleting properties.
// = Support for defining and modifying properties.
void define_property (in PropertyName property_name,
in any property_value)
raises (InvalidPropertyName,
ConflictingProperty,
UnsupportedTypeCode,
UnsupportedProperty,
ReadOnlyProperty);
// Will modify or add a property to the PropertySet. If the
// property already exists, then the property type is checked
// before the value is overwritten. If the property does not
// exist, then the property is added to the PropertySet.
void define_properties (in Properties nproperties)
raises (MultipleExceptions);
// Will modify or add each of the properties in Properties
// parameter to the PropertySet. For each property in the list,
// if the property already exists, then the property type is
// checked before overwriting the value. If the property does
// not exist, then the property is added to the PropertySet.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -