-- IDL module extracted from ITU-T Q.834.4 (07/2003)
#ifndef __Q834_4_RESOURCEALLOCATOR_DEFINED
#define __Q834_4_RESOURCEALLOCATOR_DEFINED
#include "Q834Common.idl"
#pragma prefix "itu.Int"
module q834_4 {
module ResourceAllocation {
// Begin definitions from other idl files
// From Q834Common
typedef Q834Common::ManagedEntityIdType ManagedEntityIdType;
typedef Q834Common::NameSeqType NameSeqType;
typedef Q834Common::ReservationIdType ReservationIdType;
typedef Q834Common::ReservationIdSeqType ReservationIdSeqType;
typedef Q834Common::ServiceInstanceIdType ServiceInstanceIdType;
typedef Q834Common::EndPointType EndPointType;
#define AccessDenied Q834Common::AccessDenied
#define CommFailure Q834Common::CommFailure
#define ConnectionCountExceeded Q834Common::ConnectionCountExceeded
#define InsufficientBW Q834Common::InsufficientBW
#define MaxSubtendingNodesExceeded Q834Common::MaxSubtendingNodesExceeded
#define UnknownNE Q834Common::UnknownNE
#define UnknownPort Q834Common::UnknownPort
#define UnknownProfiles Q834Common::UnknownProfiles
#define UnknownReservationId Q834Common::UnknownReservationId
#define UnknownServiceInstance Q834Common::UnknownServiceInstance
#define ProfileSuspended Q834Common::ProfileSuspended
// End of definitions from other idl files
// Local data types
struct BandwidthInfoType {
long upstreamBW;
long downstreamBW;
};
struct PortBandwidthType {
BandwidthInfoType portBandwidth;
ManagedEntityIdType portId;
};
typedef sequence<PortBandwidthType> PortBandwidthSeqType;
typedef PortBandwidthSeqType AvailableSysBandwidthSeqType;
typedef PortBandwidthSeqType ReservedBandwidthSeqType;
struct ReservationInfoType {
ReservationIdType reservationId;
EndPointType endPointA;
EndPointType endPointB;
NameSeqType profileNameList; // servicetemplates
ServiceInstanceIdType serviceInstanceId;
ReservedBandwidthSeqType reservedBandwidth;
};
struct ReservationBandwidthType {
ReservationIdType reservationId;
ReservedBandwidthSeqType reservedBandwidth;
};
// Local exceptions
// End local definitions
interface ResourceAllocator : itut_x780::ManagedObject {
// See 9.11.1.1 for the description of the behaviour of this operation
ReservationBandwidthType reserveForService(
in EndPointType endPointA,
in EndPointType endPointZ,
in NameSeqType networkCharacteristicsProfiles,
in ServiceInstanceIdType serviceInstanceId )
raises (UnknownNE,
UnknownPort,
UnknownProfiles,
InsufficientBW,
MaxSubtendingNodesExceeded,
ConnectionCountExceeded,
CommFailure,
AccessDenied,
ProfileSuspended );
// See 9.11.1.2 for the description of the behaviour of this operation
AvailableSysBandwidthSeqType cancelReservation (
in ReservationIdType reservationId )
raises (UnknownReservationId,
CommFailure,
AccessDenied);
// See 9.11.1.3 for the description of the behaviour of this operation
ReservationIdType getReservationId (
in ServiceInstanceIdType serviceInstanceId)
raises (UnknownServiceInstance, AccessDenied);
// See 9.11.1.4 for the description of the behaviour of this operation
ReservedBandwidthSeqType reportReservedResources (
in ManagedEntityIdType nEManagedEntityId)
raises (UnknownNE, AccessDenied);
// See 9.11.1.5 for the description of the behaviour of this operation
ReservationIdSeqType getReservations(
in ManagedEntityIdType nEManagedEntityId)
raises (UnknownNE, AccessDenied);
// See 9.11.1.6 for the description of the behaviour of this operation
AvailableSysBandwidthSeqType cancelAllRemainingReservations(
in ManagedEntityIdType nEManagedEntityId)
raises (UnknownNE,
CommFailure,
AccessDenied);
// See 9.11.1.7 for the description of the behaviour of this operation
ReservationInfoType getReservation (
in ReservationIdType reservationId)
raises (UnknownReservationId,
AccessDenied);
// See 9.11.1.8 for the description of the behaviour of this operation
AvailableSysBandwidthSeqType getAvaliableSysBandwidth(
in ManagedEntityIdType nEManagedEntityId)
raises (UnknownNE,
CommFailure,
AccessDenied);
}; // interface ResourceAllocator
}; // module ResourceAllocation
}; // module q834_4
#endif