📄 equipment.idl
字号:
#ifndef equipment_idl#define equipment_idl// *************************************// * *// * equipment.idl *// * *// *************************************//Include list#include "common.idl"#include "globaldefs.idl"#include "terminationPoint.idl"#pragma prefix "mtnm.tmforum.org" /** * <a href=supportingDocumentation/overview.html>Overview of NML-EML interface</a> * * <p>This module contains the definition of the equipment structure * of the NML-EML interface. * It also contains the definition of the equipment manager.</p> * * <h5> Version 2.1. </h5> **/module equipment{ /** * <p>Type of equipment object in equipment holder. * Values are vendor-specific.</p> **/ typedef string EquipmentObjectType_T; /** * <p>Set of types of equipment objects that can be supported by * an equipment holder.</p> **/ typedef sequence<EquipmentObjectType_T> EquipmentObjectTypeList_T; /** * <p>Basic administration state equipment objects.</p> * <p>It has the following values:<dir> * IN_SERVICE means the entity has been put into operation and is operating as provisioned * (completely or partially).<br> * OUT_OF_SERVICE means the entity is entirely not capable of performing its * provisioned functions and is not restricted by administrative actions.<br> * OUT_OF_SERVICE_BY_MAINTENANCE means that the entity has been taken * intentionally out of service by a management action.<br> * SERV_NA means that the service state is not applicable.</dir></p> **/ enum ServiceState_T { IN_SERVICE, OUT_OF_SERVICE, OUT_OF_SERVICE_BY_MAINTENANCE, SERV_NA }; /** * <p>Types of equipment holders.</p> * Valid values are:<dir> * "rack"<br> * "shelf"<br> * "sub_shelf"<br> * "slot"<br> * "sub_slot"</dir> **/ typedef string EquipmentHolderType_T; /** * <p>Indicates the state of the equipment holder object with respect to its * directly contained equipment. * See <a href=supportingDocumentation/equipmentStates.pdf>Equipment Holder States</a>. * Applies when the equipment holder can contain equipment objects.</p> **/ enum HolderState_T { EMPTY, INSTALLED_AND_EXPECTED, EXPECTED_AND_NOT_INSTALLED, INSTALLED_AND_NOT_EXPECTED, MISMATCH_OF_INSTALLED_AND_EXPECTED, UNAVAILABLE, UNKNOWN }; /** * <p>The equipment object represents physical resources managed by an EMS. * An equipment is contained within an equipment holder, and may not itself * contain other equipment. * There is only one equipment struct for identifying replaceable and * non-replaceable units. For each replaceable hardware unit there shall * be an equipment object. The modelling of non-replaceable units as equipment * objects is optional. </p> * * globaldefs::NamingAttributes_T <b>name</b>: * <dir>The name represents the name of the Equipment * which is assigned by the EMS upon creation. * The EMS is responsible for guaranteeing the uniqueness of the name * within the context of the ManagedElement. * The naming for equipment is deterministic, see * <a href=supportingDocumentation/objectNaming.html>Object Naming</a> * for further detail.</dir> * * string <b>userLabel</b>: * <dir>The userLabel is provisionable by the NMS. This attribute can be set * by the NMS through the Common_I interface service * <a href=_common.Common_I.html#common::Common_I::setUserLabel>setUserLabel</a>. * It is a read/write attribute.</dir> * * string <b>nativeEMSName</b>: * <dir> Represents how the equipment is referred to on EMS/NE displays. Its * aim is to provide a "nomenclature bridge" to aid relating information * presented on NMS displays to EMS/NE displays (via GUI cut through). * May be a NULL string.</dir> * string <b>owner</b>: * <dir>owner may be specified by the NMS. May be empty.</dir> * * boolean <b>alarmReportingIndicator</b>: * <dir> Provides an indication whether alarm reporting for this instance * is active or not. It is a read/write attribute.</dir> * * ServiceState_T <b>serviceState</b>: * <dir>Current state of the equipment.</dir> * * EquipmentObjectType_T <b>expectedEquipmentObjectType</b>: * <dir>Defines the type of expected equipment. This is an * empty string if there is no expected equipment.</dir> * * EquipmentObjectType_T <b>installedEquipmentObjectType</b>: * <dir>Defines the type of installed equipment. This is an * empty string if there is no installed equipment.</dir> * * string <b>installedPartNumber</b>: * <dir>This is the resource part number (PN) of the installed equipment. * If not available (or there is no installed equipment), an empty string shall be used. * It is a read-only attribute.</dir> * * string <b>installedVersion</b>: * <dir>Firmware version of the installed equipment. * If not available (or there is no installed equipment), an empty string shall be used. * It is a read-only attribute.</dir> * * string <b>installedSerialNumber</b>: * <dir> Defines the serial number of the installed equipment. * If not available (or there is no installed equipment), an empty string shall be used. * It is a read-only attribute.</dir> * * globaldefs::NVSList_T <b>additionalInfo</b>: * <dir> This a vendor specific attribute which contains additional specific * information about the equipment. * <br> Example: * (fct,OIS16), (format,22), (manufacturerplace,Mun), (manufacturer year,1999), * (manufacturer month,June), (day,26), (hw-code,S22353-Q900-93X16), * (hw-status,01)<br> * This list can be empty. * It is a read-only attribute.</dir> **/ struct Equipment_T { globaldefs::NamingAttributes_T name; string userLabel; string nativeEMSName; string owner; boolean alarmReportingIndicator; ServiceState_T serviceState; EquipmentObjectType_T expectedEquipmentObjectType; EquipmentObjectType_T installedEquipmentObjectType; string installedPartNumber; string installedVersion; string installedSerialNumber; globaldefs::NVSList_T additionalInfo; }; /** * <p>Represents the data necessary to create an equipment object.</p> * * string <b>userLabel</b>: * <dir>The userLabel is provisionable by the NMS.</dir> * * boolean <b>forceUniqueness</b>: * <dir>Specifies whether uniqueness of the userLabel is required amongst equipments of * the EMS. The operation will fail if userLabel is already in use.</dir> * * string <b>owner</b>: * <dir>owner may be specified by the NMS. May be empty.</dir> * * EquipmentObjectType_T <b>expectedEquipmentObjectType</b>: * <dir>Defines the type of expected equipment.</dir> * * globaldefs::NamingAttributes_T <b>equipmentHolderName</b>: * <dir>Represents the name of equipment holder that will contain the equipment.</dir> * * globaldefs::NVSList_T <b>additionalInfo</b>: * <dir> This a vendor specific attribute which contains additional specific * information about the equipment.</dir> **/ struct EQTCreateData_T { string userLabel; boolean forceUniqueness; string owner; EquipmentObjectType_T expectedEquipmentObjectType; globaldefs::NamingAttributes_T equipmentHolderName; globaldefs::NVSList_T additionalInfo; }; /** * <p>Represents the physical resource of a network element that is * capable of holding other physical resources. Examples of resources * are equipment racks, shelves, or slots.</p> * An equipment holder object may contain * a number of instances of other equipment holder objects * (for instance representing * slots within a shelf, or shelves within a rack), * and/or a single equipment object. * * globaldefs::NamingAttributes_T <b>name</b>: * <dir>An equipment holder is identified by a unique name. * The EMS is responsible for guaranteeing the uniqueness of the name * within the context of the ManagedElement. * The naming for equipment is deterministic, see * <a href=supportingDocumentation/objectNaming.html>Object Naming</a>. * </dir> * * string <b>userLabel</b>: * <dir>The userLabel is provisionable by the NMS. This attribute can be set * by the NMS through the Common_I interface service * <a href=_common.Common_I.html#common::Common_I::setUserLabel>setUserLabel</a>. * It is a read/write attribute.</dir> * * string <b>nativeEMSName</b>: * <dir> Represents how the equipment holder is referred to on EMS/NE displays. Its * aim is to provide a "nomenclature bridge" to aid relating information * presented on NMS displays to EMS/NE displays (via GUI cut through). * May be a NULL string.</dir> * * string <b>owner</b>: * <dir>owner may be specified by the NMS. May be empty.</dir> * * boolean <b>alarmReportingIndicator</b>: * <dir> Provides an indication whether alarm reporting for this instance * is active or not. It is a read/write attribute.</dir> * * EquipmentHolderType_T <b>holderType</b>: * <dir>Indicates the type of equipment holder.</dir> * * NamingAttributes_T <b>expectedOrInstalledEquipment</b>: * <dir>The equipment object expected or installed in the equipment holder, if any. * NULL if the equipment holder is empty or if it only contains other equipment holders. * </dir> * * EquipmentObjectTypeList_T <b>acceptableEquipmentTypeList</b>: * <dir>Represents the types of equipment objects that can be supported * directly by the equipment holder. This is an empty list if the equipment holder * can only contain other equipment holders.</dir> * * HolderState_T <b>holderState</b>: * <dir>Represents the state of the equipment holder.</dir> * * globaldefs::NVSList_T <b>additionalInfo</b>: * <dir>This attribute allows the communication from the EMS to the NMS of additional * information which is not explicitly modelled. * It is a readonly attribute.</dir> **/ struct EquipmentHolder_T { globaldefs::NamingAttributes_T name; string userLabel; string nativeEMSName; string owner; boolean alarmReportingIndicator; EquipmentHolderType_T holderType; globaldefs::NamingAttributes_T expectedOrInstalledEquipment; EquipmentObjectTypeList_T acceptableEquipmentTypeList; HolderState_T holderState; globaldefs::NVSList_T additionalInfo; }; /** * <p>Distinguishes between equipment and equipment holders.</p> **/ enum EquipmentTypeQualifier_T { EQT, EQT_HOLDER }; /** * <p>UNION equipmentOrHolder</p> **/ union EquipmentOrHolder_T switch (EquipmentTypeQualifier_T) { case EQT: Equipment_T equip; case EQT_HOLDER: EquipmentHolder_T holder; }; /** * <p>List of EquipmentOrHolder_T</p> **/ typedef sequence<EquipmentOrHolder_T> EquipmentOrHolderList_T; /** * <p>In order to allow the NMS to deal with a large number of objects, * iterators are used.</p> * <p>See <a href=supportingDocumentation/iterators.html>iterator overview</a> * for information on how iterators are used in this interface.</p> **/ interface EquipmentOrHolderIterator_I { boolean next_n(in unsigned long how_many, out EquipmentOrHolderList_T equipmentOrHolderList) raises (globaldefs::ProcessingFailureException); unsigned long getLength() raises (globaldefs::ProcessingFailureException); void destroy() raises (globaldefs::ProcessingFailureException);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -