diff -r e1b950c65cb4 -r 837f303aceeb epoc32/include/etelqos.h --- a/epoc32/include/etelqos.h Wed Mar 31 12:27:01 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,744 +0,0 @@ -// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members -// which accompanies this distribution, and is available -// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// ETel Multimode Packet Data API - Quality of Service (QoS) support -// GPRS Rel97/98, CDMAOne, CDMA2000, Release 99 and Release 4. -// -// - - -#if!defined(__ETELQOS_H__) -#define __ETELQOS_H__ - -#include "etelpckt.h" - -class RPacketContext; -class CPacketQoSPtrHolder; - - -class RPacketQoS : public RTelSubSessionBase -/** -Encapsulates functionality to set the Requested and Minimum Quality of Service -options for a particular context (or "service configuration" in CDMA parlance), -as represented by the RPacketContext class. - -Methods are available to set and get the QoS options, query the QoS capabilities -of the network service and notify the client if a change in the negotiated QoS -options occurs. - -A client must first create an instance of RPacketContext before opening a new -RPacketQoS, since when creating a new RPacketQoS, the client must call the -RPacketQoS::OpenNewQoS() function and pass in a reference to an RPacketContext -instance. - -@publishedPartner -@released -*/ - { -public: - // - // Nested enums and classes - // - /** Defines the QoS reliability settings for GRPS networks. */ - enum TQoSReliability // GPRS Release 97/98 - { - /** Best effort or subscribed value. */ - EUnspecifiedReliabilityClass = 0x01, - /** Reliability Class 1. */ - EReliabilityClass1 = 0x02, - /** Reliability Class 2. */ - EReliabilityClass2 = 0x04, - /** Reliability Class 3. */ - EReliabilityClass3 = 0x08, - /** Reliability Class 4. */ - EReliabilityClass4 = 0x10, - /** Reliability Class 5. */ - EReliabilityClass5 = 0x20 - }; - - /** Defines the QoS precedence for GRPS networks. */ - enum TQoSPrecedence // GPRS Release 97/98 - { - /** Best effort or subscribed value */ - EUnspecifiedPrecedence = 0x01, - /** High priority precedence. */ - EPriorityHighPrecedence = 0x02, - /** Medium priority precedence. */ - EPriorityMediumPrecedence = 0x04, - /** Low priority precedence. */ - EPriorityLowPrecedence = 0x08 - }; - - /** Defines the QoS delay for GPRS and CDMA200 networks. - */ - enum TQoSDelay // GPRS Release 97/98, CDMA2000 - { - /** Best effort or subscribed value. */ - EUnspecifiedDelayClass = 0x01, - /** Delay class 1. */ - EDelayClass1 = 0x02, - /** Delay class 2. */ - EDelayClass2 = 0x04, - /** Delay class 3. */ - EDelayClass3 = 0x08, - /** Delay class 4. */ - EDelayClass4 = 0x10, - /** Delay 40 milli seconds. - - CDMA2000 specific */ - EDelay40ms = 0x20, - /** Delay 120 milli seconds. - - CDMA2000 specific */ - EDelay120ms = 0x40, - /** Delay 360 milli seconds. - - CDMA2000 specific */ - EDelay360ms = 0x80 - }; - - /** Defines the QoS peak throughput rates for GRPS networks. */ - enum TQoSPeakThroughput // GPRS Release 97/98 - { - /** Best effort or subscribed value. */ - EUnspecifiedPeakThroughput = 0x001, - /** Peak throughput of 1,000. */ - EPeakThroughput1000 = 0x002, - /** Peak throughput of 2,000. */ - EPeakThroughput2000 = 0x004, - /** Peak throughput of 4,000. */ - EPeakThroughput4000 = 0x008, - /** Peak throughput of 8,000. */ - EPeakThroughput8000 = 0x010, - /** Peak throughput of 16,000. */ - EPeakThroughput16000 = 0x020, - /** Peak throughput of 32,000. */ - EPeakThroughput32000 = 0x040, - /** Peak throughput of 64,000. */ - EPeakThroughput64000 = 0x080, - /** Peak throughput of 128,000. */ - EPeakThroughput128000 = 0x100, - /** Peak throughput of 256,000. */ - EPeakThroughput256000 = 0x200 - }; - - /** Defines the mean throughput for GRPS networks. */ - enum TQoSMeanThroughput // GPRS Release 97/98 - { - /** Unsubscribed value. */ - EUnspecifiedMeanThroughput = 0x00001, - /** Mean throughput of 100. */ - EMeanThroughput100 = 0x00002, - /** Mean throughput of 200. */ - EMeanThroughput200 = 0x00004, - /** Mean throughput of 500. */ - EMeanThroughput500 = 0x00008, - /** Mean throughput of 1,000. */ - EMeanThroughput1000 = 0x00010, - /** Mean throughput of 2,000. */ - EMeanThroughput2000 = 0x00020, - /** Mean throughput of 5,000. */ - EMeanThroughput5000 = 0x00040, - /** Mean throughput of 10,000. */ - EMeanThroughput10000 = 0x00080, - /** Mean throughput of 20,000. */ - EMeanThroughput20000 = 0x00100, - /** Mean throughput of 50,000. */ - EMeanThroughput50000 = 0x00200, - /** Mean throughput of 100,000. */ - EMeanThroughput100000 = 0x00400, - /** Mean throughput of 200,000. */ - EMeanThroughput200000 = 0x00800, - /** Mean throughput of 500,000. */ - EMeanThroughput500000 = 0x01000, - /** Mean throughput of 1,000,000. */ - EMeanThroughput1000000 = 0x02000, - /** Mean throughput of 2,000,000. */ - EMeanThroughput2000000 = 0x04000, - /** Mean throughput of 5,000,000. */ - EMeanThroughput5000000 = 0x08000, - /** Mean throughput of 10,000,000. */ - EMeanThroughput10000000 = 0x10000, - /** Mean throughput of 20,000,000. */ - EMeanThroughput20000000 = 0x20000, - /** Mean throughput of 50,000,000. */ - EMeanThroughput50000000 = 0x40000, - /** Best effort. */ - EMeanThroughputBestEffort = 0x80000 - }; - - /** Defines the QoS link priority for CMDA2000 networks. */ - enum TQoSLinkPriority - { - /** No link priority. */ - ELinkPriority00 = 0x0001, - /** 1/13th's of user's subscription priority. */ - ELinkPriority01 = 0x0002, - /** 2/13th's of user's subscription priority. */ - ELinkPriority02 = 0x0004, - /** 3/13th's of user's subscription priority. */ - ELinkPriority03 = 0x0008, - /** 4/13th's of user's subscription priority. */ - ELinkPriority04 = 0x0010, - /** 5/13th's of user's subscription priority. */ - ELinkPriority05 = 0x0020, - /** 6/13th's of user's subscription priority. */ - ELinkPriority06 = 0x0040, - /** 7/13th's of user's subscription priority. */ - ELinkPriority07 = 0x0080, - /** 8/13th's of user's subscription priority. */ - ELinkPriority08 = 0x0100, - /** 9/13th's of user's subscription priority. */ - ELinkPriority09 = 0x0200, - /** 10/13th's of user's subscription priority. */ - ELinkPriority10 = 0x0400, - /** 11/13th's of user's subscription priority. */ - ELinkPriority11 = 0x0800, - /** 12/13th's of user's subscription priority. */ - ELinkPriority12 = 0x1000, - /** Subscription priority (13/13th's). */ - ELinkPriority13 = 0x2000 - }; - - /** Defines the QoS data loss rate. */ - enum TQoSDataLoss - { - /** 1% data loss rate. */ - EDataLoss1 = 0x01, - /** 2% data loss rate. */ - EDataLoss2 = 0x02, - /** 5% data loss rate. */ - EDataLoss5 = 0x04, - /** 10% data loss rate. */ - EDataLoss10 = 0x08 - }; - - /** Defines the QoS data rate. */ - enum TQoSDataRate - { - /** A data rate of 8 kb/s. */ - EDataRate8kbps = 0x01, - /** A data rate of 32 kb/s. */ - EDataRate32kbps = 0x02, - /** A data rate of 64 kb/s. */ - EDataRate64kbps = 0x04, - /** A data rate of 144 kb/s. */ - EDataRate144kbps = 0x08, - /** A data rate of 384 kb/s */ - EDataRate384kbps = 0x10 - }; - - // - // TRLPMode - allows the client to specify (if desired) one of the following: - // transparent only, tranparent preferred, non-transparent only or non-transparent - // preferred Radio Link Protocol Mode - // - /** Defines the Radio Link Protocol (RPL) mode. */ - enum TRLPMode - { - /** RPL mode unknown. */ - KRLPUnknown = 0x01, - /** Transparent mode only. */ - KRLPTransparent = 0x02, - /** Non-transparent mode only. */ - KRLPNonTransparent = 0x04, - /** Transparent mode preferred. */ - KRLPTransparentPref = 0x08, - /** Non-transparent mode preferred. */ - KRLPNonTransparentPref = 0x10 - }; - - // The enums TTrafficClass, TDeliveryOrder,TErroneousSDUDelivery, TBitErrorRatio, - // TSDUErrorRatio, TTrafficHandlingPriority have been assigned values because - // the same enums are used both in the TQoSR99_R4Requested / Negotiated classes and - // in the TQoSCapsR99_R4 class. The Caps class has to indicate which, for instance, - // traffic classes are supported in a bitfield, so the enums have been defined as - // different bits in a bit field. - enum TTrafficClass - { - ETrafficClassUnspecified = 0x01, ///< Traffic class - Unspecified - ETrafficClassConversational = 0x02, ///< Traffic class - Conversational - ETrafficClassStreaming = 0x04, ///< Traffic class - Streaming - ETrafficClassInteractive = 0x08, ///< Traffic class - Interactive - ETrafficClassBackground = 0x10 ///< Traffic class - Background - }; - - enum TDeliveryOrder - { - EDeliveryOrderUnspecified = 0x01, ///< SDU Delivery order - Unspecified - EDeliveryOrderRequired = 0x02, ///< SDU Delivery order - Required to be in sequence - EDeliveryOrderNotRequired = 0x04 ///< SDU Delivery order - Not Required to be in sequence - }; - - enum TErroneousSDUDelivery // Erroneous SDU Delivery - { - EErroneousSDUDeliveryUnspecified = 0x01, ///< Unspecified - EErroneousSDUNoDetection = 0x02, ///< Erroneous SDUs delivered - Error detection not considered. - EErroneousSDUDeliveryRequired = 0x04, ///< Erroneous SDUs delivered + error indication - Error detection employed. - EErroneousSDUDeliveryNotRequired = 0x08 ///< Erroneous SDUs discarded - Error detection is employed. - }; - - enum TBitErrorRatio // Residual Bit Error Rate - { - EBERUnspecified = 0x01, ///< Target residual undetected BER - Unspecified - EBERFivePerHundred = 0x02, ///< Target residual BER - 0.05 - EBEROnePerHundred = 0x04, ///< Target residual BER - 0.01 - EBERFivePerThousand = 0x08, ///< Target residual BER - 0.005 - EBERFourPerThousand = 0x10, ///< Target residual BER - 0.004 - EBEROnePerThousand = 0x20, ///< Target residual BER - 0.001 - EBEROnePerTenThousand = 0x40, ///< Target residual BER - 0.0001 - EBEROnePerHundredThousand = 0x80, ///< Target residual BER - 0.00001 - EBEROnePerMillion = 0x100, ///< Target residual BER - 0.000001 - EBERSixPerHundredMillion = 0x200 ///< Target residual BER - 0.00000006 - }; - - enum TSDUErrorRatio // SDU Error Ratio - { - ESDUErrorRatioUnspecified = 0x01, ///< Target value of Erroneous SDUs - Unspecified - ESDUErrorRatioOnePerTen = 0x02, ///< Target SDU error ratio - 0.1 - ESDUErrorRatioOnePerHundred = 0x04, ///< Target SDU error ratio - 0.01 - ESDUErrorRatioSevenPerThousand = 0x08, ///< Target SDU error ratio - 0.007 - ESDUErrorRatioOnePerThousand = 0x10, ///< Target SDU error ratio - 0.001 - ESDUErrorRatioOnePerTenThousand = 0x20, ///< Target SDU error ratio - 0.0001 - ESDUErrorRatioOnePerHundredThousand = 0x40, ///< Target SDU error ratio - 0.00001 - ESDUErrorRatioOnePerMillion = 0x80 ///< Target SDU error ratio - 0.000001 - }; - - enum TTrafficHandlingPriority // Traffic handling priority - { - ETrafficPriorityUnspecified = 0x01, ///< Unspecified Priority level - ETrafficPriority1 = 0x02, ///< Priority level 1 - ETrafficPriority2 = 0x04, ///< Priority level 2 - ETrafficPriority3 = 0x08 ///< Priority level 3 - }; - - struct TBitRate // Bit rates for uplink and downlink - { - TInt iUplinkRate; ///< Uplink bitrate in kbps. Range 0 - 16000 - TInt iDownlinkRate; ///< Downlink bitrate in kbps. Range 0 - 16000 - }; - - /** - Source statistics descriptor - as defined in 3GPP TS 23.107 and TS 24.008. - - @publishedPartner - @released - */ - enum TSourceStatisticsDescriptor - { - /** Unknown source statistics descriptor. */ - ESourceStatisticsDescriptorUnknown = 0x0, - /** Speech source statistics descriptor. */ - ESourceStatisticsDescriptorSpeech = 0x01, - }; - - // - // QoS capabilities classes - // - class TQoSCapsGPRS : public TPacketDataConfigBase - /** - Supported GPRS QoS capabilities. - - @deprecated v9.3 Use TQoSCapsR99_R4 or TQoSCapsR5 instead. - */ - { - public: - IMPORT_C TQoSCapsGPRS(); // iExtensionId = KConfigGPRS - public: - /** Bit-wise sum of the TQoSPrecedence attributes. - - The default value is EUnspecifiedPrecedence. */ - TUint iPrecedence; - /** Bit-wise sum of the TQoSDelay attributes. - - The default value is EUnspecifiedDelay. */ - TUint iDelay; - /** Bit-wise sum of the TQoSReliability attributes. - - The default value is EUnspecifiedReliability. */ - TUint iReliability; - /** Bit-wise sum of the TQoSPeakThroughput attributes. - - The default value is EUnspecifiedPeakThroughput. */ - TUint iPeak; - /** Bit-wise sum of the TQoSMeanThroughput attributes. - - The default value is EUnspecifiedMeanThroughput. */ - TUint iMean; - }; - - class TQoSCapsCDMA2000 : public TPacketDataConfigBase - /** - Supported CDMA2000 QoS capabilities. - - @publishedPartner - @released - */ - { - public: - IMPORT_C TQoSCapsCDMA2000(); // iExtensionId = KConfigCDMA - public: - /** Bit-wise sum of the TQoSLinkPriority attributes. */ - TUint iPriority; - /** Bit-wise sum of the TQoSDataRate attributes for the uplink. */ - TUint iUplinkRate; - /** Bit-wise sum of the TQoSDataRate attributes for the downlink. */ - TUint iDownlinkRate; - /** Bit-wise sum of the TQoSDataLoss attributes. */ - TUint iFwdLossRate; - /** Bit-wise sum of the TQoSDataLoss attributes. */ - TUint iRevLossRate; - /** Bit-wise sum of the TQoSDelay attributes. */ - TUint iFwdMaxDelay; - /** Bit-wise sum of the TQoSDelay attributes. */ - TUint iRevMaxDelay; - }; - - - class TQoSCapsR99_R4 : public TPacketDataConfigBase - /** - GPRS/UMTS Rel99 and UMTS Rel4 QoS capabilities class. - - @publishedPartner - @released - */ - { - public: - IMPORT_C TQoSCapsR99_R4(); - public: - TUint iTrafficClass; ///< Supported traffic class of the MT - TUint iDeliveryOrderReqd; ///< SDU sequential delivery - TUint iDeliverErroneousSDU; ///< Delivery of erroneous SDUs - TUint iBER; ///< Target Bit Error Ratio (BER) - TUint iSDUErrorRatio; ///< Target SDU Error Ratio - TUint iTrafficHandlingPriority; ///< Traffic handling priority - }; - - class TQoSCapsR5 : public TQoSCapsR99_R4 - /** - UMTS Rel5 QoS capabilities class. - - @publishedPartner - @released - */ - { - public: - IMPORT_C TQoSCapsR5(); - public: - TUint iSignallingIndication; ///< Requested signalling indication - TUint iSourceStatisticsDescriptor; ///< Requested source statistics descriptor - }; - - // - // QoS configuration classes - // - class TQoSGPRSRequested : public TPacketDataConfigBase // GPRS Rel97/98 - /** - The GPRS QoS that is requested. - - @deprecated v9.3 Use TQoSR99_R4Requested or TQoSR5Requested instead. - */ - { - public: - IMPORT_C TQoSGPRSRequested(); - public: - /** Precedence requested. The default is EUnspecifiedPrecedence. - - @see TQoSPrecedence */ - TQoSPrecedence iReqPrecedence; - /** Minimum precedence. The default is EUnspecifiedPrecedence. - - @see TQoSPrecedence */ - TQoSPrecedence iMinPrecedence; - /** Requested QoS Delay. The default is EUnspecifiedDelayClass. - - @see TQoSDelay */ - TQoSDelay iReqDelay; - /** Minimum delay requested. The default is EUnspecifiedDelayClass. - - @see TQoSDelay */ - TQoSDelay iMinDelay; - /** Requested reliability. The default is EUnspecifiedReliabilityClass. - - @see TQoSReliability */ - TQoSReliability iReqReliability; - /** Requested minimum reliability . The default is EUnspecifiedReliabilityClass. - - @see TQoSReliability */ - TQoSReliability iMinReliability; - /** Requested peak throughput . The default is EUnspecifiedPeakThroughput. - - @see TQoSPeakThroughput */ - TQoSPeakThroughput iReqPeakThroughput; - /** Requested minimum peak throughput. The default is EUnspecifiedPeakThroughput. - - @see TQoSPeakThroughput */ - TQoSPeakThroughput iMinPeakThroughput; - /** Requested QoS mean throughput. The default is EUnspecifiedMeanThroughput. - - @see TQoSMeanThroughput */ - TQoSMeanThroughput iReqMeanThroughput; - /** Requested minimum QoS mean throughput. The default is EUnspecifiedMeanThroughput. - - @see TQoSMeanThroughput */ - TQoSMeanThroughput iMinMeanThroughput; - }; - - class TQoSGPRSNegotiated : public TPacketDataConfigBase // GPRS Rel97/98 - /** Contains the negotiated QoS values - returned by the GPRS network - after activating a connection and determining the QoS profile. - - @deprecated v9.3 Use TQoSR99_R4Negotiated or TQoSR5Negotiated instead. - */ - { - public: - IMPORT_C TQoSGPRSNegotiated(); - public: - /** Negotiated QoS precedence. The default is EUnspecifiedPrecedence. - - @see TQoSPrecedence */ - TQoSPrecedence iPrecedence; - /** Negotiated QoS delay. The default is EUnspecifiedPeakThroughput. - - @see TQoSDelay */ - TQoSDelay iDelay; - /** Negotiated QoS reliability. The default is EUnspecifiedReliabilityClass. - - @see TQoSReliability */ - TQoSReliability iReliability; - /** Negotiated QoS peak throughput. The default is EUnspecifiedPeakThroughput. - - @see TQoSPeakThroughput */ - TQoSPeakThroughput iPeakThroughput; - /** Negotiated QoS mean throughput. The default is EUnspecifiedMeanThroughput. - - @see TQoSMeanThroughput */ - TQoSMeanThroughput iMeanThroughput; - }; - - class TQoSCDMA2000Requested : public TPacketDataConfigBase // CDMA2000 - /** - The CDMA2000 QoS requested from the network. - - @publishedPartner - @released - */ - { - public: - IMPORT_C TQoSCDMA2000Requested(); - public: - /** The request assured mode. */ - TBool iAssuredMode; // assured vs. non-assured mode - /** The RPL mode requested. - - @see TRLPMode */ - TRLPMode iRLPMode; - /** The link priority requested. - - @see TQoSLinkPriority */ - TQoSLinkPriority iPriority; - /** The uplink rate requested. - - @see TQoSDataRate */ - TQoSDataRate iReqUplinkRate; - /** The minimum uplink rate requested. - - @see TQoSDataRate */ - TQoSDataRate iMinUplinkRate; - /** The downlink rate requested - - @see TQoSDataRate */ - TQoSDataRate iReqDownlinkRate; - /** The minimum downlink rate requested. - - @see TQoSDataRate */ - TQoSDataRate iMinDownlinkRate; - /** The forward loss rate requested. */ - TQoSDataLoss iFwdRequestedLossRate; - TQoSDataLoss iRevRequestedLossRate; - /** The forward accepted loss rate. */ - TQoSDataLoss iFwdAcceptedLossRate; - /** The reverse accepted loss rate. */ - TQoSDataLoss iRevAcceptedLossRate; - /** The forward maximum requested delay. */ - TQoSDelay iFwdMaxRequestedDelay; - /** The reverse maximum requested delay. */ - TQoSDelay iRevMaxRequestedDelay; - /** The forward maximum accepted delay. */ - TQoSDelay iFwdMaxAcceptedDelay; - /** The reverse maximum accepted delay. */ - TQoSDelay iRevMaxAcceptedDelay; - }; - - class TQoSCDMA2000Negotiated : public TPacketDataConfigBase // CDMA2000 - /** - The negotiated CDMA200 QoS parameters. - - @publishedPartner - @released - */ - { - public: - IMPORT_C TQoSCDMA2000Negotiated(); - public: - /** Negotiated assured mode. */ - TBool iAssuredMode; // assured vs. non-assured mode. - /** Negotiated Radio Link Protocol mode. - - @see TRLPMode */ - TRLPMode iRLPMode; - /** Negotiated QoS link priority. - - @see TQoSLinkPriority */ - TQoSLinkPriority iPriority; - /** Negotiated uplink rate. - - @see TQoSDataRate */ - TQoSDataRate iUplinkRate; - /** Negotiated downlink rate. - - @see TQoSDataRate */ - TQoSDataRate iDownlinkRate; - /** Negotiated forward data loss rate. - - @see TQoSDataLoss */ - TQoSDataLoss iFwdDataLossRate; - /** Negotiated reverse data loss rate. - - @see TQoSDataLoss */ - TQoSDataLoss iRevDataLossRate; - /** Negotiated forward maximum delay. - - @see TQoSDelay */ - TQoSDelay iFwdMaxDelay; - /** Negotiated reverse maximum delay. - - @see TQoSDelay */ - TQoSDelay iRevMaxDelay; - }; - - - class TQoSR99_R4Requested : public TPacketDataConfigBase - /** - Contains the requested and minimum values for the - GPRS/UMTS Rel99 and UMTS Rel4 QoS profile attributes. - - @publishedPartner - @released - */ - { - public: - IMPORT_C TQoSR99_R4Requested(); - public: - TTrafficClass iReqTrafficClass; ///< Requested traffic class - TTrafficClass iMinTrafficClass; ///< Minimum acceptable traffic class - TDeliveryOrder iReqDeliveryOrderReqd; ///< Requested value for sequential SDU delivery - TDeliveryOrder iMinDeliveryOrderReqd; ///< Minimum acceptable value for sequential SDU delivery - TErroneousSDUDelivery iReqDeliverErroneousSDU; ///< Requested value for erroneous SDU delivery - TErroneousSDUDelivery iMinDeliverErroneousSDU; ///< Minimum acceptable value for erroneous SDU delivery - TInt iReqMaxSDUSize; ///< Request maximum SDU size - TInt iMinAcceptableMaxSDUSize; ///< Minimum acceptable SDU size - TBitRate iReqMaxRate; ///< Requested maximum bit rates on uplink and downlink - TBitRate iMinAcceptableMaxRate; ///< Minimum acceptable bit rates on uplink and downlink - TBitErrorRatio iReqBER; ///< Requested target BER - TBitErrorRatio iMaxBER; ///< Maximum acceptable target BER - TSDUErrorRatio iReqSDUErrorRatio; ///< Requested target SDU error ratio - TSDUErrorRatio iMaxSDUErrorRatio; ///< Maximum acceptable target SDU error ratio - TTrafficHandlingPriority iReqTrafficHandlingPriority;///< Requested traffic handling priority - TTrafficHandlingPriority iMinTrafficHandlingPriority;///< Minimum acceptable traffic handling priority - TInt iReqTransferDelay; ///< Requested transfer delay (in milliseconds) - TInt iMaxTransferDelay; ///< Maximum acceptable transfer delay (in milliseconds) - TBitRate iReqGuaranteedRate; ///< Requested guaranteed bit rates on uplink and downlink - TBitRate iMinGuaranteedRate; ///< Minimum acceptable guaranteed bit rates on uplink and downlink - }; - - class TQoSR99_R4Negotiated : public TPacketDataConfigBase - /** - Contains the negotiated values for the GPRS/UMTS Rel99 - and UMTS Rel4 QoS profile. - - @publishedPartner - @released - */ - { - public: - IMPORT_C TQoSR99_R4Negotiated(); - public: - TTrafficClass iTrafficClass; ///< Negotiated traffic class - TDeliveryOrder iDeliveryOrderReqd; ///< Negotiated value for sequential SDU delivery - TErroneousSDUDelivery iDeliverErroneousSDU; ///< Negotiated value for erroneous SDU delivery - TInt iMaxSDUSize; ///< Negotiated maximum SDU size (in octets) - TBitRate iMaxRate; ///< Negotiated maximum bit rates on the uplink and downlink - TBitErrorRatio iBER; ///< Negotiated target BER - TSDUErrorRatio iSDUErrorRatio; ///< Negotiated target SDU error ratio - TTrafficHandlingPriority iTrafficHandlingPriority; ///< Negotiated traffic handling priority - TInt iTransferDelay; ///< Negotiated transfer delay (in milliseconds) - TBitRate iGuaranteedRate; ///< Negotiated guaranteed bit rates on the uplink and downlink - }; - - - class TQoSR5Requested : public TQoSR99_R4Requested - /** - Contains the requested and minimum values for the - UMTS/IMS 3GPP Rel5 QoS profile attributes. - - @publishedPartner - @released - */ - { - public: - IMPORT_C TQoSR5Requested(); - public: - /** Requested signalling indication. */ - TBool iSignallingIndication; - /** Requested source statistics descriptor. */ - TSourceStatisticsDescriptor iSourceStatisticsDescriptor; - }; - - - - class TQoSR5Negotiated : public TQoSR99_R4Negotiated - /** - Contains the negotiated values for the UMTS/IMS 3GPP Rel5 QoS profile. - - @publishedPartner - @released - */ - { - public: - IMPORT_C TQoSR5Negotiated(); - public: - /** Negotiated signalling indication. */ - TBool iSignallingIndication; - /** Negotiated source statistics descriptor. */ - TSourceStatisticsDescriptor iSourceStatisticsDescriptor; - }; - - IMPORT_C RPacketQoS(); - IMPORT_C TInt OpenNewQoS(RPacketContext& aPacketContext, TDes& aProfileName); - IMPORT_C TInt OpenExistingQoS(RPacketContext& aPacketContext, const TDesC& aProfileName); - IMPORT_C void Close(); - - IMPORT_C void SetProfileParameters(TRequestStatus& aStatus, TDes8& aProfile) const; - IMPORT_C void GetProfileParameters(TRequestStatus& aStatus, TDes8& aProfile) const; - IMPORT_C void GetProfileCapabilities(TRequestStatus& aStatus, TDes8& aProfileCaps) const; - IMPORT_C void NotifyProfileChanged(TRequestStatus& aStatus, TDes8& aProfile) const; -protected: - IMPORT_C virtual void ConstructL(); - IMPORT_C virtual void Destruct(); -private: - CPacketQoSPtrHolder* iEtelPacketQoSPtrHolder; - }; - -#endif -