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

📄 protection.idl

📁 UCS (Ultra Corba Simulator) is one more powerful corba client/servant simulator tool than other simi
💻 IDL
📖 第 1 页 / 共 3 页
字号:
#ifndef         protection_idl
#define         protection_idl

// *************************************
// *                                   *
// * protection.idl                    *
// *                                   *
// *************************************

//Include list
#include "globaldefs.idl"
#include "transmissionParameters.idl"
#include "common.idl"

#pragma prefix "mtnm.tmforum.org"

  /** 
   * <a href=supportingDocumentation/overview_NML-EML_Interface.pdf>Overview of 
   * NML-EML interface</a>
   *
   * <p>This module contains the definition of the protection structure
   * of the NML-EML interface.
   * It also contains the definition of the protection manager.</p>
   *
   * <h5> Version 3.0. </h5>
   **/

module protection
{
  /**
   * <p>The protection scheme state identifies the state in which the
   * protection scheme is in.  PSS_FORCED_OR_LOCKED_OUT indicates that the 
   * entire group is locked; partial locking is indicated by PSS_AUTOMATIC.  
   * Individual locks can be reported through transmission parameters on the 
   * appropriate TPs or equipment instances.</p>
   **/
   enum ProtectionSchemeState_T
   {
    PSS_UNKNOWN,
    PSS_AUTOMATIC,
    PSS_FORCED_OR_LOCKED_OUT
   };


  /**
   * <p>The protection type identifies whether a protection switch
   * is an MS protection switch or an SNCP protection switch.</p>
   * <p>It should be noted that although the term MSP was chosen 
   * as the original specific protection scheme to which the related behaviour
   * applied was Multiplex Section Protection, the label is now more generally 
   * applied to any 1+1 or 1:N Trail protection scheme.</p>
   **/
   enum ProtectionType_T
   {
    PT_MSP_APS,
    PT_SNCP
   };


  /**
   * <p>The switch reason reflects the reason why a
   * switch occurred.<br>
   * SR_NA is used upon retrieval of switch data for non-revertive groups, if a 
   * more precise value is not available.<br>
   * SR_RESTORED is used for revertive groups to indicate a return to the normal 
   * state.<br>
   * SR_SIGNAL_MISMATCH is used in the case the signal is ok, but is identified 
   * as coming from an incorrect source: TRAIL_TRACE_IDENTIFIER_MISMATCH, Signal 
   * Label Mismatch, etc.<br>
   * SR_AUTOMATIC_SWITCH is used when the exact switch reason is unknown,
   *  in retrievals of switch data if a protection switch is currently active
   *  or in protection switch notifications.<br>
   * SR_MANUAL indicates a switch that was requested by the operator
   * and includes forced switches.
   * </p>
   **/
   enum SwitchReason_T
   {
    SR_NA,
    SR_RESTORED,
    SR_SIGNAL_FAIL,
    SR_SIGNAL_MISMATCH,
    SR_SIGNAL_DEGRADE,
    SR_AUTOMATIC_SWITCH,
    SR_MANUAL
   };

  /**
   * <p>The equipment switch reason reflects the reason why a
   * switch occurred. EswitchReason is a string that can take 
   * the following values.<br>
   * "SR_NA" is used, 
   * if a more precise value is not available.<br>
   * "SR_E_FAILURE" is used when an instance of equipment has failed.<br>
   * "SR_MANUAL" indicates a switch that was requested by the operator
   * and includes forced switches.
   * </p>
   **/
   typedef string ESwitchReason_T;


  /**
   * <p> This type identifies the possible protection switch commands.
   * See ITU-T Recommendation G.841 for definitions.</p>
   **/
   enum ProtectionCommand_T 
   {
     PC_CLEAR,
     PC_LOCKOUT,
     PC_FORCED_SWITCH,
     PC_MANUAL_SWITCH,
     PC_EXERCISER
   };


  /**
   * <p>The protection group type identifies the type of the
   * protection Group.</p>
   * <p>It should be noted that although the term MSP was chosen 
   * as the original specific protection scheme to which the related behaviour
   * applied was Multiplex Section Protection, the label is now more generally 
   * applied to any 1+1 or 1:N Trail protection scheme.</p>
   **/
   enum ProtectionGroupType_T
    {
     PGT_MSP_1_PLUS_1,
     PGT_MSP_1_FOR_N,
     PGT_2_FIBER_BLSR,
     PGT_4_FIBER_BLSR
    };

  /**
   * <p> The equipment protection group type is a string that identifies the
   * type of equipment protection. The string can take on the following value: 
   * "M_FOR_N." 
   * M:N equipment protection means that M pieces of equipment protect N 
   * pieces of equipment. </p>
   **/
   typedef string EProtectionGroupType_T;


  /**
   * <p>Reversion mode is used to indicate whether, after repair of a
   * failed resource, an additional switch should be
   * made to revert to the preferred resource.
   * Revertive modes may require a wait to restore (WTR) time
   * setting.</p>
   **/
   enum ReversionMode_T
   {
    RM_UNKNOWN,
    RM_NON_REVERTIVE,       // i.e. non revertive 
    RM_REVERTIVE // when the failed resource is repaired,
                // it reverts to the preferred resource.
   };


  /**
   * <p>The struct ProtectionGroup_T represents a protection group,
   * which is used to model any 1+1 or 1:N Trail protection (for example
   * MS layer protection in an MSSPRING).</p>
   *
   * <p>See <a href=supportingDocumentation/protectionSwitch.pdf>
   * Protection Switch</a> for more information.</p>
   *
   * globaldefs::NamingAttributes_T <b>name</b>:
   * <br>The name represents the name of the
   * Protection Group 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.
   * It is a readonly attribute.<br>
   *
   * string <b>userLabel</b>:
   * <br>The userLabel is provisionable by the NMS and would typically 
   * represent the ring-id of a ring. This attribute can be set
   * by NMS through the Common_I interface service
   * common::Common_I::setUserLabel(). It is a read/write attribute.<br>
   *
   * string <b>nativeEMSName</b>:
   * <br>The native name of the protection group is the AID of the
   * protection group itself. In case of the 4-Fiber BLSR (MSSPRING) group, the 
   * managed element usually has only one group, whereas it is represented as 
   * three groups in this interface.
   * Therefore the native name of the 4-Fiber group will be
   * the AID of the 4-Fiber group. The native name of the component APS (MSP)
   * groups is set to some useful name chosen by the EMS. Its
   * aim is to provide a "nomenclature bridge" to aid relating information
   * presented on NMS displays to EMS displays (via GUI cut through).
   * This is never set to a null string. It should be noted that although the 
   * term MSP was chosen as the original specific protection scheme to which the 
   * related behaviour applied was Multiplex Section Protection, the label is 
   * now more generally applied to any 1+1 or 1:N Trail protection scheme.<br>
   *
   * string <b>owner</b>:
   * <br>The owner is provisionable by the NMS. This attribute can be set
   * by NMS through the Common_I interface service
   * common::Common_I::setOwner(). It is a read/write attribute.<br>
   *
   * ProtectionGroupType_T <b>protectionGroupType</b>:
   * <br>Defines the type of scheme this group represents (e.g. 2f,4f blsr 
   * etc). It is a readonly attribute.<br>
   *
   * ProtectionSchemeState_T <b>protectionSchemeState</b>:
   * <br>Identifies the current protection scheme state.
   * It is a readonly attribute.<br>
   *
   * ReversionMode_T <b>reversionMode</b>:
   * <br>Defines whether the protection scheme is revertive or not.
   * It is a readonly attribute.<br>
   *
   * transmissionParameters::LayerRate_T <b>rate</b>:
   * <br>Line rate of the PTPs/FTPs of the protection group.
   * It is a readonly attribute.<br>
   *
   * globaldefs::NamingAttributesList_T <b>pgpTPList</b>:
   * <br>This is the list of TPs that belong in the protection group.
   * The list of TPs is partially ordered. The protecting TP always
   * trails its worker TPs. The East TPs are always contiguous in the list, as 
   * well as West TPs.
   * <br>
   *
   * globaldefs::NVSList_T <b>pgpParameters</b>:
   * <br>The pgpParameters contains a name value list for the known parameters
   * of the protection group.  Non-applicable parameters and parameters for 
   * which the value is unknown to the EMS may be left out.
   * See <a href=supportingDocumentation/PGPParameters.pdf>PGP Parameters</a>
   * for details. It is a readonly attribute.<br>
   *
   * globaldefs::NVSList_T <b>additionalInfo</b>:
   * <br>This attribute allows the communication from the EMS to the NMS of
   * additional information which is not explicitly modelled. Additional info 
   * is used to convey the pointer to the alarm severity assignment profile.
   * See <a href=supportingDocumentation/additionalInfoUsage.pdf>
   * Additional Info Usage</a> for further information on usage. This 
   * may be an empty list.<br>
   **/
   struct ProtectionGroup_T
   {
    globaldefs::NamingAttributes_T name;
    string userLabel;
    string nativeEMSName;
    string owner;
    ProtectionGroupType_T protectionGroupType;
    ProtectionSchemeState_T protectionSchemeState;
    ReversionMode_T reversionMode;
    transmissionParameters::LayerRate_T rate;
    globaldefs::NamingAttributesList_T pgpTPList;
    globaldefs::NVSList_T pgpParameters;
    globaldefs::NVSList_T additionalInfo;
   };


  /**
   * <p>Sequence of ProtectionGroup_T.</p>
   **/
   typedef sequence <ProtectionGroup_T> ProtectionGroupList_T;


  /**
   * <p>The struct EProtectionGroup_T represents an equipment protection group,
   * which is used to model equipment protection.</p>
   *
   * globaldefs::NamingAttributes_T <b>name</b>:
   * <br>The name represents the name of the Equipment
   * Protection Group 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.
   * It is a readonly attribute.<br>
   *
   * string <b>userLabel</b>:
   * <br>The userLabel is provisionable by the NMS. This attribute can be set
   * by NMS through the Common_I interface service
   * common::Common_I::setUserLabel(). It is a read/write attribute.<br>
   *
   * string <b>nativeEMSName</b>:
   * <br>The native name of the equipment protection group <br>. 
   *
   * string <b>owner</b>:
   * <br>The owner is provisionable by the NMS. This attribute can be set
   * by NMS through the Common_I interface service
   * common::Common_I::setOwner(). It is a read/write attribute.<br>
   *
   * EProtectionGroupType_T <b>eProtectionGroupType</b>:
   * <br>Defines the type of scheme this group represents (so far, only  M:N 
   * equipment protection has been identified). It is a readonly attribute.<br>
   *
   * ProtectionSchemeState_T <b>protectionSchemeState</b>:
   * <br>Identifies the current protection scheme state.
   * It is a readonly attribute.<br>
   *
   * ReversionMode_T <b>reversionMode</b>:
   * <br>Defines whether the protection scheme is revertive or not.
   * It is a readonly attribute.<br>
   *
   * globaldefs::NamingAttributesList_T <b>protectedList</b>:
   * <br>This is provides a list of the protected equipment instances.
   * For M:N equipment protection, this list would have N elements.<br>
   *
   * globaldefs::NamingAttributesList_T <b>protectingList</b>:
   * <br>This is provides a list of the protecting equipment instances.
   * For M:N equipment protection, this list would have M elements. <br>
   *
   * globaldefs::NVSList_T <b>ePgpParameters</b>:
   * <br>The epgpParameters contains a name value list of the associated 
   * parameters for the equipment protection group.  
   * No epgpParameters have been identified. 
   * It is a readonly attribute.<br>
   *
   * globaldefs::NVSList_T <b>additionalInfo</b>:
   * <br>This attribute allows the communication from the EMS to the NMS of  
   * additional information which is not explicitly modelled. Additional info
   * is used to convey the pointer to the alarm severity assignment profile.
   * See <a href=supportingDocumentation/additionalInfoUsage.pdf>
   * Additional Info Usage</a> for further information on usage. This 
   * may be an empty list.<br>
   **/
   struct EProtectionGroup_T
   {
    globaldefs::NamingAttributes_T name;
    string userLabel;
    string nativeEMSName;
    string owner;

⌨️ 快捷键说明

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