📄 protection.idl
字号:
EProtectionGroupType_T eProtectionGroupType;
ProtectionSchemeState_T protectionSchemeState;
ReversionMode_T reversionMode;
globaldefs::NamingAttributesList_T protectedList;
globaldefs::NamingAttributesList_T protectingList;
globaldefs::NVSList_T ePgpParameters;
globaldefs::NVSList_T additionalInfo;
};
/**
* <p>Sequence of EProtectionGroup_T.</p>
**/
typedef sequence <EProtectionGroup_T> EProtectionGroupList_T;
/**
* <p>This structure is used
* to respond to queries regarding the current protection switch status of a
* protection group or an SNC.</p>
*
* <p>See <a href=supportingDocumentation/protectionSwitch.pdf>
* Protection Switch</a>
* for more information.</p>
*
* ProtectionType_T <b>protectionType</b>:
* <br>The type of protection.<br>
*
* SwitchReason_T <b>switchReason</b>:
* <br>The reason the last switch occurred.<br>
*
* transmissionParameters::LayerRate_T <b>layerRate</b>:
* <br>The layer which this switch is relevant to.<br>
*
* globaldefs::NamingAttributes_T <b>groupName</b>:
* <br>Identifies the protectionGroup for which protection switch status is
* being reported. NULL if protectionType is SNCP.<br>
*
* globaldefs::NamingAttributes_T <b>protectedTP</b>:
* <br>
* This is the TP that is protected. The protected (worker) and protecting TPs
* are fixed in a revertive protection group, the worker can be active or not
* at any point in time. In a non-revertive protection group, there is no
* fixed worker/protecting distinction. The worker TP is indeed always the
* active TP; after a switch, the worker and protecting TPs exchange their
* roles.<br>
* For an SNCP, this is always the reliable TP.<br>
* For a retrieval of a 2F BLSR, each TP is protected,
* and two SwitchData_T are returned.<br>
* For a retrieval of a 4FMSSPR, each worker TP is protected,
* and two SwitchData_T are returned.<br>
* For a retrieval of a 1:N MSP, each worker TP is protected,
* and N SwitchData_T are returned.<br>
* For a revertive 1+1 MSP, this is always the worker TP.<br>
* For a retrieval of a non-revertive 1+1 MSP switch, this is the active
* TP.<br>
* Note: The termination point name must be explicit (a generic endpoint
* specification may not be used in this case). See
* <a href=supportingDocumentation/objectNaming.pdf>
* Object Naming</a> for further detail on FTP naming.<br>
*
* globaldefs::NamingAttributes_T <b>switchToTP</b>:
* <br>Identifies the TP which is being switched to.<br>
* This identifies the
* TP that is the active source after the switch, or currently active if
* no protection switch is currently active.
* Note: The termination point name must be explicit (a generic endpoint
* specification may not be used in this case). See
* <a href=supportingDocumentation/objectNaming.pdf>
* Object Naming</a> for further detail on FTP naming.<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.
* This may be an empty list.<br>
**/
struct SwitchData_T
{
ProtectionType_T protectionType;
SwitchReason_T switchReason;
transmissionParameters::LayerRate_T layerRate;
globaldefs::NamingAttributes_T groupName;
globaldefs::NamingAttributes_T protectedTP;
globaldefs::NamingAttributes_T switchToTP;
globaldefs::NVSList_T additionalInfo;
};
/**
* <p>Sequence of SwitchData_T.</p>
**/
typedef sequence<SwitchData_T> SwitchDataList_T;
/**
* <p>This structure is used to respond to queries
* regarding the current protection switch status of an
* equipment protection group.</p>
*
* EProtectionGroupType_T <b>eProtectionGroupType</b>:
* <br>The type of protection.<br>
*
* ESwitchReason_T <b>eSwitchReason</b>:
* <br>The reason that the last switch occurred.<br>
*
* globaldefs::NamingAttributes_T <b>ePGPName</b>:
* <br>Identifies the equipment protection group for which
* protection switch status is being reported. <br>
*
* globaldefs::NamingAttributes_T <b>protectedE</b>:
* <br>
* This attributes identifies the protected equipment. <br>
* For a retrieval of an M:N group, protectedE always
* identifies a worker equipment instance. In this case, N ESwitchData_T
* are returned as a result of retrieveESwitchData (one for
* each worker equipment instance).<br>
*
* globaldefs::NamingAttributes_T <b>switchToE</b>:
* <br>This identifies the equipment instance
* that is working after the switch, or currently working if
* no protection switch is currently active.<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.
* This may be an empty list.<br>
**/
struct ESwitchData_T
{
EProtectionGroupType_T eProtectionGroupType;
ESwitchReason_T eSwitchReason;
globaldefs::NamingAttributes_T ePGPName;
globaldefs::NamingAttributes_T protectedE;
globaldefs::NamingAttributes_T switchToE;
globaldefs::NVSList_T additionalInfo;
};
/**
* <p>Sequence of ESwitchData_T.</p>
**/
typedef sequence<ESwitchData_T> ESwitchDataList_T;
/**
* <p>The protectionManager is used as a handle to gain access to the
* protection functionalities of the NML-EML interface. In this
* release, only retrieval functionalities of the protection (of both the MS
* (line) level and SNC level) are supported.</p>
*
* <p>A handle to an instance of this interface is gained via the
* emsSession::EmsSession_I::getManager() operation in Manager.</p>
**/
/**
* <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.pdf>iterator
* overview</a> for information on how iterators are used in this
* interface.</p>
**/
interface ProtectionGroupIterator_I
{
boolean next_n(
in unsigned long how_many,
out ProtectionGroupList_T pgpList)
raises(globaldefs::ProcessingFailureException);
unsigned long getLength()
raises(globaldefs::ProcessingFailureException);
void destroy()
raises(globaldefs::ProcessingFailureException);
};
/**
* <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.pdf>iterator
* overview</a> for information on how iterators are used in this
* interface. The EprotectionGroupIterator is used to retrieve a
* large number of equipment protection groups. </p>
*
**/
interface EProtectionGroupIterator_I
{
boolean next_n(
in unsigned long how_many,
out EProtectionGroupList_T ePGPList)
raises(globaldefs::ProcessingFailureException);
unsigned long getLength()
raises(globaldefs::ProcessingFailureException);
void destroy()
raises(globaldefs::ProcessingFailureException);
};
/**
* <p>The ProtectionMgr_I is used to gain access to protection groups and
* their operations.</p>
**/
interface ProtectionMgr_I : common::Common_I
{
/**
* <p>This operation is used by the client to discover all the
* protection groups currently in operation for the managed
* element.</p>
*
* <br>globaldefs::NamingAttributes_T meName:
* the name of the managed element for which the request is made.
* <br>unsigned long how_many: Maximum number of protection groups
* to report in the first batch.
* <br>ProtectionGroupList_T pgList: First batch of protection groups.
* <br>ProtectionGroupIterator_I pgIt: Iterator used to access the
* remaining PGs, if any.
* <br><b>Raises</b> globaldefs::ProcessingFailureException <br>
* EXCPT_INTERNAL_ERROR - Raised in case of non-specific EMS internal
* failure<br>
* EXCPT_INVALID_INPUT - Raised when meName does not reference a
* managedElement object<br>
* EXCPT_ENTITY_NOT_FOUND - Raised when meName references object which does
* not exist<br>
* EXCPT_NE_COMM_LOSS - Raised when communications to managedElement is
* lost<br>
* EXCPT_TOO_MANY_OPEN_ITERATORS - Raised when maximum number of iterators
* that the EMS can support has been reached<br>
* <br>
**/
void getAllProtectionGroups(
in globaldefs::NamingAttributes_T meName,
in unsigned long how_many,
out ProtectionGroupList_T pgList,
out ProtectionGroupIterator_I pgpIt)
raises(globaldefs::ProcessingFailureException);
/**
* <p>This operation is used by the client to discover all the
* equipment protection groups currently in operation for the managed
* element.</p>
*
* <br>globaldefs::NamingAttributes_T meName:
* the name of the managed element for which the request is made.
* <br>unsigned long how_many: Maximum number of equipment protection
* groups to report in the first batch.
* <br>EProtectionGroupList_T epgpList: First batch of equipment protection
* groups.
* <br>EProtectionGroupIterator_I epgpIt: Iterator used to access the
* remaining EPGs, if any.
* <br><b>Raises</b> globaldefs::ProcessingFailureException <br>
* EXCPT_NOT_IMPLEMENTED - Raised when an EMS is unable to support this
* service<br>
* EXCPT_INTERNAL_ERROR - Raised in case of non-specific EMS internal
* failure<br>
* EXCPT_INVALID_INPUT - Raised when meName does not reference a
* managedElement object<br>
* EXCPT_ENTITY_NOT_FOUND - Raised when meName references object which does
* not exist<br>
* EXCPT_NE_COMM_LOSS - Raised when communications to managedElement is
* lost<br>
* EXCPT_TOO_MANY_OPEN_ITERATORS - Raised when maximum number of iterators
* that the EMS can support has been reached<br>
* <br>
**/
void getAllEProtectionGroups(
in globaldefs::NamingAttributes_T meName,
in unsigned long how_many,
out EProtectionGroupList_T epgpList,
out EProtectionGroupIterator_I epgpIt)
raises(globaldefs::ProcessingFailureException);
/**
* <p>This operation is used to get the current status of a
* protectionGroup. This service is needed so that even if a filter
* is established, the NMS can query the status of a protection
* group.</p>
*
* <br>globaldefs::NamingAttributes_T protectionGroupName:
* the name of the protection Group that the client is
* interested in.
* <br>protection::ProtectionGroup_T protectionGroup: the returned
* protection group.
* <br><b>Raises</b> globaldefs::ProcessingFailureException <br>
* EXCPT_INTERNAL_ERROR - Raised in case of non-specific EMS internal
* failure<br>
* EXCPT_INVALID_INPUT - Raised when pgName does not reference a protection
* group<br>
* EXCPT_ENTITY_NOT_FOUND - Raised when pgName references a PG object that
* does not exist<br>
* EXCPT_NE_COMM_LOSS - Raised when communications to managedElement is
* lost<br>
* <br>
**/
void getProtectionGroup(
in globaldefs::NamingAttributes_T pgName,
out protection::ProtectionGroup_T protectionGroup)
raises (globaldefs::ProcessingFailureException);
/**
* <p>This operation is used to get the current status of a
* Equipment Protection Group. This service is needed so that even if a
* filter is established, the NMS can query the status of a
* protection group.</p>
*
* <br>globaldefs::NamingAttributes_T ePGPname:
* the name of the equipment protection group that the client is
* interested in.
* <br>protection::EProtectionGroup_T eProtectionGroup: the returned
* equipment protection group.
* <br><b>Raises</b> globaldefs::ProcessingFailureException <br>
* EXCPT_INTERNAL_ERROR - Raised in case of non-specific EMS internal
* failure<br>
* EXCPT_NOT_IMPLEMENTED - Raised when an EMS is unable to support this
* service<br>
* EXCPT_INVALID_INPUT - Raised when ePGPName does not reference an equipment
* protection group<br>
* EXCPT_ENTITY_NOT_FOUND - Raised when ePGPName references an object which
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -