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

📄 basiccmirpconstdefs.idl

📁 UCS (Ultra Corba Simulator) is one more powerful corba client/servant simulator tool than other simi
💻 IDL
字号:
//File: BasicCMIRPConstDefs.idl

#ifndef _BASIC_CM_IRP_CONST_DEFS_IDL_
#define _BASIC_CM_IRP_CONST_DEFS_IDL_

// This statement must appear after all include statements
#pragma prefix "3gppsa5.org"

/* ## Module: BasicCMIRPConstDefs
This module contains commonly used definitions for BasicCMIRP.
================================================================
*/
module BasicCMIRPConstDefs
{
   /**
    * Defines the name of a Managed Object Class
    */
   typedef string MOClass;

   /**
    * The format of Distinguished Name (DN) is specified in 3GPP TS 32.300
    * "Name Conventions for Managed Objects".
    */
   typedef string DN;

   /**
    * Defines the name of an attribute of a Managed Object
    */
   typedef string MOAttributeName;

   /**
    * Defines the value of an attribute of a Managed Object in form of a CORBA
    * Any. Apart from basic datatypes already defined in CORBA, the allowed
    * attribute value types are defined in the AttributeTypes module.
    */
   typedef any MOAttributeValue;

   /**
    *
    * In this version the only allowed filter value is "TRUE" i.e. a filter that
    * matches everything.
    */
   typedef string Filter;

   /**
    * ResultContents is used to tell how much information to get back
    * from the find_managed_objects operation.
    *
    * NAMES: Used to get only Distinguished Name
    *        for MOs.
    *        The name contains both the MO class
    *        and the names of all superior objects in the naming
    *        tree.
    *
    * NAMES_AND_ATTRIBUTES: Used to get both NAMES plus
    *    MO attributes (all or selected).
    */
   enum ResultContents
   {
      NAMES,
      NAMES_AND_ATTRIBUTES
   };

   /**
    * ScopeType defines the kind of scope to use in a search
    * together with SearchControl.level, in a SearchControl value.
    *
    * SearchControl.level is always >= 0. If a level is bigger than the
    * depth of the tree there will be no exceptions thrown.
    * BASE_ONLY: level ignored, just return the base object.
    * BASE_NTH_LEVEL: return all subordinate objects that are on "level"
    * distance from the base object, where 0 is the base object.
    * BASE_SUBTREE: return the base object and all of its subordinates
    * down to and including the nth level.
    * BASE_ALL: level ignored, return the base object and all of it's
    * subordinates.
    */
   enum ScopeType
   {
      BASE_ONLY,
      BASE_NTH_LEVEL,
      BASE_SUBTREE,
      BASE_ALL
   };

   /**
    * SearchControl controls the find_managed_object search,
    * and contains:
    * the type of scope ("type" field),
    * the level of scope ("level" field), level 0 means the "baseObject",
    *    level 1 means baseobject including its sub-ordinates etc..
    * the filter ("filter" field),
    * the result type ("contents" field).
    * The type, level and contents fields are all mandatory.
    * The filter field contains the filter expression.
    *  The string "TRUE" indicates "no filter",
    * i.e. a filter that matches everything.
    */
   struct SearchControl
   {
      ScopeType type;
      unsigned long level;
      Filter filter_;
      ResultContents contents;
   };

   /**
    * Represents an attribute: "name" is the attribute name
    * and "value" is the attribute value.
    */
   struct MOAttribute
   {
      MOAttributeName name;
      MOAttributeValue value;
   };

   typedef sequence <MOAttribute> MOAttributeSet;

   struct Result
   {
      DN mo;
      MOAttributeSet attributes;
   };

   typedef sequence <Result> ResultSet;

   /**
    * AttributeErrorCategory defines the categories of errors, related to
    * attributes, that can occur during creation or modification of MOs.
    *
    * NO_SUCH_ATTRIBUTE: The specified attribute does not exist.
    * INVALID_ATTRIBUTE_VALUE: The specified attribute value is not valid.
    * MISSING_ATTRIBUTE_VALUE: An attribute value is required but none was
    *   provided and no default value is defined for the attribute.
    * INVALID_MODIFY_OPERATOR: The specified modify operator is not valid
    *   (e.g. operator ADD_VALUES applied to a non multi-valued attribute
    *   or operator SET_TO_DEFAULT applied where no default value is defined).
    * MODIFY_NOT_ALLOWED: The modification of the attribute is not allowed.
    * MODIFY_FAILED: The modification failed because of an unspecified reason.
    */
   enum AttributeErrorCategory
   {
      NO_SUCH_ATTRIBUTE,
      INVALID_ATTRIBUTE_VALUE,
      MISSING_ATTRIBUTE_VALUE,
      INVALID_MODIFY_OPERATOR,
      MODIFY_NOT_ALLOWED,
      MODIFY_FAILED
   };

   /**
    * DeleteErrorCategory defines the categories of errors that can occur
    * during deletion of MOs.
    *
    * SUBORDINATE_OBJECT: The MO cannot be deleted due to subordinate MOs.
    * DELETE_NOT_ALLOWED: The deletion of the MO is not allowed.
    * DELETE_FAILED: The deletion failed because of an unspecified reason.
    */
   enum DeleteErrorCategory
   {
      SUBORDINATE_OBJECT,
      DELETE_NOT_ALLOWED,
      DELETE_FAILED
   };

   /**
    * AttributeError represents an error, related to an attribute, that occured
    * during creation or modification of MOs.
    * It contains:
    * - the name of the indicted attribute ("name" field),
    * - the category of the error ("error" field),
    * - optionally, the indicted attribute value ("value" field),
    * - optionally, additional details on the error ("reason" field).
    */
   struct AttributeError
   {
      MOAttributeName name;
      AttributeErrorCategory error;
      MOAttributeValue value;
      string reason;
   };

   typedef sequence <AttributeError> AttributeErrorSeq;

   /**
    * DeleteError represents an error that occured during deletion of MOs.
    * It contains:
    * - the distinguished name of the indicted MO ("object_name" field),
    * - the category of the error ("error" field),
    * - optionally, additional details on the error ("reason" field).
    */
   struct DeleteError
   {
      DN object_name;
      DeleteErrorCategory error;
      string reason;
   };

   typedef sequence <DeleteError> DeleteErrorSeq;

   /**
    * ModifyAttributeErrors represents errors that occured during
    * modification of attributes of a MO.
    * It contains:
    * - the distinguished name of the indicted MO ("object_name" field),
    * - a sequence containing the attribute errors ("errors" field).
    */
   struct ModifyAttributeErrors
   {
      DN object_name;
      AttributeErrorSeq errors;
   };

   typedef sequence <ModifyAttributeErrors> ModifyAttributeErrorsSeq;

   typedef sequence <MOAttributeName> AttributeNameSet;

   /**
    * ModifyOperator defines the way in which an attribute value is to be
    * applied to an attribute in a modification of MO attributes.
    *
    * REPLACE: replace the current value with the provided value
    * ADD_VALUES: for a multi-valued attribute, add the provided values to the
    *   current list of values
    * REMOVE_VALUES: for a multi-valued attribute, remove the provided values
    *   from the current list of values
    * SET_TO_DEFAULT: set the attribute to its default value
    */
   enum ModifyOperator
   {
      REPLACE,
      ADD_VALUES,
      REMOVE_VALUES,
      SET_TO_DEFAULT
   };

   /**
    * AttributeModification defines an attribute value and the way it is to
    * be applied to an attribute in a modification of MO attributes.
    * It contains:
    * - the name of the attribute to modify ("name" field),
    * - the value to apply to this attribute ("value" field),
    * - the way the attribute value is to be applied to the attribute
    *   ("operator" field).
    */
   struct AttributeModification
   {
      MOAttributeName name;
      MOAttributeValue value;
      ModifyOperator operator;
   };

   typedef sequence <AttributeModification> AttributeModificationSet;

};

#endif // _BASIC_CM_IRP_CONST_DEFS_IDL_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -