A.1 IDL specification (file name "BasicCMIRPConstDefs.idl")
32.6033GPPBasic CM Integration Reference Point (IRP)Common Object Request Broker Architecture (CORBA) Solution Set (SS)Configuration Management (CM)Release 9Telecommunication managementTS
//File: BasicCMIRPConstDefs.idl
#ifndef _BASIC_CM_IRP_CONST_DEFS_IDL_
#define _BASIC_CM_IRP_CONST_DEFS_IDL_
#include <GenericIRPManagementConstDefs.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;
/**
*
* 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.
*/
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;
};
struct Result
{
GenericIRPManagementConstDefs::DN mo;
GenericIRPManagementConstDefs::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
{
GenericIRPManagementConstDefs::MOAttributeName name;
AttributeErrorCategory error;
GenericIRPManagementConstDefs::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
{
GenericIRPManagementConstDefs::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
{
GenericIRPManagementConstDefs::DN object_name;
AttributeErrorSeq errors;
};
typedef sequence <ModifyAttributeErrors> ModifyAttributeErrorsSeq;
typedef sequence < GenericIRPManagementConstDefs::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
{
GenericIRPManagementConstDefs::MOAttributeName name;
GenericIRPManagementConstDefs::MOAttributeValue value;
ModifyOperator operator;
};
typedef sequence <AttributeModification> AttributeModificationSet;
};
#endif // _BASIC_CM_IRP_CONST_DEFS_IDL_