A.2 IDL specification (file name "CSIRPSystem.idl")

32.3533GPPCommon Object Request Broker Architecture (CORBA) Solution Set (SS)Communication Surveillance (CS) Integration Reference Point (IRP)Release 9Telecommunication managementTS

//File: CSIRPSystem.idl

#ifndef _CS_IRP_SYSYEM_IDL_

#define _CS_IRP_SYSYEM_IDL_

#include <ManagedGenericIRPSystem.idl>

#include <ManagedGenericIRPConstDefs.idl>

#include <CSIRPConstDefs.idl>

// This statement must appear after all include statements

#pragma prefix "3gppsa5.org"

/* ## Module: CSIRPSystem

This module implements capabilities of CSIRP.

=============================================

*/

module CSIRPSystem

{

/**

* The InvalidHeartbeatPeriod exception is used when the period

* value to be set by IRPManager is not a reasonable in IRPAgent’s

* implementation. A very short period may cause IRPAgent to

* send many heartbeat notification in a short time, which may

* decrease the performance of IRPAgent. To prevent this,

* IRPAgent may set the lower limit period in its system

* implemntation. When the period to be set is shorter the

* lower limit period, IRPAgent may throw this exception

* and reject to set the period to new value.

* Note: set the period to zero must be allowed. The behaviour of

* setting period to zero pls see definition for Period.

*/

exception InvalidHeartbeatPeriod

{

unsigned short period_lower_limit;

string reason;

};

exception InvalidManagerIdentifier { string reason; };

exception ConflictingHeartbeatPeriod { string reason; };

/*

System fails to complete the operation. System can provide reason

to qualify the exception. The semantics carried in reason

is outside the scope of this IRP.

*/

exception GetHeartbeatPeriod { string reason; };

exception SetHeartbeatPeriod { string reason; };

exception TriggerHeartbeat { string reason; };

exception GetCSIRPVersions { string reason; };

exception GetCSIRPOperationsProfile { string reason; };

exception GetCSIRPNotificationProfile { string reason; };

interface CSIRP

{

/**

* IRPManager invokes this operation to obtain the current

* heartbeat period.

*/

CSIRPConstDefs::Result get_heartbeat_period(

out CSIRPConstDefs::HeartbeatPeriod heartbeat_period

)

raises (GetHeartbeatPeriod);

/**

* IRPManager invokes this operation to set the heartbeatPeriod.

* If the heartbeatPeriod is modified by one IRPManager, a

* notifyHeartbeat notification should be emitted

* immediately to all the subscribed IRPManagers to indicate

* the new heartbeatPeriod. If the heartbeatPeriod is set to

* zero, one notifyHeartbeat notification will be

* emitted immediately and no more

* notifications unless the heartbeatPeriod is modified again.

*/

CSIRPConstDefs::Result set_heartbeat_period(

in CSIRPConstDefs::HeartbeatPeriod heartbeat_period

)

raises (SetHeartbeatPeriod,

ConflictingHeartbeatPeriod,

InvalidHeartbeatPeriod,

ManagedGenericIRPSystem::ValueNotSupported,

ManagedGenericIRPSystem::OperationNotSupported);

/*

* IRPManager invoke this operation to trigger ET_HEARTBEAT

* notification positively.

*/

CSIRPConstDefs::Result trigger_heartbeat(

in CSIRPConstDefs::ManagerIdentifier manager_identifier

)

raises (TriggerHeartbeat, InvalidManagerIdentifier);

/**

* Return the list of all supported CSIRP versions.

*/

ManagedGenericIRPConstDefs::VersionNumberSet get_cs_irp_versions (

)

raises (GetCSIRPVersions);

/**

* Return the list of all supported operations and their supported

* parameters for a specific CSIRP version.

*/

ManagedGenericIRPConstDefs::MethodList get_cs_irp_operations_profile (

in ManagedGenericIRPConstDefs::VersionNumber irp_version

)

raises (GetCSIRPOperationsProfile,

ManagedGenericIRPSystem::OperationNotSupported,

ManagedGenericIRPSystem::InvalidParameter);

/**

* Return the list of all supported notifications and their supported

* parameters for a specific CSIRP version.

*/

ManagedGenericIRPConstDefs::MethodList get_cs_irp_notification_profile (

in ManagedGenericIRPConstDefs::VersionNumber irp_version

)

raises (GetCSIRPNotificationProfile,

ManagedGenericIRPSystem::OperationNotSupported,

ManagedGenericIRPSystem::InvalidParameter);

};

};

#endif // _CS_IRP_SYSTEM_IDL_