⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cospropertyservice.idl

📁 这是广泛使用的通信开源项目,对于大容量,高并发的通讯要求完全能够胜任,他广泛可用于网络游戏医学图像网关的高qos要求.更详细的内容可阅读相应的材料
💻 IDL
📖 第 1 页 / 共 2 页
字号:
// -*-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 + -