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