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_