#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 *
    *
  1. "EMS" (mandatory) *
  2. "ManagedElement" (mandatory) *
  3. "MultiLayerSubnetwork" (mandatory) *
  4. "TrafficDescriptor" *
  5. "PerformanceManagement" *
  6. "Protection" *
  7. "EquipmentInventory" *
  8. "Maintenance" *
  9. "softwareAndDataManager" *
  10. "transmissionDescriptor" *
  11. "GuiCutThrough" (mandatory) *
  12. "FlowDomain" *
  13. "MultiLayerSNPPLink" *
  14. "TrafficConditioningProfile" *
  15. "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