#ifndef emsSession_idl
#define emsSession_idl
// ********************************
// * *
// * emsSession.idl *
// * *
// ********************************
//Include list
#include "OMGidl/CosNotifyChannelAdmin.idl"
#include "common.idl"
#include "session.idl"
#pragma prefix "mtnm.tmforum.org"
/**
* SD1-27 Overview of
* NML-EML interface
*
*
This module contains the definition of the emsSession interface
* of the NML-EML interface.
*
* Version 3.5.
*
* The emsSession module provides a means for the client to interrogate the
* EMS to determine which manager interfaces it supports.
* The NMS can then retrieve an instance of the manager interface objects it
* requires. This is achieved using generic IDL so that new manager interfaces
* can be easily added.
**/
module emsSession
{
/**
* A handle to an instance of this interface is gained via the
* emsSessionInterface parameter of the getEmsSession()
* operation in EmsSessionFactory_I.
*/
interface EmsSession_I : session::Session_I
{
/** Sequence of manager names
**/
typedef sequence managerNames_T;
/**
* This allows an NMS to request the manager interfaces that the EMS
* implements
*
supportedManagerList: The list of manager names supported
* by the EMS in the form ::managerName_T
* where ::managerName_T is one of the following defined manager
* strings
*
* - "EMS" (mandatory)
*
- "ManagedElement" (mandatory)
*
- "MultiLayerSubnetwork" (mandatory)
*
- "TrafficDescriptor"
*
- "PerformanceManagement"
*
- "Protection"
*
- "EquipmentInventory"
*
- "Maintenance"
*
- "softwareAndDataManager"
*
- "transmissionDescriptor"
*
- "GuiCutThrough" (mandatory)
*
- "FlowDomain"
*
- "MultiLayerSNPPLink"
*
- "TrafficConditioningProfile"
*
- "MLSNPP"
*
* Additional managerName strings can be defined without changing this IDL.
*
Raises globaldefs::ProcessingFailureException
* EXCPT_NOT_IMPLEMENTED - Raised if the EMS does not support this service
* EXCPT_INTERNAL_ERROR - Raised in case of a non-specific EMS internal
* failure
* EXCPT_UNABLE_TO_COMPLY - If the EMS cannot comply with the request,
* and cannot determine the reason it could not comply,
* it may raise this exception.
* EXCPT_ACCESS_DENIED - Raised in case of security violation
**/
void getSupportedManagers(
out managerNames_T supportedManagerList)
raises(globaldefs::ProcessingFailureException);
/**
* This allows an NMS to gain access to the specified manager
* interface without using the OMG Naming Service.
*
*
managerName: The class or type of manager object that the client
* wants to access (see getSupportedManagers()).
*
managerInterface: The actual object returned will implement the
* specified manager interface. However it is returned as a
* Common_I object so that this operation can be generic. The client should
* narrow the returned object to the correct object type.
*
* Attempting to gain access to the following manager interfaces
* may not raise EXCPT_NOT_IMPLEMENTED:
* EMS
* ManagedElement
* MultiLayerSubnetwork
* GuiCutThrough
*
*
Raises globaldefs::ProcessingFailureException
* EXCPT_NOT_IMPLEMENTED - Raised if the EMS does not support this service
* EXCPT_INTERNAL_ERROR - Raised in case of a non-specific EMS internal
* failure
* EXCPT_UNABLE_TO_COMPLY - If the EMS cannot comply with the request,
* and cannot determine the reason it could not comply,
* it may raise this exception.
* EXCPT_ACCESS_DENIED - Raised in case of security violation
**/
void getManager(
in string managerName,
out common::Common_I managerInterface)
raises(globaldefs::ProcessingFailureException);
/**
* This operation allows an NMS to gain access to the event channel to
* receive notifications. It returns a reference to a NotifyChannel
* interface (which is an EventChannel).When the EMS supports the OMG Telecom
* Log service, this operation will return a reference to a NotifyLog
* interface (which is a NotifyChannel).
*
*
CosNotifyChannelAdmin::EventChannel eventChannel: The event channel
* (NotifyChannel or NotifyLog) to be used by the NMS.
*
*
Raises globaldefs::ProcessingFailureException
* EXCPT_NOT_IMPLEMENTED - Raised if the EMS does not support this service
* EXCPT_INTERNAL_ERROR - Raised in case of a non-specific EMS internal
* failure
* EXCPT_UNABLE_TO_COMPLY - If the EMS cannot comply with the request,
* and cannot determine the reason it could not comply,
* it may raise this exception.
* EXCPT_ACCESS_DENIED - Raised in case of security violation
**/
void getEventChannel(
out CosNotifyChannelAdmin::EventChannel eventChannel)
raises(globaldefs::ProcessingFailureException);
};
};
#endif