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