-- 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