epoc32/include/networking/qos3gpp_subconparams.inl
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     1 // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 // Inline Functions file for the 3GPP SubConnection Extension Parameters
    15 // 
    16 //
    17 
    18 /**
    19  @file
    20  @publishedAll
    21  @released
    22 */
    23 
    24 
    25 
    26 #ifndef QOS3GPP_SUBCONPARAMS_INL
    27 #define QOS3GPP_SUBCONPARAMS_INL
    28 
    29 /**
    30 @param      aFamily the sub-connection parameter family to which the newly created object is to be added
    31 @param      aType The type of the set from TParameterSetType (ERequested, EAcceptable or EGranted)
    32 @return     pointer to the created object
    33 @publishedAll
    34 @released Since 9.3
    35 */
    36 CSubConQosR99ParamSet* CSubConQosR99ParamSet::NewL(CSubConParameterFamily& aFamily, CSubConParameterFamily::TParameterSetType aType)
    37     {
    38     CSubConQosR99ParamSet* obj = NewL();
    39     CleanupStack::PushL(obj);
    40     aFamily.AddExtensionSetL(*obj, aType);
    41     CleanupStack::Pop(obj);
    42     return obj;
    43     }
    44 
    45 /**
    46 @param      aFamily the parameter family to which the newly created object is to be added
    47 @param      aType The type of the set from TParameterSetType (ERequested, EAcceptable or EGranted)
    48 @return     pointer to the created object
    49 @publishedAll
    50 @released Since 9.3
    51 */
    52 CSubConQosR99ParamSet* CSubConQosR99ParamSet::NewL(RParameterFamily& aFamily, RParameterFamily::TParameterSetType aType)
    53     {
    54     CSubConQosR99ParamSet* obj = NewL();
    55     CleanupStack::PushL(obj);
    56     aFamily.AddParameterSetL(obj, aType);
    57     CleanupStack::Pop(obj);
    58     return obj;
    59     }
    60 
    61 /**
    62 @return     pointer to the created object
    63 @publishedAll
    64 @released Since 9.3
    65 */
    66 CSubConQosR99ParamSet* CSubConQosR99ParamSet::NewL()
    67     {
    68     STypeId typeId = STypeId::CreateSTypeId(KSubCon3GPPExtParamsFactoryUid, KSubConQosR99ParamsType);
    69     return static_cast<CSubConQosR99ParamSet*>(CSubConParameterSet::NewL(typeId));
    70     }
    71 
    72 /**
    73 @publishedAll
    74 @released Since 9.3
    75 */
    76 CSubConQosR99ParamSet::CSubConQosR99ParamSet()
    77     : CSubConExtensionParameterSet(),
    78     iTrafficClass(RPacketQoS::ETrafficClassUnspecified),
    79     iDeliveryOrder(RPacketQoS::EDeliveryOrderUnspecified),
    80     iDeliveryOfErroneusSdu(RPacketQoS::EErroneousSDUDeliveryUnspecified),
    81     iResidualBer(RPacketQoS::EBERUnspecified),
    82     iErrorRatio(RPacketQoS::ESDUErrorRatioUnspecified),
    83     iPriority(RPacketQoS::ETrafficPriorityUnspecified),
    84     iTransferDelay(0),
    85     iMaxSduSize(0),
    86     iMaxBitrateUplink(0),
    87     iMaxBitrateDownlink(0),
    88     iGuaBitrateUplink(0),
    89     iGuaBitrateDownlink(0)
    90     {
    91     }
    92 
    93 /** Identifies the current traffic class. Traffic class is; Converstional, Streaming, Interactive or Background.
    94 See 3GPP TS 23.107.
    95 @return the traffic class
    96 @publishedAll
    97 @released Since 9.3
    98 */
    99 RPacketQoS::TTrafficClass CSubConQosR99ParamSet::GetTrafficClass() const
   100     {
   101     return iTrafficClass;
   102     }
   103 
   104 /** Current delivery order. Indicates whether the bearer shall provide in-sequence SDU delivery or not.
   105 @return Current delivery order. 
   106 @publishedAll
   107 @released Since 9.3
   108 */
   109 RPacketQoS::TDeliveryOrder CSubConQosR99ParamSet::GetDeliveryOrder() const
   110     {
   111     return iDeliveryOrder;
   112     }
   113 
   114 /** Current delivery of erroneous SDUs. Indicates whether SDUs detected as erroneous shall be delivered or discarded.
   115 @return Current delivery of erroneous SDUs. 
   116 @publishedAll
   117 @released Since 9.3
   118 */
   119 RPacketQoS::TErroneousSDUDelivery CSubConQosR99ParamSet::GetErroneousSDUDelivery() const
   120     {
   121     return iDeliveryOfErroneusSdu;
   122     }
   123 
   124 /** Indicates the undetected bit error ratio in the delivered SDUs. If no error detection is
   125 requested, Residual bit error ratio indicates the bit error ratio in
   126 the delivered SDUs.
   127 @return the residual bit error ratio. 
   128 @publishedAll
   129 @released Since 9.3
   130 */
   131 RPacketQoS::TBitErrorRatio CSubConQosR99ParamSet::GetResidualBitErrorRatio() const
   132     {
   133     return iResidualBer;
   134     }
   135 
   136 /** Indicates the fraction of SDUs lost or detected as erroneous.
   137 @return the SDU error ratio.  
   138 @publishedAll
   139 @released Since 9.3
   140 */
   141 RPacketQoS::TSDUErrorRatio CSubConQosR99ParamSet::GetSDUErrorRatio() const
   142     {
   143     return iErrorRatio;
   144     }
   145 
   146 /** Current traffic handling priority. Specifies the relative importance for handling of all SDUs
   147 belonging to the UMTS bearer compared to the SDUs of other bearers. This is defined only for
   148 Interactive traffic class. See 3GPP TS 23.107
   149 @return the traffic handling priority. 
   150 @publishedAll
   151 @released Since 9.3
   152 */
   153 RPacketQoS::TTrafficHandlingPriority CSubConQosR99ParamSet::GetTrafficHandlingPriority() const
   154     {
   155     return iPriority;
   156     }
   157 
   158 /** @return the transfer delay. Indicates maximum delay for 95th percentile of the distribution
   159 of delay for all delivered SDUs during the lifetime of a bearer service, where delay for an SDU
   160 is defined as the time from a request to transfer an SDU at one SAP to its delivery at the other
   161 SAP. 
   162 @publishedAll
   163 @released Since 9.3
   164 */
   165 TInt CSubConQosR99ParamSet::GetTransferDelay() const
   166     {
   167     return iTransferDelay;
   168     }
   169 
   170 /** @return the maximum SDU size. 
   171 @publishedAll
   172 @released Since 9.3
   173 */
   174 TInt CSubConQosR99ParamSet::GetMaxSduSize() const
   175     {
   176     return iMaxSduSize;
   177     }
   178 
   179 /** @return Current maximum bitrate for uplink direction. The traffic is conformant with Maximum
   180 bitrate as long as it follows a token bucket algorithm where token rate equals Maximum bitrate
   181 and bucket size equals Maximum SDU size.
   182 @publishedAll
   183 @released Since 9.3
   184 */
   185 TInt CSubConQosR99ParamSet::GetMaxBitrateUplink() const
   186     {
   187     return iMaxBitrateUplink;
   188     }
   189 
   190 /** Getter function for the maximum downlink bit rate.
   191 @return the maximum downlink bit rate. 
   192 @publishedAll
   193 @released Since 9.3
   194 */
   195 TInt CSubConQosR99ParamSet::GetMaxBitrateDownlink() const
   196     {
   197     return iMaxBitrateDownlink;
   198     }
   199 
   200 /** Getter function for the guaranteed uplink bit rate.
   201 @return the guaranteed uplink bit rate. 
   202 @publishedAll
   203 @released Since 9.3
   204 */
   205 TInt CSubConQosR99ParamSet::GetGuaBitrateUplink() const
   206     {
   207     return iGuaBitrateUplink;
   208     }
   209 
   210 /** Getter function for the guaranteed downlink bit rate.
   211 @return the guaranteed downlink bit rate. 
   212 @publishedAll
   213 @released Since 9.3
   214 */
   215 TInt CSubConQosR99ParamSet::GetGuaBitrateDownlink() const
   216     {
   217     return iGuaBitrateDownlink;
   218     }
   219 
   220 /** Sets the traffic class.
   221 @param aTrafficClass Value to which to set the traffic class. 
   222 @publishedAll
   223 @released Since 9.3
   224 */
   225 void CSubConQosR99ParamSet::SetTrafficClass(RPacketQoS::TTrafficClass aTrafficClass)
   226     {
   227     iTrafficClass = aTrafficClass;
   228     }
   229 
   230 /** Sets the delivery order. Indicates whether in-sequence SDU delivery shall be provided or not.
   231 @param aDeliveryOrder Value to which to set the delivery order. 
   232 @publishedAll
   233 @released Since 9.3
   234 */
   235 void CSubConQosR99ParamSet::SetDeliveryOrder(RPacketQoS::TDeliveryOrder aDeliveryOrder)
   236     {
   237     iDeliveryOrder = aDeliveryOrder;
   238     }
   239 
   240 /** Sets the handling of the delivery of erroneous SDUs
   241 @param aDeliveryOfErroneusSdu Value to which to set the dilvery of erroneous SDUs.
   242 Indicates whether SUDs detected as erroneous shall be delivered or discarded. 
   243 @publishedAll
   244 @released Since 9.3
   245 */
   246 void CSubConQosR99ParamSet::SetErroneousSDUDelivery(RPacketQoS::TErroneousSDUDelivery aDeliveryOfErroneusSdu)
   247     {
   248     iDeliveryOfErroneusSdu = aDeliveryOfErroneusSdu;
   249     }
   250 
   251 /** Sets the residual bit error ratio. Indicates the undetected bit error ratio in the delivered SDUs.
   252 If no error detection is requested, Residual bit error ratio indicates the bit error ratio in the delivered SDUs.
   253 @param aResidualBer Value to which to set the residual bit error ratio. 
   254 @publishedAll
   255 @released Since 9.3
   256 */
   257 void CSubConQosR99ParamSet::SetResidualBitErrorRatio(RPacketQoS::TBitErrorRatio aResidualBer)
   258     {
   259     iResidualBer = aResidualBer;
   260     }
   261 
   262 /** Sets the error ratio. Indicates the fraction of SDUs lost or detected as erroneous.
   263 SDU error ratio is defined only for conforming traffic.
   264 @param aErrorRatio Sets the error ratio. Indicates the fraction of SDUs lost or detected as erroneous.
   265 SDU error ratio is defined only for conforming traffic. 
   266 @publishedAll
   267 @released Since 9.3
   268 */
   269 void CSubConQosR99ParamSet::SetSDUErrorRatio(RPacketQoS::TSDUErrorRatio aErrorRatio)
   270     {
   271     iErrorRatio = aErrorRatio;
   272     }
   273 
   274 /** Sets the traffic handling priority.
   275 @param aPriority Value to which to set the traffic handling priority. 
   276 @publishedAll
   277 @released Since 9.3
   278 */
   279 void CSubConQosR99ParamSet::SetTrafficHandlingPriority(RPacketQoS::TTrafficHandlingPriority aPriority)
   280     {
   281     iPriority = aPriority;
   282     }
   283 
   284 /** Sets the transfer delay. Indicates maximum delay for 95th percentile of the distribution of delay for
   285 all delivered SDUs during the lifetime of a bearer service, where delay for an SDU is defined as the time
   286 from a request to transfer an SDU at one SAP to its delivery at the other SAP.
   287 @param aTransferDelay Value to which to set the transfer delay. 
   288 @publishedAll
   289 @released Since 9.3
   290 */
   291 void CSubConQosR99ParamSet::SetTransferDelay(TInt aTransferDelay)
   292     {
   293     iTransferDelay = aTransferDelay;
   294     }
   295 
   296 /** Sets the maximum SDU size. Defines the maximum allowed SDU size.
   297 @param aMaxSduSize Value to which to set the maximum SDU size. 
   298 @publishedAll
   299 @released Since 9.3
   300 */
   301 void CSubConQosR99ParamSet::SetMaxSduSize(TInt aMaxSduSize)
   302     {
   303     iMaxSduSize = aMaxSduSize;
   304     }
   305 
   306 /** Sets the maximum bitrate for uplink direction. The traffic is conformant with Maximum bitrate as
   307 long as it follows a token bucket algorithm where token rate equals Maximum bitrate and bucket size
   308 equals Maximum SDU size.
   309 @param aMaxBitrate Value to which to set the maximum bitrate for uplink direction.
   310 @publishedAll
   311 @released Since 9.3
   312 */
   313 void CSubConQosR99ParamSet::SetMaxBitrateUplink(TInt aMaxBitrateUplink)
   314     {
   315     iMaxBitrateUplink = aMaxBitrateUplink;
   316     }
   317 
   318 /** Sets the maximum bitrate for downlink direction. The traffic is conformant with Maximum bitrate as
   319 long as it follows a token bucket algorithm where token rate equals Maximum bitrate and bucket size
   320 equals Maximum SDU size.
   321 @param aMaxBitrate Value to which to set the maximum bitrate for downlink direction.
   322 @publishedAll
   323 @released Since 9.3
   324 */
   325 void CSubConQosR99ParamSet::SetMaxBitrateDownlink(TInt aMaxBitrateDownlink)
   326     {
   327     iMaxBitrateDownlink = aMaxBitrateDownlink;
   328     }
   329 
   330 /** Sets the guaranteed bitrate for uplink direction.
   331 @param aGuaBitrateUplink Value to which to set the guaranteed SDU size.
   332 @publishedAll
   333 @released Since 9.3
   334 */
   335 void CSubConQosR99ParamSet::SetGuaBitrateUplink(TInt aGuaBitrateUplink)
   336     {
   337     iGuaBitrateUplink = aGuaBitrateUplink;
   338     }
   339 
   340 /** Sets the guaranteed bitrate for downlink direction.
   341 @param aGuaBitrateDownlink Value to which to set the guaranteed SDU size.
   342 @publishedAll
   343 @released Since 9.3
   344 */
   345 void CSubConQosR99ParamSet::SetGuaBitrateDownlink(TInt aGuaBitrateDownlink)
   346     {
   347     iGuaBitrateDownlink = aGuaBitrateDownlink;
   348     }
   349 
   350 
   351 #ifdef SYMBIAN_NETWORKING_UMTSR5
   352 /**
   353 @param aFamily the sub-connection parameter family to which the newly created object is to be added
   354 @param aType The type of the set from TParameterSetType (ERequested, EAcceptable or EGranted)
   355 @return pointer to the created object
   356 */
   357 CSubConImsExtParamSet* CSubConImsExtParamSet::NewL(CSubConParameterFamily& aFamily, CSubConParameterFamily::TParameterSetType aType)
   358     {
   359     CSubConImsExtParamSet* obj = NewL();
   360     CleanupStack::PushL(obj);
   361     aFamily.AddExtensionSetL(*obj, aType);
   362     CleanupStack::Pop(obj);
   363     return obj;
   364     }
   365 
   366 /**
   367 @param      aFamily the parameter family to which the newly created object is to be added
   368 @param      aType The type of the set from TParameterSetType (ERequested, EAcceptable or EGranted)
   369 @return     pointer to the created object
   370 */
   371 CSubConImsExtParamSet* CSubConImsExtParamSet::NewL(RParameterFamily& aFamily, RParameterFamily::TParameterSetType aType)
   372     {
   373     CSubConImsExtParamSet* obj = NewL();
   374     CleanupStack::PushL(obj);
   375     aFamily.AddParameterSetL(obj, aType);
   376     CleanupStack::Pop(obj);
   377     return obj;
   378     }
   379 
   380 /**
   381 @return pointer to the created object
   382 */
   383 CSubConImsExtParamSet* CSubConImsExtParamSet::NewL()
   384     {
   385     STypeId typeId = STypeId::CreateSTypeId(KSubCon3GPPExtParamsFactoryUid, KSubConImsExtParamsType);
   386     return static_cast<CSubConImsExtParamSet*>(CSubConParameterSet::NewL(typeId));
   387     }
   388 
   389 CSubConImsExtParamSet::CSubConImsExtParamSet()
   390     : iImsSignallingIndicator(EFalse)
   391     {
   392     }
   393 
   394 /** @return the IMS Signalling Indicator flag for 3GPP R5 dedicated signalling PDP contexts.
   395 */
   396 TBool CSubConImsExtParamSet::GetImsSignallingIndicator() const
   397     {
   398     return iImsSignallingIndicator;
   399     }
   400 
   401 /** Sets the IMS Signalling Indicator flag for 3GPP R5 dedicated signalling PDP contexts.
   402 @param aImsSignallingIndicator Value to which to set the IMS signalling indicator. */
   403 void CSubConImsExtParamSet::SetImsSignallingIndicator(TBool aImsSignallingIndicator)
   404     {
   405     iImsSignallingIndicator = aImsSignallingIndicator;
   406     }
   407 
   408 /**
   409 @param      aFamily the sub-connection parameter family to which the newly created object is to be added
   410 @param      aType The type of the set from TParameterSetType (ERequested, EAcceptable or EGranted)
   411 @return     pointer to the created object
   412 */
   413 CSubConQosR5ParamSet* CSubConQosR5ParamSet::NewL(CSubConParameterFamily& aFamily,CSubConParameterFamily::TParameterSetType aType)
   414     {
   415     CSubConQosR5ParamSet* obj = NewL();
   416     CleanupStack::PushL(obj);
   417     aFamily.AddExtensionSetL(*obj, aType);
   418     CleanupStack::Pop(obj);
   419     return obj;
   420     }
   421 
   422 /**
   423 @param      aFamily the parameter family to which the newly created object is to be added
   424 @param      aType The type of the set from TParameterSetType (ERequested, EAcceptable or EGranted)
   425 @return     pointer to the created object
   426 */
   427 CSubConQosR5ParamSet* CSubConQosR5ParamSet::NewL(RParameterFamily& aFamily, RParameterFamily::TParameterSetType aType)
   428     {
   429     CSubConQosR5ParamSet* obj = NewL();
   430     CleanupStack::PushL(obj);
   431     aFamily.AddParameterSetL(obj, aType);
   432     CleanupStack::Pop(obj);
   433     return obj;
   434     }
   435 
   436 /**
   437 @return     pointer to the created object
   438 */
   439 CSubConQosR5ParamSet* CSubConQosR5ParamSet::NewL()
   440     {
   441     STypeId typeId = STypeId::CreateSTypeId(KSubCon3GPPExtParamsFactoryUid, KSubConQosR5ParamsType);
   442     return static_cast<CSubConQosR5ParamSet*>(CSubConParameterSet::NewL(typeId));
   443     }
   444 
   445 /**
   446 */
   447 CSubConQosR5ParamSet::CSubConQosR5ParamSet()
   448     : iSrcStatsDesc(RPacketQoS::ESourceStatisticsDescriptorUnknown), iSignallingIndicator(EFalse)
   449     {
   450     }
   451 
   452 /** Gets the signalling nature of the SDU's. Signalling traffic can have different characteristics
   453 to other interactive traffic, eg higher priority, lower delay and increased peakiness. This attribute
   454 permits enhancing the Radio Access Network (RAN) operation accordingly. See 3GPP TS 23.107
   455 @return the signalling nature of the SDU's.
   456 */
   457 TBool CSubConQosR5ParamSet::GetSignallingIndicator() const
   458     {
   459     return iSignallingIndicator;
   460     }
   461 
   462 /** Sets signalling nature of the SDU's. This attribute is additional to the other QoS
   463 attributes and does not over-ride them. Signalling traffic can have different characteristics
   464 to other interactive traffic, eg higher priority, lower delay and increased peakiness. This
   465 attribute permits enhancing the Radio Access Network (RAN) operation accordingly. An example use of
   466 the Signalling Indication is for IMS signalling traffic. See 3GPP TS 23.107
   467 @param aSignallingIndicator Value to which to set the signalling indicator. */
   468 void CSubConQosR5ParamSet::SetSignallingIndicator(TBool aSignallingIndicator)
   469     {
   470     iSignallingIndicator = aSignallingIndicator;
   471     }
   472 
   473 /** @return the source of the SDU's. */
   474 RPacketQoS::TSourceStatisticsDescriptor CSubConQosR5ParamSet::GetSourceStatisticsDescriptor() const
   475     {
   476     return iSrcStatsDesc;
   477     }
   478 
   479 /** Sets the source characteristic of the SDU's. Conversational speech has a well-known statistical
   480 behaviour (or the discontinuous transmission (DTX) factor). By being informed that the SDUs for a Radio
   481 Access Bearer (RAB) are generated by a speech source, Radio Access Network (RAN) may, based on experience,
   482 calculate a statistical multiplex gain for use in admission control on the radio and RAN Access interfaces.
   483 @param aSrcStatsDescType Value to which to set the source statistics indicator. */
   484 void CSubConQosR5ParamSet::SetSourceStatisticsDescriptor(RPacketQoS::TSourceStatisticsDescriptor aSrcStatsDescType)
   485     {
   486     iSrcStatsDesc = aSrcStatsDescType;
   487     }
   488 
   489 #endif
   490 // SYMBIAN_NETWORKING_UMTSR5
   491 
   492 /** the Media Component number as specified in 3GPP TS 29.207
   493 @return the media component number portion of the flow identifier
   494 @publishedAll
   495 @released Since 9.3
   496 */
   497 TUint16 TFlowId::GetMediaComponentNumber() const
   498     {
   499     return iMediaComponentNumber;
   500     }
   501 
   502 /** the IP flow number as specified in 3GPP TS 29.207
   503 @return the IP flow portion of the flow identifier
   504 @publishedAll
   505 @released Since 9.3
   506 */
   507 TUint16 TFlowId::GetIPFlowNumber() const
   508     {
   509     return iIPFlowNumber;
   510     }
   511 
   512 /** Sets the media component number portion of the flow identifier. The Media Component number is specified in 3GPP TS 29.207
   513 @param aMediaComponentNumber the media component portion of the flow identifier
   514 @publishedAll
   515 @released Since 9.3
   516 */
   517 void TFlowId::SetMediaComponentNumber(TUint16 aMediaComponentNumber)
   518     {
   519     iMediaComponentNumber = aMediaComponentNumber;
   520     }
   521 
   522 /**
   523 @param the IP flow portion of the flow identifier.
   524 @publishedAll
   525 @released Since 9.3
   526 */
   527 void TFlowId::SetIPFlowNumber(TUint16 aIPFlowNumber)
   528     {
   529     iIPFlowNumber = aIPFlowNumber;
   530     }
   531 
   532 
   533 //===========================
   534 // Implementation Extension class
   535 /**
   536 @publishedAll
   537 @released Since 9.3
   538 */
   539 CSubConSBLPR5ExtensionParamSet::CSubConSBLPR5ExtensionParamSet()
   540     : CSubConExtensionParameterSet()
   541     {
   542     }
   543 
   544 /**
   545 @publishedAll
   546 @released Since 9.3
   547 */
   548 CSubConSBLPR5ExtensionParamSet::~CSubConSBLPR5ExtensionParamSet()
   549     {
   550     iFlowIds.Close();
   551     }
   552 
   553 /**
   554 @param      aFamily the sub-connection parameter family to which the newly created object is to be added
   555 @param      aType The type of the set from TParameterSetType (ERequested, EAcceptable or EGranted)
   556 @return     pointer to the created object
   557 @publishedAll
   558 @released Since 9.3
   559 */
   560 CSubConSBLPR5ExtensionParamSet* CSubConSBLPR5ExtensionParamSet::NewL(CSubConParameterFamily& aFamily, CSubConParameterFamily::TParameterSetType aType)
   561     {
   562     CSubConSBLPR5ExtensionParamSet* sblpExtn = NewL();
   563     CleanupStack::PushL(sblpExtn);
   564     aFamily.AddExtensionSetL(*sblpExtn, aType);
   565     CleanupStack::Pop(sblpExtn);
   566     return sblpExtn;
   567     }
   568 
   569 /**
   570 @param      aFamily the parameter family to which the newly created object is to be added
   571 @param      aType The type of the set from TParameterSetType (ERequested, EAcceptable or EGranted)
   572 @return     pointer to the created object
   573 @publishedAll
   574 @released Since 9.3
   575 */
   576 CSubConSBLPR5ExtensionParamSet* CSubConSBLPR5ExtensionParamSet::NewL(RParameterFamily& aFamily, RParameterFamily::TParameterSetType aType)
   577     {
   578     CSubConSBLPR5ExtensionParamSet* obj = NewL();
   579     CleanupStack::PushL(obj);
   580     aFamily.AddParameterSetL(obj, aType);
   581     CleanupStack::Pop(obj);
   582     return obj;
   583     }
   584 
   585 /**
   586 @return     pointer to the created object
   587 @publishedAll
   588 @released Since 9.3
   589 */
   590 CSubConSBLPR5ExtensionParamSet* CSubConSBLPR5ExtensionParamSet::NewL()
   591     {
   592     STypeId typeId = STypeId::CreateSTypeId(KSubCon3GPPExtParamsFactoryUid, KSubConnSBLPR5ExtensionParamsType);
   593     return static_cast<CSubConSBLPR5ExtensionParamSet*>(CSubConParameterSet::NewL(typeId));
   594     }
   595 
   596 /**
   597 @return     the media authorisation token
   598 @publishedAll
   599 @released Since 9.3
   600 */
   601 const TAuthToken& CSubConSBLPR5ExtensionParamSet::GetMAT() const
   602     {
   603     return iAuthToken;
   604     }
   605 
   606 /**
   607 @param      aAuthToken sets the media authorisation token
   608 @publishedAll
   609 @released Since 9.3
   610 */
   611 void CSubConSBLPR5ExtensionParamSet::SetMAT(const TAuthToken& aAuthToken)
   612     {
   613     iAuthToken = aAuthToken;
   614     }
   615 
   616 /**
   617 @return the number of flow indexes in this session
   618 @publishedAll
   619 @released Since 9.3
   620 */
   621 TInt CSubConSBLPR5ExtensionParamSet::GetNumberOfFlowIds() const
   622     {
   623     return iFlowIds.Count();
   624     }
   625 
   626 /**
   627 @param      aIndex the index of the flow identifier that will be returned.
   628 @return     the flow identifier at the index given by aIndex.
   629 @publishedAll
   630 @released Since 9.3
   631 */
   632 const TFlowId& CSubConSBLPR5ExtensionParamSet::GetFlowIdAt(TInt aIndex) const
   633     {
   634     return iFlowIds[aIndex];
   635     }
   636 
   637 /**         adds a flow identifier to this session.
   638 @param      aFlowId the flow indentifier to be added.
   639 @publishedAll
   640 @released Since 9.3
   641 */
   642 void CSubConSBLPR5ExtensionParamSet::AddFlowIdL(const TFlowId & aFlowId)
   643     {
   644     iFlowIds.AppendL(aFlowId);
   645     }
   646 
   647 #endif
   648 // QOS3GPP_SUBCONPARAMS_INL
   649